1 標(biāo)識(shí)符
在程序設(shè)計(jì)中,變量名、函數(shù)名、數(shù)組名等統(tǒng)稱為標(biāo)識(shí)符。簡單地說,標(biāo)識(shí)符就是一個(gè)名字。除庫函數(shù)的函數(shù)名由系統(tǒng)定義外,其余都由用戶自定義。C語言規(guī)定,標(biāo)識(shí)符只能由字母(a~z,A~Z)、數(shù)字(0~9)、下劃線(_)組成,并且標(biāo)識(shí)符的第一個(gè)字符必須是字母或下劃線,不能以數(shù)字開頭。C語言不限制標(biāo)識(shí)符的長度,但它受各種C語言編譯器的限制,同時(shí)也受到具體機(jī)器的限制。例如,在某編譯器中規(guī)定標(biāo)識(shí)符前8位有效,當(dāng)兩個(gè)標(biāo)識(shí)符前8位相同時(shí),則被認(rèn)為是同一個(gè)標(biāo)識(shí)符。建議變量名的長度最好不要超過8個(gè)字符。
以下標(biāo)識(shí)符是合法的:
i、a、count、number_of_book、BOOK_NUMBER、sum100、_total。
以下標(biāo)識(shí)符是非法的。
3com:以數(shù)字開頭。
char:char是C語言的一個(gè)數(shù)據(jù)類型,是保留字,不能作為標(biāo)識(shí)符,其他的如int、float等類似。
a*b:*不能作為標(biāo)識(shí)符的字符。
number of book:標(biāo)識(shí)符中不能有空格。
注意:C語言是區(qū)分大小寫的,如Count與count被認(rèn)為是兩個(gè)不同的標(biāo)識(shí)符。
2 關(guān)鍵字
關(guān)鍵字是由C語言規(guī)定的具有特定意義的字符串,通常也稱為保留字。用戶定義的標(biāo)識(shí)符不應(yīng)與關(guān)鍵字相同。C語言的關(guān)鍵字分為以下幾類。
(1)類型說明符
用于定義、說明變量、函數(shù)或其他數(shù)據(jù)結(jié)構(gòu)的類型,如int,double等。
(2)語句定義符
用于表示一個(gè)語句的功能。例如,后面章節(jié)將會(huì)介紹的“if else”就是條件語句的語句定義符。
(3)預(yù)處理命令字
用于表示一個(gè)預(yù)處理命令,如前面用到的include。
3 命名規(guī)范
如果只是編寫一些小程序,程序只有幾十或幾百行,編程風(fēng)格可能并不重要。然而,如果是和許多人一起進(jìn)行一定規(guī)模的項(xiàng)目開發(fā),或者希望過一段時(shí)間之后,還能夠快速而準(zhǔn)確地理解自己的程序,就必須養(yǎng)成良好的編程習(xí)慣。良好的編程風(fēng)格可以增加程序代碼的可讀性。編程風(fēng)格最能體現(xiàn)一個(gè)程序員的綜合素質(zhì)。變量的命名規(guī)范是編程風(fēng)格的一項(xiàng)重要內(nèi)容。
變量的命名規(guī)范有很多種。在Windows下開發(fā)軟件,許多人采用匈牙利命名法,而在Linux環(huán)境下,并不建議使用這種方法。
Linux下建議的命名規(guī)則如下。
(1)變量名必須有一定的意義,并且意義準(zhǔn)確。例如有一個(gè)變量用于保存圖書的數(shù)目,可以命名為number_of_book或者num_of_book。不建議使用i,因?yàn)樗鼪]有意義。也不建議使用number或book,因?yàn)橐饬x不準(zhǔn)確。
(2)不建議大小寫混用。如定義一個(gè)計(jì)數(shù)變量,int nCount;這在Windows中是一個(gè)很好的變量名,其中nCount的首字母n用來說明這個(gè)變量的類型是int。但在Linux下不建議大小寫混合使用,一般標(biāo)識(shí)符只由小寫字母,數(shù)字和下劃線構(gòu)成。
(3)在失去意義的情況下,盡量使用較短的變量名。例如有一個(gè)變量,用于暫時(shí)存儲(chǔ)一個(gè)計(jì)數(shù)值,把變量命名為tmp_count顯然要比this_is_a_temperary_counter好。
(4)不采用匈牙利命名法表示變量的類型。如int nCount;n用于說明變量的類型,在Linux中不建議這樣命名變量。
(5)函數(shù)名應(yīng)該以動(dòng)詞開頭,因?yàn)楹瘮?shù)是一組具有特定功能的語句塊。比如一個(gè)函數(shù),它用于取得外部輸入的數(shù)值,則可以命名為get_input_number。
(6)盡量避免使用全局變量。全局變量在后面的章節(jié)中會(huì)介紹。