本人也是剛學C不久算是老菜鳥。把我碰到的問題寫出來,希望對初學者有點幫助。
一、分號,大括號
分號。分號是表達式結束的標志,一般表達式後面都要有。寫“;”的時候一定要注重:是否要結束前面的語句。注重:if,switch,for,while語句,數據類型定義,函數定義。
if(a>b) /*if語句,沒有分號*/
{...}
while(i+=10,i!=100); /*while語句循環體為空,依靠逗號語句實現循環*/
strUCt a /*結構體數據定義,沒有分號*/
{...}b; /*結構體變量,要有分號*/
int sum(...) /*函數定義,沒有分號*/
{....}
大括號。大括號是一個語句段的標志。寫大括號時最好一次寫一對,然後把光標移到大括號裡寫。避免遺漏。
二、運算符號
“=”與“==”
“=”用於賦值,注重“=”左邊必須是變量,右邊可以是常量也可以是變量。“==”用於判定兩個量的大小,左右兩邊可以是常量也可以是變量(盡量把常量寫在左邊,這樣“==”誤寫成“=”時編譯器就會報錯)。運算表達式有它本身的值。“=”語句值為“=”右邊的量的大小;“==”語句值為判定結果,無外乎兩種,0(表示“==”兩邊不等)1(“==”兩邊相等)。
(i=1)==(3==4); /*i值為1,整個表達式值為0*/
“,”
逗號語句是從左到右計算,整個逗號語句的值為最後一個語句的值
i=(j=2,j+8,j++); /*先計算j=2,值為2,j+8不是運算表達式,跳過,計算j++得到整個括號內的值3*/
“/”
“/”兩邊都是整型變量的時候結果也是整型,而且結果遵循向0靠攏的原則。
運算符的優先級及結合方向
不多說了,表格一定要背牢。
三、變量
命名
不要吝惜,能說明白性質盡量在變量的名字上說明。避免老是使用一個字母,或者難以理解的變量名。對於較長的變量命名可以使用宏定義、類型定義。
#deine UP 0x4800 /*鍵碼的宏定義*/
typedef struct
{....}MEM; /*結構體變量的類型定義*/
類型
注重變量的使用范圍。當不確定變量的范圍的時候盡量選用值域寬的類型。雙目運算符兩邊的變量一般類型要一致。不一致的時候需要使用類型轉換。