C語言關(guān)鍵字共有32個(gè),根據(jù)用途,可分為四類:
第一類:變量數(shù)據(jù)類型關(guān)鍵字:14個(gè)
第二類:9條基本語句用到的關(guān)鍵字:12個(gè)
第三類:存儲(chǔ)類型關(guān)鍵字:5個(gè)
第四類:運(yùn)算符關(guān)鍵字:1個(gè)
學(xué)技術(shù),重在日拱一卒、一點(diǎn)一滴的積累。今天一起來分析C語言的32個(gè)關(guān)鍵字都有哪些,以及關(guān)鍵字的含義、用途。以下內(nèi)容,只代表個(gè)人觀點(diǎn),不一定對(duì),僅供參考,隨便看看。
C語言的32個(gè)關(guān)鍵字C語言關(guān)鍵字總共有32個(gè),根據(jù)關(guān)鍵字的用途,可分為四類:
第一類:變量數(shù)據(jù)類型關(guān)鍵字:14個(gè)
1.1 char 單字節(jié)整型數(shù)或字符型數(shù)據(jù)
1.2 short短整型數(shù)
1.3 int基本整型數(shù)
1.4 long長(zhǎng)整型數(shù)
1.5 float單精度浮點(diǎn)型數(shù)
1.6 double雙精度浮點(diǎn)型數(shù)
1.7 signed有符號(hào)數(shù)
二進(jìn)制數(shù)據(jù)的最高位為符號(hào)位,最高位是1為負(fù)數(shù),最高位是0為正數(shù)。
1.8 unsigned無符號(hào)數(shù)數(shù)據(jù)
1.9 void無數(shù)據(jù)類型、空數(shù)據(jù)類型
1.10 volatile 該變量在程序執(zhí)行中可被隱含的改變
1.11 typedef 重新進(jìn)行數(shù)據(jù)類型定義
1.12 struct 結(jié)構(gòu)類型數(shù)據(jù)
1.13 enum 枚舉類型數(shù)據(jù)
1.14 union 聯(lián)合類型數(shù)據(jù)
第二類:9條基本語句用到的關(guān)鍵字:12個(gè)
2.1 if ,構(gòu)成選擇語句
2.2 else,構(gòu)成選擇語句
2.3 witch,構(gòu)成選擇語句
2.4 case,構(gòu)成選擇語句
2.5 break,跳出最內(nèi)層循環(huán)
2.6 default,構(gòu)成選擇語句
2.7 for,構(gòu)成循環(huán)語句
2.8 do,構(gòu)成循環(huán)語句
2.9 while,構(gòu)成循環(huán)語句
2.10 continue,轉(zhuǎn)向下一次循環(huán)
2.11 goto,無條件轉(zhuǎn)移語句
2.12 return,函數(shù)返回
第三類:存儲(chǔ)類型關(guān)鍵字:5個(gè)
3.1 const 在程序執(zhí)行過程中不可更改的常量值
3.2 extern 在其它程序模塊中說明了的全局變量
3.3 static 靜態(tài)變量
3.4 register使用CPU內(nèi)部寄存器的變量
3.5 auto 用以說明局部變量,缺省值為此類型變量
第四類:運(yùn)算符關(guān)鍵字:1個(gè)
4.1 sizeof 運(yùn)算符,計(jì)算表達(dá)式或數(shù)據(jù)類型占用的,內(nèi)存的字節(jié)數(shù)。
C語言32個(gè)關(guān)鍵字的用法C語言關(guān)鍵字總共有32個(gè),其中第一類:變量數(shù)據(jù)類型關(guān)鍵字14個(gè),會(huì)在后續(xù)C語言學(xué)習(xí)文章中講解。
第二類:9條基本語句用到的關(guān)鍵字:12個(gè)已經(jīng)在@老牛經(jīng)濟(jì)學(xué) NJS2 淺談C語言入門中分析過。
下面重點(diǎn)分析以下兩類關(guān)鍵字的用法。
第三類:存儲(chǔ)類型關(guān)鍵字:5個(gè)
3.1 const 在程序執(zhí)行過程中不可更改的常量值
C語言程序范例:
charx=9;
const int a=1000;
const char *sp=&a;
char*const ss=&a;
const char *const sz=&a;
程序分析:
第一行代碼:定義x為字符型變量,并賦值為9,后面x變量的值可以被改變。
第二行代碼:定義a為整型變量,賦值為1000,且值不能被改變。
第三行代碼:定義sp為字符型指針,且sp指針指向的地址里面的數(shù)不能被改變。
第四行代碼:定義ss為字符型指針,指針的值,也就是指針指向的地址&a不能被改變,但指針指向地址里面的變量a可被改變。
第五行代碼:定義sz為字符型指針,指針的值,也就是指針指向的地址&a不能被改變,并且指針指向地址里面的變量a也不能被改變。
3.2 extern 在其它程序模塊中說明了的全局變量
extern 關(guān)鍵字在C語言的一個(gè)工程中,有多個(gè).c文件,這些.c文件中如果需要共用相同的變量,可以將該變量定義為extern變量。另外需要注意該變量的作用域。
3.3 static 靜態(tài)變量
static關(guān)鍵字定義該變量為靜態(tài)變量。
如果定義為全局變量的靜態(tài)變量,則和全局變量完全相同,只是靜態(tài)全局變量只能在該.c文件中使用。而全局變量在同一個(gè)工程文件中可以被多個(gè).c文件使用。
如果定義為局部靜態(tài)變量,作用域和局部變量完全相同。并且該局部變量占用的內(nèi)存不會(huì)被優(yōu)化,會(huì)一直存在。
定義為局部靜態(tài)變量,沒有賦值,默認(rèn)為0。
3.4 register使用CPU內(nèi)部寄存器的變量
register表示該變量存儲(chǔ)在cpu的寄存器中,編譯程序相應(yīng)的變量將被頻繁的使用,一般該變量可以加快存儲(chǔ)的速度。
3.5 auto 用以說明局部變量,缺省值為此類型變量
auto char a;和char a;這兩條賦值語句的含義完全相同。
第四類:運(yùn)算符關(guān)鍵字:1個(gè)
4.1 sizeof 運(yùn)算符,計(jì)算表達(dá)式或數(shù)據(jù)類型占用的,內(nèi)存的字節(jié)數(shù)。
C語言程序范例:
unsigned char a,m,n,x,y,z;
unsigned int b;
unsigned char niu[10];
unsigned char*sp;
m=sizeof(a);
n=sizeof(b);
x=sizeof(niu);
y=sizeof(sp);
z=sizoef(*sp);
程序分析:
第一行代碼:定義a,m,n,x,y五個(gè)變量為無符號(hào)字符型變量,這些變量在內(nèi)存中各占用1個(gè)字節(jié),它們的取值范圍為0-255。
第二行代碼:定義b變量為無符號(hào)整型變量,該變量在內(nèi)存中占用4個(gè)字節(jié)。
第三行代碼:定義niu為數(shù)組變量,該數(shù)組長(zhǎng)度為10。
第四行代碼:定義sp為指針變量,該指針指向的內(nèi)存空間,存放的數(shù)為字符型變量。
程序運(yùn)行結(jié)果:
m=1。
n=4。
x=10。
y=4。//sizoef(sp)表示sp指針占用內(nèi)存空間大小。C語言中不論是那種類型的指針,均默認(rèn)占4個(gè)字節(jié)內(nèi)存。
z=1。//sizoef(*sp)表示sp指針指向地址里面的數(shù),占用的內(nèi)存大小。
C語言的關(guān)鍵字,需要在編程中,有意識(shí)的去訓(xùn)練和實(shí)踐,才能達(dá)到熟練應(yīng)用的目標(biāo)。
-
C語言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136820
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論