干貨分享!最適合C/C+新手入門的基礎(chǔ)知識(shí)大匯總,趕快收藏!

在上一節(jié)中,對(duì)于C語(yǔ)言有了一個(gè)初步的了解,學(xué)會(huì)了如何使用IDE來(lái)進(jìn)行

代碼編寫,編譯和運(yùn)行。而這一節(jié),我們會(huì)對(duì)C語(yǔ)言的基本語(yǔ)法進(jìn)行學(xué)習(xí),

C語(yǔ)言是一門編程語(yǔ)言,可以和英語(yǔ)進(jìn)行類比,英語(yǔ)句子 = 單詞 + 語(yǔ)法,

同樣C語(yǔ)言的代碼語(yǔ)句,也有著自己的一套規(guī)則。

本節(jié)學(xué)習(xí)路線圖

1.基本字符集

1.1 標(biāo)識(shí)符

何為標(biāo)識(shí)符?

在C語(yǔ)言中,符號(hào)常量,變量,數(shù)組,函數(shù)等都需要一定的名稱,我們把這種名稱成為標(biāo)識(shí)符

標(biāo)識(shí)符劃分?

關(guān)鍵字,預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符!

標(biāo)識(shí)符的命名規(guī)則?

只能夠由字母,數(shù)字,下劃線,或者美元符號(hào)($)組成,且不能以數(shù)字開(kāi)頭;

C語(yǔ)言區(qū)分大小寫,通常變量名和函數(shù)名都用小寫字母表示;

雖然沒(méi)有規(guī)定名稱的長(zhǎng)度,但還是別寫太長(zhǎng),最好是見(jiàn)名知義,比如int max一看就知道

是用來(lái)存放最大值的!還有,不能和下面的32個(gè)C語(yǔ)言的關(guān)鍵字重名哦!以及C語(yǔ)言

中系統(tǒng)先定義的標(biāo)識(shí)符,如系統(tǒng)類庫(kù),系統(tǒng)常量名系統(tǒng)函數(shù)名,

小編推薦一個(gè)學(xué)C/C++的學(xué)習(xí)裙【六二七,零一二,四六四】,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有很多干貨和技術(shù)分享

如(格式輸出函數(shù):printf());重名!

1.2 關(guān)鍵字「保留字」

何為關(guān)鍵字?

C語(yǔ)言中具有特殊含義的英文單詞,通常用于構(gòu)成語(yǔ)句,存儲(chǔ)數(shù)據(jù),定義數(shù)據(jù)類型等

C語(yǔ)言里的32個(gè)關(guān)鍵字參照?qǐng)D,不用記,用到的時(shí)候再去了解!

1.3 分隔符

空白符:在程序中加入適當(dāng)?shù)目瞻卓s進(jìn)代碼,會(huì)使得程序更加清晰易讀。

普通分隔符

分號(hào)「;」:語(yǔ)句結(jié)尾

大括號(hào)「{ }」:函數(shù)體,復(fù)合語(yǔ)句以及數(shù)組的初始化等;

圓括號(hào)「()」:函數(shù)定義時(shí)用來(lái)括住參數(shù),或者用來(lái)修改運(yùn)算順序,

比如:(a + 1)2 和 a + (1 2)

方括號(hào)「[]」定義數(shù)組類型和應(yīng)用元素,比如: int a10; b = a3;

點(diǎn)號(hào)「.」:結(jié)構(gòu)體仲引用成員

逗號(hào)「,:參數(shù)分隔,比如:int a,b,c;

注釋符:// 單行注釋, /**/多行注釋

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

2.1 基本數(shù)據(jù)類型

注意:這里沒(méi)有給出數(shù)據(jù)類型的取值范圍與精度域?qū)挼龋詾樵诓煌挠?jì)算機(jī)

字長(zhǎng)與系統(tǒng)環(huán)境下占用的內(nèi)存空間是不一樣的,可以通過(guò)sizeof獲得對(duì)應(yīng)數(shù)據(jù)類

型在該系統(tǒng)環(huán)境下所占的字節(jié),從而算出對(duì)應(yīng)數(shù)據(jù)類型的取值范圍!

整型:用于準(zhǔn)確地表示整數(shù),根據(jù)表示范圍的不同分為以下三種:

短整型(short)

實(shí)型(浮點(diǎn)型):用于標(biāo)識(shí)實(shí)數(shù)(小數(shù))根據(jù)范圍和精度不同分為以下兩種:

單精度浮點(diǎn)數(shù)(float)

注意:float只能夠保證7位數(shù)字是有效的!!!

字符型: 用來(lái)描述單個(gè)字符,char

除了上面三種以外,還可以使用longshortsignedunsigned來(lái)修飾不同的數(shù)據(jù)類型:

(char只能用后面兩個(gè)),有符號(hào)與無(wú)符號(hào)的區(qū)別是:最高位是否為符號(hào)位,

即最高位是否用于表示數(shù)的整負(fù);我們可以添加unsigned來(lái)保證此數(shù)據(jù)為正數(shù),

同時(shí)對(duì)應(yīng)的數(shù)據(jù)范圍由0到原來(lái)的最大值 * 2

2.2 其他數(shù)據(jù)類型

數(shù)組,指針,結(jié)構(gòu)體,共用體,枚舉,指針類型,文件類型,空類型(void),后面會(huì)學(xué),這里不講。

3.常量與變量

3.1 常量

整型常量

除上述三種外,還可以在常量后面添加后綴:L或者U,比如:

108L表示長(zhǎng)整型的常量,與108雖然數(shù)值相等,但分配的內(nèi)存空間大小是不一樣的;

0xA3U:表示無(wú)符號(hào)位的十六進(jìn)制數(shù)0xA3

實(shí)型常量

Tips:所謂的規(guī)范化的指數(shù)形式就是:小數(shù)點(diǎn)左邊有一位非零的數(shù)字(只有一位)

比如:2.4E3 是對(duì)的,而0.1E5 則是錯(cuò)的。

字符常量

附上C里的轉(zhuǎn)義字符:

轉(zhuǎn)義字符作用轉(zhuǎn)義字符作用轉(zhuǎn)義字符作用轉(zhuǎn)義字符作用

\n回車換行\(zhòng)t水平制表\v垂直制表\b退格

\r回車不換行\(zhòng)f走紙換頁(yè)\0控制符\\右斜線

\'單引號(hào)\"雙引號(hào)\a響鈴

字符串常量

用一對(duì)雙引號(hào)括起來(lái)的或者多個(gè)字符構(gòu)成的字符串序列,如:

“”,”apple”,”+-*/@#$%”

系統(tǒng)會(huì)在存儲(chǔ)字符串的時(shí)候自動(dòng)加上:‘\0’,字符串結(jié)束的標(biāo)志

如:”a”這個(gè)字符串占兩個(gè)字節(jié),因?yàn)榇鎯?chǔ)的時(shí)候其實(shí)是:”a\0”

符號(hào)常量

又叫宏常量,是一個(gè)預(yù)處理命令:#define 常量名 常量值

定義后,程序所有出現(xiàn)這個(gè)標(biāo)識(shí)的地方都可以用這個(gè)常量來(lái)代替:

如: #define PI 3.1415926 s = r * r * PI,這里的PI就是3.1415926

3.2 變量

什么是變量?

答:程序運(yùn)行過(guò)程中,他的值可以改變的數(shù)據(jù),代表著一個(gè)存儲(chǔ)空間,需要用變量名

來(lái)找到這個(gè)數(shù)據(jù)就像:你去超市,放東西到儲(chǔ)物柜的一格,他會(huì)給你一張紙條,你根據(jù)

這個(gè)紙條才可以拿回自己的東西儲(chǔ)物柜的一格就是變量的內(nèi)存空間,字條就是變量名,

你拿和放就是修改變量名對(duì)應(yīng)內(nèi)存中的數(shù)據(jù)。

變量的使用:

一個(gè)簡(jiǎn)單的 int a = 123;其實(shí)暗地里執(zhí)行了以下操作

int a:在內(nèi)存中開(kāi)辟了四個(gè)字節(jié)的內(nèi)存空間,并且為這個(gè)空間起了個(gè)名字,叫做a;

后面的=123,這一步完成的是變量的初始化,就是通過(guò)a這個(gè)變量名,往4個(gè)字節(jié)的

內(nèi)存中放入123這個(gè)數(shù)據(jù)

Tips:

一個(gè)好的建議是,當(dāng)我們定義一個(gè)變量時(shí),對(duì)其進(jìn)行初始化,可以有效的

避免空指針問(wèn)題的出現(xiàn);

你可以通過(guò)&a獲得存放123這個(gè)數(shù)據(jù)的內(nèi)存地址的值!

4.運(yùn)算符與表達(dá)式

4.1 算術(shù)運(yùn)算符

經(jīng)典例子:倒序輸出五位數(shù)

#include

int main() {

int a,i;

printf("請(qǐng)輸入需要倒序輸出的五位數(shù)\n");

scanf("%d",&a);

printf("輸出倒序后的五位數(shù):\n");

for(i = 0;i

{

printf("%d",a%10);

a /= 10;

}

printf("\n");

return 0;

}

4.2 關(guān)系運(yùn)算符

經(jīng)典例子:

#include

int main()

{

int a = 1,b = 2,c = 3;

int x,y;

x = a + b == c; //結(jié)果為1為真

y = 11 >b != a; //11 >b 結(jié)果為真,即為1, 1 != 1,假

printf("x = %d,y = %d\n",x,y);

return 0;

}

4.3 邏輯運(yùn)算符

經(jīng)典例子:判斷某一年是否為閏年

#include

int main()

{

int year;

printf("請(qǐng)輸入需要判斷的年份:\n");

scanf("%d",&year);

if(!(year%4)&&year%100 || !(year % 400))

{

printf("%d年是閏年\n",year);

}

else

printf("%d年不是閏年!\n,year");

return 0;

}

4.4 賦值運(yùn)算符

經(jīng)典例子:賦值運(yùn)算符的嵌套,一般題目會(huì)問(wèn)某個(gè)變量在某時(shí)刻的值

#include

int main() {

int a,b,c;//普通賦值:

a = 2,b= 6,c = 26;

a *= b = c = 3; //a = 6,b=3,c=3;

printf("a = %d,b = %d,c = %d\n",a,b,c);

a += b +=c;//a = 12,b=6,c =3

printf("a = %d,b = %d,c = %d\n",a,b,c);

a = b == c + 5;//a = 0,b = 6,c = 3

printf("a = %d,b = %d,c = %d\n",a,b,c);

return 0; }

4.5 條件表達(dá)式

經(jīng)典例子:用條件表達(dá)式實(shí)現(xiàn)求三個(gè)數(shù)的最大值

#include int main()

{

int a,b,c;

int max;

printf("請(qǐng)輸入三個(gè)數(shù):\n");

scanf("%d%d%d",&a,&b,&c);

a > b ? (max = a):(max = b);

max

printf("輸出最大值:%d\n",max);

return 0;

}

4.6 逗號(hào)表達(dá)式

經(jīng)典例子:逗號(hào)表達(dá)式的值

#include

int main() {

//int a = b = c = 5;是不合法的??!

int a,b,c;

a = b = c = 1;

c = (a = 10,b = 10,2 * a + 5,a + a * b + c); //輸出結(jié)果:10,10,111;

printf("a = %d,b = %d,c = %d\n",a,b,c);

return 0;

}

4.7 長(zhǎng)度測(cè)試運(yùn)算符

sizeof:通常用來(lái)測(cè)試某個(gè)數(shù)據(jù)類型所占的內(nèi)存空間大小

經(jīng)典例子:測(cè)試的是int,float,char類型在本機(jī)所占的字節(jié)數(shù)

#include

int main()

{

int a = 1;

float b = 1.1;

char c = 'c';

printf("%d,%d,%d\n",sizeof(a),sizeof(b),sizeof(c));

return 0;

}

4.8 運(yùn)算符的優(yōu)先級(jí)

口訣:括號(hào)最大 > ! > 算數(shù)運(yùn)算符 > 關(guān)系運(yùn)算符 > 邏輯與或 > ?賦值運(yùn)算符

附上C語(yǔ)言運(yùn)算符優(yōu)先級(jí)表(詳細(xì)):

C語(yǔ)言運(yùn)算符的優(yōu)先級(jí)

另外,記得口訣就好,不要去記表,用到的時(shí)候再查,查多久熟了。

5.數(shù)據(jù)類型的轉(zhuǎn)換

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容