最早的時(shí)候c語(yǔ)言廣泛應(yīng)用于UNIX系統(tǒng)。由于C語(yǔ)言的強(qiáng)大功能和各方面的優(yōu)點(diǎn)逐漸為人們認(rèn)識(shí),到了八十年代,C開(kāi)始進(jìn)入其它操作系統(tǒng),并很快在各類大、中、小和微型計(jì)算機(jī)上得到了廣泛的使用,成為當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語(yǔ)言之一。
下面,介紹一下C語(yǔ)言的優(yōu)秀之處:
1.可進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì)
C語(yǔ)言是以函數(shù)作為程序設(shè)計(jì)的基本單位的,C語(yǔ)言程序中的函數(shù)相當(dāng)于匯編語(yǔ)言中的子程序。C語(yǔ)言對(duì)于輸入和輸出的處理也是通過(guò)函數(shù)調(diào)用來(lái)實(shí)現(xiàn)的。各種C語(yǔ)言編譯器都會(huì)提供一個(gè)函數(shù)庫(kù),其中包含有許多標(biāo)準(zhǔn)函數(shù),如各種數(shù)學(xué)函數(shù)、標(biāo)準(zhǔn)輸入輸出函數(shù)等。此外C語(yǔ)言還具有自定義函數(shù)的功能,用戶可以根據(jù)自己的需要編制滿足某種特殊需要的自定義函數(shù)。實(shí)際上C語(yǔ)言程序就是由許多個(gè)函數(shù)組成的,一個(gè)函數(shù)即相當(dāng)于一個(gè)程序模塊,因此C語(yǔ)言可以很容易地進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì)。
2.表達(dá)能力強(qiáng)
C語(yǔ)言具有豐富的數(shù)據(jù)結(jié)構(gòu)類型,可以根據(jù)需要采用整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)類型、聯(lián)合類型、枚舉類型等多種數(shù)據(jù)類型來(lái)實(shí)現(xiàn)各種復(fù)雜數(shù)據(jù)結(jié)構(gòu)的運(yùn)算。C語(yǔ)言還具有多種運(yùn)算符,靈活使用各種運(yùn)算符可以實(shí)現(xiàn)其他高級(jí)語(yǔ)言難以實(shí)現(xiàn)的運(yùn)算。
3.生成的目標(biāo)代碼質(zhì)量高
眾所周知,匯編語(yǔ)言程序目標(biāo)代碼的效率是最高的,這就是為什么匯編語(yǔ)言仍是編寫計(jì)算機(jī)系統(tǒng)軟件的重要工具的原因。但是統(tǒng)計(jì)表明,對(duì)于同一個(gè)問(wèn)題,用C語(yǔ)言編寫的程序生成代碼的效率僅比用匯編語(yǔ)言編寫的程序低10%~20% 。
4.語(yǔ)言簡(jiǎn)潔,使用方便靈活
C語(yǔ)言是現(xiàn)有程序設(shè)計(jì)語(yǔ)言中規(guī)模最小的語(yǔ)言之一,而小的語(yǔ)言體系往往能設(shè)計(jì)出較好的程序。C語(yǔ)言的關(guān)鍵字很少,ANSI C標(biāo)準(zhǔn)一共只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句,壓縮了一切不必要的成份。C語(yǔ)言的書寫形式比較自由,表達(dá)方法簡(jiǎn)潔,使用一些簡(jiǎn)單的方法就可以構(gòu)造出相當(dāng)復(fù)雜的數(shù)據(jù)類型和程序結(jié)構(gòu)。
5.可以直接操作計(jì)算機(jī)硬件
C語(yǔ)言具有直接訪問(wèn)單片機(jī)物理地址的能力,可以直接訪問(wèn)片內(nèi)或片外存儲(chǔ)器,還可以進(jìn)行各種位操作。
6.可移植性好
用過(guò)匯編語(yǔ)言的讀者都知道,即使是功能完全相同的一種程序,對(duì)于不同的單片機(jī),必須采用不同的匯編語(yǔ)言來(lái)編寫。這是因?yàn)閰R編語(yǔ)言完全依賴于單片機(jī)硬件。而現(xiàn)代社會(huì)中新器件的更新?lián)Q代速度非常快,也許我們每年都要跟新的單片機(jī)打交道。如果每接觸一種新的單片機(jī)就要學(xué)習(xí)一次新的匯編語(yǔ)言,那么也許我們將一事無(wú)成,因?yàn)槊繉W(xué)一種新的匯編語(yǔ)言,少則幾月,多則上年,那么我們還有多少時(shí)間真正用于產(chǎn)品開(kāi)發(fā)呢?
7.表達(dá)方式靈活
利用C語(yǔ)言提供的多種運(yùn)算符,可以組成各種表達(dá)式,還可采用多種方法來(lái)獲得表達(dá)式的值,從而使用戶在程序設(shè)計(jì)中具有更大的靈活性。C語(yǔ)言的語(yǔ)法規(guī)則不太嚴(yán)格,程序設(shè)計(jì)的自由度比較大,程序的書寫格式自由靈活。程序主要用小寫字母來(lái)編寫,而小寫字母是比較容易閱讀的,這些充分體現(xiàn)了C語(yǔ)言靈活、方便和實(shí)用的特點(diǎn)。
盡管C語(yǔ)言具有很多的優(yōu)點(diǎn),但和其他任何一種程序設(shè)計(jì)語(yǔ)言一樣也有其自身的缺點(diǎn),如不能自動(dòng)檢查數(shù)組的邊界,各種運(yùn)算符的優(yōu)先級(jí)別太多,某些運(yùn)算符具有多種用途等。但總的來(lái)說(shuō),C語(yǔ)言的優(yōu)點(diǎn)遠(yuǎn)遠(yuǎn)超過(guò)了它的缺點(diǎn)。經(jīng)驗(yàn)表明,程序設(shè)計(jì)人員一旦學(xué)會(huì)使用C語(yǔ)言之后,就會(huì)對(duì)它愛(ài)不釋手,尤其是單片機(jī)應(yīng)用系統(tǒng)的程序設(shè)計(jì)人員更是如此。