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