在剛開始學(xué)C語言時,往往一些定義和用法搞不清,需要查書的,站長結(jié)合實(shí)際把常用的語法打出供您參考和備忘。 1、標(biāo)識符 可由字母,數(shù)字和下劃線組成。標(biāo)識符必須以字母或下劃線開頭。大,小寫的字母分別認(rèn)為是兩個不同的字符。不同的系統(tǒng)對標(biāo)識的字符的字符數(shù)有不同的規(guī)定,一般允許7個字符。 2。常量 可以使用: 1整型常量 十進(jìn)制常數(shù)。 八進(jìn)制常數(shù)(以0開頭的數(shù)字序列)。 十六進(jìn)制常數(shù)(以0X開頭的數(shù)字序列)。 長整型常數(shù)(在數(shù)字后加字符L或L)。 2字符常量 用單撇號括起來的一個字符,可以使用轉(zhuǎn)義字符。 3實(shí)型常量(浮點(diǎn)型常量) 小數(shù)形式。 指數(shù)形式。 4字符串常量 用雙撇號括起來的字符序列。 3 表達(dá)式 (1)算術(shù)表達(dá)式 整型表達(dá)式:參加運(yùn)算的運(yùn)算量是整型量,結(jié)果也是整型數(shù)。 實(shí)型表達(dá)式:參加運(yùn)算的運(yùn)算是實(shí)型量,運(yùn)算過程中先轉(zhuǎn)換成double型,結(jié)果為double型。 (2)邏輯表達(dá)式 用邏輯運(yùn)算符連接的整型量,結(jié)果為一個整數(shù)0或1。邏輯表達(dá)式可以認(rèn)為是整型表達(dá)式的一種特殊形式。 (3)字位表達(dá)式 用位運(yùn)算符連接的整型量,結(jié)果為整數(shù)。字位表達(dá)式也可以認(rèn)為是整型表達(dá)式的一種特殊形式。 (4)強(qiáng)制類型轉(zhuǎn)換表達(dá)式 用“(類型)”運(yùn)算符使表達(dá)式的類型進(jìn)行強(qiáng)制轉(zhuǎn)換。 (5)逗號表達(dá)式(順序表達(dá)式) 形式為 表達(dá)式1,表達(dá)式2 表達(dá)式n 順序求出表達(dá)式1,表達(dá)式2 表達(dá)式n的值。結(jié)果為表達(dá)式n的值。 (6)賦值表達(dá)式 將賦值號“=”右側(cè)表達(dá)式的值賦值號左邊的變量。賦值表達(dá)式的值為執(zhí)行賦值后被賦值的變量的值。 (7)條件表達(dá)式 形式為 邏輯表達(dá)式?表達(dá)式1:表達(dá)式2 邏輯表達(dá)式的若為非零,則條件表達(dá)式的值等于表達(dá)式1的值;若邏輯表達(dá)式的值為零,則條件表達(dá)式的值等于表達(dá)式2的值。 (8)指針表達(dá)式 對指針類型的數(shù)據(jù)進(jìn)行運(yùn)算。例如,p-2,p1-p2等(其中p,P1,P2均已定義為指向數(shù)組的指針變量,p1與p2指向同一數(shù)組中的元素),結(jié)果為指針類型。 以上各種表達(dá)式可以包含有關(guān)的運(yùn)算符,也可以是不包含任何運(yùn)算符的初等量(例如,常數(shù)是算術(shù)表達(dá)式的最簡單的形式)。 4 數(shù)據(jù)定義 對程序中用到的所有變量都需要進(jìn)行定義。對數(shù)據(jù)要定義其數(shù)據(jù)類型,需要時要指定其存儲類別。 (1)類型標(biāo)識符可用 int short long unsigned char float double struct 結(jié)構(gòu)體名 union 共用體名 enum 枚舉型名 用typedef定義的類型名 結(jié)構(gòu)體與共同體的定義形式為 struct 結(jié)構(gòu)體名 {成員表列}; union 共用體名 {成員表列}; 用typedef定義新類型名的形式為 typedef 已有類型 新定義類型; 如: typedef int COUNT;//就是在有INT的地方都可以用COUNT代替 (2)存儲類別可用 auto//一般默認(rèn) static register extren (如不指定存儲類別,作auto處理) 變量的定義形式為 存儲類別 數(shù)據(jù)類型 變量表列; 例如: static float a,b,c; 注意外部數(shù)據(jù)定義只能用extern或static,而不能用auto或register. 5 函數(shù)定義 形式為 存儲類別 數(shù)據(jù)類型 函數(shù)名(形參表列) 函數(shù)體 函數(shù)的存儲類別只能用extern或static.函數(shù)體是用花括弧括起來的,可包括數(shù)據(jù)定義和語句.函數(shù)的定義舉例如下: static int max (int,int y) { int z; z=x>y?x:y; return (z); } 6 變量的初始化 可以在定義時對變量或數(shù)組指定初始值. 靜態(tài)變量或外部變量如未初始化,系統(tǒng)自動使其初值為零或空.對自動變量或寄存器變量,若未初始化,則其初值為一不可預(yù)測的數(shù)據(jù). 7語句 (1)表達(dá)式語句; (2)函數(shù)調(diào)用語句; (3)控制語句; (4)復(fù)合語句; (5)空語句. 其中控制語句包括: (1)if(表達(dá)式)語句 或 if(表達(dá)式)語句1 else 語句2 (2)while(表達(dá)式)語句 (3)do語句 while(表達(dá)式); (4)for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語句 (5)switch(表達(dá)式) {case 常量表達(dá)式1: 語句1; case 常量表達(dá)式2: 語句2; case 常量表達(dá)式n: 語句n; default;語句n+1; } 前綴case和default本身并不改變控制流程,它們只起標(biāo)號作用,在執(zhí)行上一個case所標(biāo)志的語句后,繼續(xù)順序執(zhí)行下一個case前綴所所標(biāo)志的語句,除非上一個語句中最后用break語句使控制轉(zhuǎn)出switch結(jié)構(gòu)。 (6)break 語句 (7)continue 語句 (8)return 語句 (9)goto 語句 8 預(yù)處理命令 # define 宏名 字符串 # define 宏名(參數(shù)1,參數(shù)2……參數(shù)n)字符串 # undef 宏名 #include “文件名”(或〈文件名〉) #if 常量表達(dá)式 #ifdef 宏名 #ifndef 宏名 #else #endif |