最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一篇文章帶你了解C語言:入門基礎

 更新時間:2021年08月03日 16:27:15   作者:AKA你的閨蜜  
這篇文章主要介紹了C語言入門之基礎知識詳解,文中有非常詳細的C語言使用教程及相關基礎知識,對正在學習c語言的小伙伴們有非常好的幫助,需要的朋友可以參考下

閑話少說,先上思維導圖。

如圖所示,現(xiàn)在還是初識C語言的第一部分,本次只介紹了C語言本身特點,數(shù)據(jù)類型,常量變量,字符串轉義字符注釋,選擇循環(huán)語句,函數(shù),數(shù)組。

接下來請和我一起粗略地探討其中內(nèi)涵所在。

C語言本身特點

這是C語言的定義:

C語言是一門通用計算機編程語言,廣泛應用于底層開發(fā)。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產(chǎn)生少量的機器碼以及不需要任何運行環(huán)境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規(guī)格寫出的C語言程序可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業(yè)平臺。

二十世紀八十年代,為了避免各開發(fā)廠商用的C語言語法產(chǎn)生差異,由美國國家標準局為C語言制定了一套完整的美國國家標準語法,稱為ANSI C,作為C語言最初的標準。 [1] 目前2011年12月8日,國際標準化組織(ISO)和國際電工委員會(IEC)發(fā)布的C11標準是C語言的第三個官方標準,也是C語言的最新標準,該標準更好的支持了漢字函數(shù)名和漢字標識符,一定程度上實現(xiàn)了漢字編程。

C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。

其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

但總結其特點就是

1.底層開發(fā),

2.國際標準 ANSI C,

3.面向過程

#include <stdio.h>
//stdio-標準輸入輸出  standard input & output headfile
//int -整型-整數(shù)的類型
//主函數(shù)
//main函數(shù)是程序的入口
//唯一性有且僅有一個
int main()
{
	//庫函數(shù)-打印函數(shù)-輸出函數(shù)
	printf("hello world!\n");
	printf("hello world!\n");
	printf("hello world!\n");

	return 0;
}
//這種寫法明確告訴你,main函數(shù)不需要傳參
int main(void)
{
}
//這種寫法有用,但不是重點
int mian(int argc, char* argv[])
{
}

數(shù)據(jù)類型

C語言主要有六種數(shù)據(jù)類型,分別為字符型char,短整型short,整形int,長整型long,單精度浮點型float以及雙精度浮點型double。

這六種分別有自己的字符長度即其所建變量所占的空間,char最小只要1個字節(jié),short占2個,int占4個,long一般是4個,也有可能是8個,反正只要滿足long的字節(jié)長度大于等于int就可以了。兩個浮點型的最為特殊,分別是4和8,顯然雙精度的精度更高。

int main()
{
	//如何計算一個類型創(chuàng)建的變量所占空間的大小
	//sizeof();
	printf("%d\n", sizeof(char));//1個字節(jié)
	printf("%d\n", sizeof(short));//2個字節(jié)
	printf("%d\n", sizeof(int));//4個字節(jié)
	printf("%d\n", sizeof(long));//4個字節(jié)
	printf("%d\n", sizeof(long long));//8個字節(jié)
	printf("%d\n", sizeof(float));//4個字節(jié)
	printf("%d\n", sizeof(double));//8個字節(jié)
return 0;
}

常量變量

變量分類

顯而易見的是,分為兩類變量和常量講述。變量又分兩類,一是局部變量,二是全局變量。

顧名思義,局部變量是定義在一對大括號內(nèi)的,顯然我們平時在main函數(shù)里創(chuàng)建的都是局部變量,全局變量則為定義在大括號外面的變量。當二者同名時,局部變量優(yōu)先,當然,這種代碼誰寫誰SB。

使用小建議

在程序中使用scanf函數(shù),若程序為scanf("%d%d");%d%d之間不管有沒有空格,輸入變量時都要用空格隔開,若二者之間有逗號則逗號隔開。

生命周期作用域

對這二者討論他們的作用域和生命周期的話,全局變量的作用域為整個工程文件,若想在其他.c文件中使用則需要extern聲明一下,生命周期呢,則是整個工程的生命周期,也就是main函數(shù)的生命周期。局部變量的作用域為其定義的大括號{ }內(nèi),進作用域生命開始,出則結束。

//驗證局部變量的作用域 
int main()
{
	int b = 100;//主函數(shù)任意位置
	{
		int a = 10;//局部變量作用域:局部所在范圍
		printf("a=%d\n", a); 
		printf("b=%d\n", b);
	}
	//printf("a=%d\n", a);
	printf("b=%d\n", b);

	return 0;
}

//驗證全局變量的作用域為整個工程
int a = 200;
void test()
{
	printf("test:%d\n", a);
}
int main()
{
	test();
	printf("main:%d\n", a);//全局變量可以任意使用
	return 0;
}
//全局變量在其他源文件的使用
//轉到test1.c文件查看
int g_val = 110;

//驗證局部變量的生命周期為進作用域到出作用域
int main()
{
	{
		int a = 100;
		printf("%d\n", a);
	}
	printf("%d\n", a);//出作用域即生命周期結束
	return 0; 
}

//全局變量的生命周期為整個工程即main函數(shù)生命周期
int main()
{
	printf("%d\n", g_val);

	return 0;
}

常量分類及其特點

常量呢,大致分為四種,1字面常量,2const修飾的常變量,3#define定義的標識符常量,4枚舉常量。

第一種,字面常量就是隨便寫出來的一個數(shù),如3.14就是一個字面常量。

第二種,const修飾的常變量,即在創(chuàng)建變量時加上const修飾,如const int a=0;這樣變量a就具有了常屬性,不可被修改。但值得注意的是,常變量一詞,它仍然是個變量,不可用于定義數(shù)組。

//const修飾的變量
int main()
{
	//局部變量
	int a = 200;
	//不可被改變的屬性,常屬性
	const int a = 110;
	a = 100;
	printf("%d\n", a); 
	//const修飾的變量不可定義數(shù)組
	//(常變量)
	int n = 110;
	int arr[n] = { 0 };//數(shù)組

	return 0;
}

第三種,#define定義的常量,寫法如 #define N 10,這是真真正正的常量,可以用來定義數(shù)組。同樣也是不可修改的(常量當然不可被修改)。

#define PAI 314
int main()
{
	int a = PAI;
	printf("a=%d\n", a);
	//MAX = 300;//#define定義的變量不可被修改
	//可用于定義數(shù)組
	int arr[PAI] = { 0 };
	return 0;
}

第四種,枚舉常量,具體使用方法像enum sex {MALE,F(xiàn)EMALE,SECRET};這樣就得到了枚舉常量,各自都是有初值的,分別為0,1,2依次類推,當然也可以自己賦值。

//枚舉常量 SEX性別舉例
//可以一一列舉的值,性別,三原色
enum Sex
{
	//枚舉的可能取值
	MALE=3,//賦初值
	FEMALE=8,
	SECRET//向后延一個為9
};
int main()
{
	//FEMALE = 99;//ERR 枚舉變量值不可修改
	enum Sex a=MALE;
	enum Sex s = FEMALE;
	printf("%d\n", MALE);
	printf("%d\n", FEMALE);
	printf("%d\n", SECRET);
	return 0;
}

字符串+轉義字符+注釋

字符串

被單引號引起來的,如'w','r'是字符,被雙引號引起來的"yyx","abcdef"是字符串。字符串一般以'\0'結尾隱含在字符串的末尾。既然'\0'為字符串結束標志,在計算字符串長度時當然不算作字符串內(nèi)容。

//字符,字符串
int main()
{
	//'a', ' ' , 'X' - 字符
	//"abc"   "123" - 字符串
	//"abcdef"; //字符串字面值
	//①
	char ch1[] = "abcdef";//初始化字符數(shù)組
	//a ,b ,c ,d ,e ,f ,\0  
	//%s - 打印字符串
	//strlen - 打印字符串長度,(遇\0則停止,本身不算)\0是字符串結束標志
	printf("%s\n", ch1);	
	//abcdef 
	printf("%d\n", strlen(ch1));//6
	//②
	char ch2[] = { 'a','b','c','d','e','f' };
	//a ,b ,c ,e ,f  
	printf("%s\n", ch2);
	//abcdef燙燙燙燙燙abcdef
	printf("%d\n", strlen(ch2));//22,找不到\0
	//③
	char ch3[] = { 'a','b','c','d','e','f','\0' };
	//a ,b ,c ,d ,e ,f ,\0
	printf("%s\n", ch3);
	//abcdef
	printf("%d\n", strlen(ch3));//6

	return 0;
}

轉義字符

有防止單引號,雙引號,反斜杠被轉移的' \' ' , ' \" ',' \\ ' 。警告,蜂鳴的' \a ' ,退格符' \b ',進紙符' \f ',換行符' \n ',回車符' \r ',水平制表符' \t ',垂直制表位' \v ',八進制數(shù)字' \ddd ',十六進制數(shù)字' \xdd ' 。

#include <stdio.h>
int main()
{
	printf("c:\code\test.c\n");//c:code  est.c
	printf("c:\\code\test.c\n");//c:\code  est.c
    //單個\是轉義序列符,但這里又沒有\(zhòng)c的轉義字符,所以系統(tǒng)自動忽略該\
	//想要出現(xiàn)該\,則必須要搭配兩個\\,防止其被轉義

	return 0;
}
// \?
//三字母詞 
// ??) --> ]   ??( --> [
//\' \"																			
int main()
{
	printf("%c\n", 'a');
	printf("%c\n", 'b');
	printf("%c\n",'\'');//在'前面加上\,以單純的將其視為字符'
	printf("%s\n", "\"");// \"
	return 0;
}
//\a \b \f \v \t \n \r
//\ddd八進制數(shù)字  \xdd十六進制數(shù)字
int main()
{
	printf("%c\n", '\165');
	//打印八進制數(shù)字065轉化為十進制數(shù)字53所代表的字符(ASCII碼)
	printf("%d\n", '\165');
	//打印八進制數(shù)字065轉化為十進制數(shù)字53
	printf("%c\n", '\x15');
	printf("%d\n", '\x15');//21
	return 0;
}

兩種注釋

C++的風格 //xxxxx ,這種只能注釋一行。C語言的風格 /*xxxxx*/ ,不可嵌套注釋。

選擇循環(huán)語句

選擇語句,實現(xiàn)分支。具體情況為 if ( 條件 ) { 語句 } else ( 條件 ) { 語句 };循環(huán)語句,有while循環(huán),do...while循環(huán)和for循環(huán)。

int main()
{
	int i = 0;
	printf("加入比特\n");
	printf("要好好敲代碼嗎(1/0)?\n");
	scanf("%d", &i);
	if (i == 1)
	{
		printf("好offer\n");
	}
	else
	{
		printf("藥丸\n");
	}
	return 0;
}
int main()
{
	int line = 0;
	printf("加入比特\n");
	while (line<20000)
	{
		printf("敲%d了代碼\n",line);
		line++;
	}
	printf("牛逼壞了拿到了好offer\n");
	return 0;
}

函數(shù)

函數(shù)主要傳參和返回值的類型要對應

int ADD(int num1, int num2)
{
	scanf("%d %d", &num1, &num2);
	int sum = num1 + num2;
	return sum;
}
int main()
{
	int num1 = 0;
	int num2 = 0;
	輸入
	//scanf("%d %d", &num1, &num2);
	相加
	//int sum = num1+num2;
	輸出
	//printf("sum=%d\n", sum);
	
	//int output = ADD(num1,num2);
	//printf("%d\n", output);
	printf("%d\n", ADD(num1, num2));

	return 0;
}

數(shù)組

定義是一組相同類型的元素組成的集合,數(shù)組的使用是根據(jù)下標來的,從0開始數(shù)。

int main()
{
	//數(shù)組 - 相同元素的集合
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		printf("%3d", arr[i]);
	}
	printf("\n");
	for (i = 9; i >= 1; i--)
	{
		printf("%3d", arr[i]);
	}
	return 0;
}

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!

相關文章

  • 餐館點菜系統(tǒng)C語言源代碼

    餐館點菜系統(tǒng)C語言源代碼

    這篇文章主要為大家詳細介紹了餐館點菜系統(tǒng)C語言源代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • C++ 中try finally關鍵字詳解

    C++ 中try finally關鍵字詳解

    本文給大家介紹C++ 中try finally關鍵字的相關知識,非常不錯,本文介紹的非常詳細,具有參考借鑒價值,感興趣的朋友一起學習吧
    2016-05-05
  • C語言switch語句詳解

    C語言switch語句詳解

    這篇文章主要為大家介紹了C語言switch語句,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 深度理解c++中的this指針

    深度理解c++中的this指針

    這篇文章主要介紹了C++編程指向成員的指針以及this指針的基本使用指南,與C語言一樣,存儲的數(shù)值被解釋成為內(nèi)存里的一個地址,需要的朋友可以參考下。
    2016-07-07
  • 基于Matlab實現(xiàn)嗅覺優(yōu)化算法的示例代碼

    基于Matlab實現(xiàn)嗅覺優(yōu)化算法的示例代碼

    嗅覺劑優(yōu)化是一種新穎的優(yōu)化算法,旨在模仿氣味分子源尾隨的藥劑的智能行為。本文將利用Matlab實現(xiàn)這一智能優(yōu)化算法,需要的可以參考一下
    2022-05-05
  • 更優(yōu)雅的C++字符串格式化實現(xiàn)方法詳解

    更優(yōu)雅的C++字符串格式化實現(xiàn)方法詳解

    在用C++編寫代碼時,經(jīng)常需要用到字符串拼接及格式化,尤其是在拼寫sql語句時。所以本文為大家介紹了更優(yōu)雅的C++字符串格式化實現(xiàn)方法,希望對大家有所幫助
    2023-04-04
  • C++ 算法之希爾排序詳解及實例

    C++ 算法之希爾排序詳解及實例

    這篇文章主要介紹了C++ 算法之希爾排序算法詳解及實例的相關資料,需要的朋友可以參考下
    2017-05-05
  • 用C語言實現(xiàn)推箱子游戲實例

    用C語言實現(xiàn)推箱子游戲實例

    大家好,本篇文章主要講的是用C語言實現(xiàn)推箱子游戲實例,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • 解析C++中構造函數(shù)的默認參數(shù)和構造函數(shù)的重載

    解析C++中構造函數(shù)的默認參數(shù)和構造函數(shù)的重載

    這篇文章主要介紹了解析C++中構造函數(shù)的默認參數(shù)和構造函數(shù)的重載,是C++入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • 舉例講解C語言對歸并排序算法的基礎使用

    舉例講解C語言對歸并排序算法的基礎使用

    這篇文章主要介紹了C語言對歸并排序算法的使用,歸并排序算法的平均事件復雜度為(n\log n),需要的朋友可以參考下
    2016-05-05

最新評論

莎车县| 建水县| 河津市| 乐安县| 万源市| 揭阳市| 潮安县| 宁津县| 龙泉市| 怀仁县| 蒲城县| 蕲春县| 上饶市| 徐水县| 古浪县| 建水县| 武乡县| 甘谷县| 上饶县| 离岛区| 耒阳市| 内丘县| 沈丘县| 金平| 綦江县| 富裕县| 镇巴县| 蚌埠市| 西盟| 来凤县| 固安县| 日照市| 宁陕县| 灌云县| 惠东县| 堆龙德庆县| 萨嘎县| 黄骅市| 凤阳县| 甘谷县| 乌鲁木齐县|