官术网_书友最值得收藏!

1.2 C語言的發展

C語言是一門面向過程的計算機編程語言,其設計目標是,提供一種能以簡易的方式編譯、處理存儲器、僅產生少量的機器碼且不需要任何運行環境支持便能運行的編程語言。C語言描述問題比匯編語言迅速、工作量小、可讀性好,易于調試、修改和移植,其代碼質量與匯編語言相當接近。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言常用來編寫系統軟件。

C語言是1972年由美國的Dennis Ritchie設計發明的。它是由早期的編程語言BCPL(Basic Combined Programming Language)發展演變而來的。1970年,美國貝爾實驗室的Ken Thompson根據BCPL語言設計出較先進的并取名為B的語言,后期的改進版稱為C語言。

隨著微型計算機的日益普及,出現了許多C語言版本。由于沒有統一的標準,使得這些C語言之間出現了一些不一致的地方。為了改變這種情況,美國國家標準學會(ANSI)為C語言制定了一套標準,成為現行的C語言標準,被稱為“標準C語言”。

C語言發展迅速,并成為最受歡迎的語言之一,主要因為它具有強大的功能和許多非常成功的應用案例歸納起來,C語言具有以下特點:

(1)簡潔的語言。

C語言包含的各種控制語句僅有9種,關鍵字也只有32個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬件有關聯的較少,且C語言本身不提供與硬件相關的輸入、輸出、文件管理等功能,如需此類功能,需要配合編譯系統所支持的各類庫進行編程,故C語言擁有非常簡潔的編譯系統。

(2)具有結構化的控制語句。

C語言是一種結構化的語言,提供的控制語句具有結構化特征,如for語句、if...else語句和switch語句等,可以用于實現函數的邏輯控制,方便面向過程的程序設計。

(3)豐富的數據類型。

C語言包含的數據類型廣泛,不僅包含傳統的字符型、整型、浮點型、數組類型等數據類型,還具有其他編程語言所不具備的數據類型,例如指針數據類型的使用便較為靈活,可以通過編程對各種數據結構進行計算。

(4)豐富的運算符。

C語言包含34個運算符,它將賦值、括號等均視為運算符來操作,使C程序的表達式類型和運算符類型更豐富。

(5)可直接對物理地址進行操作。

C語言允許對硬件的內存地址直接進行讀寫,以此可以實現匯編語言的主要功能,并可直接操作硬件。C語言不但具備高級語言所具有的良好特性,而且包含了許多匯編語言的優勢,故在系統軟件編程領域有著廣泛的應用。

(6)代碼具有較好的可移植性。

C語言是面向過程的編程語言,用戶只需要關注所被解決問題的本身,而不需要花費過多的精力去了解相關硬件的具體特性,且針對不同的硬件環境,在用C語言實現相同功能時的代碼基本一致,不需或僅需進行少量改動便可完成移植。這就意味著,對于一臺計算機編寫的C程序可以在另一臺計算機上輕松地運行,從而極大地減少了程序移植的工作強度。

(7)可生成高質量、目標代碼執行效率高的程序。

與其他高級語言相比,C語言可以生成高質量和高效率的目標代碼,故通常應用于對代碼質量和執行效率要求較高的嵌入式系統程序的編寫。

主站蜘蛛池模板: 无棣县| 邯郸县| 重庆市| 卢湾区| 康保县| 静宁县| 庄浪县| 景泰县| 南汇区| 丰顺县| 即墨市| 黄冈市| 滁州市| 册亨县| 莎车县| 四会市| 武定县| 宜章县| 兴仁县| 周口市| 昌江| 博湖县| 抚州市| 长乐市| 西和县| 富顺县| 米脂县| 广州市| 垣曲县| 阿克| 南召县| 澎湖县| 阿城市| 个旧市| 建瓯市| 峨眉山市| 固阳县| 天门市| 淅川县| 大安市| 北票市|