for goto if int long register return
short signed sizeof static struct switch typedef
union unsigned void volatile while
(2)預定義標識符
除了上述保留字外,還有一類具有特殊含義的標識符,它們被用作庫函數名和預編譯命令,這類標識符在C語言中稱為預定義標識符。一般來說不要把標識符再定義為其他標識符(用戶定義標識符)使用。預定義標識符包括預編譯程序命令和C編譯係統提供的庫函數名。其中預編譯程序命令有:define、undef、include、ifdef、ifndef、endif、line。
(3)用戶定義標識符
用戶定義標識符是程序員根據自己的需要定義的一類標識符,用於標識變量、符號常量、用戶定義函數、類型名和文件指針等。這類標識符主要由英文字母、數字和下劃線構成,但開頭字符一定是字母或下劃線。下劃線(_)起到字母的作用,它還可用於一個長名字的描述,如:
numbergoodstudent
可寫為:
number_good_student
上麵的寫法中,用下劃線把名詞隔開,以增加可讀性。
在C語言中,大小寫字母的變量含義是不同的,如TOTAL、Total、…、total等是完全不同的名字。通常變量名用小寫字母,常數名用大寫字母。一個變量名字可由許多字符組成,但其長度是有限的,對於ANSIC隻有前31個字符有效。對舊標準是前8個字符有效,例如student_AAA和Student_BBB編譯程序把它們視為同一個名字。
為了使程序清晰、易讀,建議在定義標識符時,應注意如下幾點:
?名字要有明確的含義,應盡量選用具有一定含義的英文單詞來命名,使讀者“見其名而知其意”。例如,代表總和的標識符用sum要比用st好,代表平均數的標識符用average而不用a等。如果所選用的英文單詞太長,可采用公認的縮寫方式。例如,圓周率用PI來命名。
?標識符一般采用常用取簡、專用取繁的原則。即常用的標識符應當定義為既簡單又易識別的符號。
?對於由多個單詞描述的標識符,建議用下劃線將各單詞隔開,以增強可讀性。例如,average_salary。
?對於標識變量的標識符,可用特定的字符作其前綴來表示變量的數據類型。例如,用“i”表示整數、“I”表示長整數、“c”表示字符型、“sz”表示串類型等。
1.2.2 C語言程序的實例
為了說明C語言程序的結構特點,先看幾個簡單的C語言程序實例,以便使讀者有一個初步的認識。
【例1-1】編寫顯示字符串“Hello! C Program”的C語言程序。
具體程序代碼如下:
# include < stdio .h>
main()
{
printf("Hello ! C Program \ n ");
}
這是一個最簡單的C語言程序,它把字符串“Hello! C Program”顯示在屏幕上。該程序由一個函數main()(叫主函數)構成。任何一個程序都必須有此函數,花括號{}所括的內容是main的函數體,每個C語言程序的函數都至少有一對{}。
printf()是由係統提供的標準庫函數,它完成輸出功能,C語言的輸出是由函數來完成的,而與係統無關,這是它的特點之一。“Hello! C Program”是要輸出的內容。“\ n”表示換行字符,它是由“\”和“n”二字符構成,屬轉義字符,有關轉義字符,在後麵將會具體介紹。printf()後的分號是語句結束符,C的每一個語句都以“;”終止。
#include是預編譯程序命令,它把頭文件“stdio.h”的內容展開在#include
【例1-2】計算兩個數之和的C語言程序。
具體程序代碼如下:
# include
main()
{
float a,b,c; / * 定義a,b,c的數據類型為實型 * /
printf("Please input the two datas \ n:");
scanf(" % f % f",&a,&b); / * 輸入a,b兩個數 * /
c = a + b; / * 求和 * /
printf(" \ n sum = % f \ n",c);
}
運行該程序時,首先提示輸入兩個數a和b,然後計算出它們的和,並把結果以如下形式顯示在屏幕上:
sum=…
在此程序中,/ * … * /是一個注釋語句,其中包含注釋的內容,它在程序的編譯過程中不產生任何執行代碼,隻是在編程中起到備忘錄的作用。“float a,b,c;”是數據類型說明語句,它把a、b和c定義為實型數。值得注意的是,C語言程序中的變量,在使用之前都要定義其數據類型。
“scanf(…);”是輸入語句,scanf()是格式化輸入函數,它是一個由係統提供的標準庫函數,其後的括弧內為參數表,“% f % f”為格式串,% f表示實型數格式,指明給a、b等要求輸入實型數。執行該語句時,數據從鍵盤上輸入。
“c=a+b;”是賦值語句(或表達式語句),等號(=)是賦值運算符,表示把右邊表達式的運算結果賦給average。
“printf(“\ n sum=% f \ n”,c);”為輸出語句,它首先在新的一行輸出字符串“sum=”,然後按實型數格式(% f)輸出變量c的值,並使光標移至下一行。
【例1-3】求a和b兩個數中的較大的值。
具體代碼如下:
# include
main() / * 主函數 * /
{
int a,b,imax; / * 定義變量類型 * /
printf("please input two datas a,b:\ n");
scanf(" % d % d ",& a,& b); / * 在此輸入a,b的值 * /
imax = max(a,b); / * 調用求最大值的函數 * /
printf(" \ n maximum is % d ",imax); / * 輸出結果 * /