天天看點

《C++程式設計教程(第3版)》——第1章,第2節從C到C++

本節書摘來自華章出版社《c++程式設計教程(第3版)》一書中的第1章,第1.2節從c到c++,作者張志航,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視

1.2 從c到c++

c語言是美國貝爾實驗室的dennis ritchie在b語言的基礎上開發出來的,1972年在計算機dec pdp-11上實作了最初的c語言。當時設計c語言是為了編寫unix作業系統,unix作業系統90%的代碼由c語言編寫,10%的代碼由彙編語言編寫。随着unix作業系統的廣泛使用,c語言也被人們認識和接受。

c語言在各種計算機上的快速推廣導緻出現了許多c語言版本。這些版本雖然是類似的,但通常不相容。顯然人們需要一個與開發平台和機器無關的标準的c語言版本。1989年美國國家标準協會(american national standard institute,ansi)制定了c語言的标準(ansi c)。brian kernighan和dennis ritchie編著的《the c programming language》(1988年)介紹了ansi c的全部内容,該書被稱為c語言的聖經(c bible)。

c語言具有如下特點:1)語言簡潔、緊湊,使用友善、靈活。c語言隻有32個關鍵字,程式書寫形式自由。2)具有豐富的運算符和資料類型。3)可以直接通路記憶體位址、進行位操作,完成類似于彙編語言的操作,能夠勝任開發系統軟體的工作。是以,有時c語言也被稱為“中級語言”,其意義是它既具有進階語言的特點,又具有低級語言的硬體直接操作特性。4)目标代碼品質高,程式運作效率高。5)可移植性好,即可以很容易地将程式改寫後運作在不同的計算機系統中。

但是,c語言也有如下局限性:1)資料類型檢查機制較弱,這使得程式中的一些錯誤不能在編譯時被發現;2)語言本身幾乎沒有支援代碼重用的機制,是以,一個程式設計者精心設計的程式很難被其他程式所使用;3)當程式達到一定規模時,程式設計者很難控制程式的複雜性。

1980年貝爾實驗室的bjarne stroustrup博士及其同僚對c語言進行改進和擴充。最初的成果稱為“帶類的c”,而後稱為“新c”。1983年由rick mascitti提議正式命名為c++(c plus plus)。在c語言中,運算符“++”的意義是對變量進行增值運算,是以c++的喻義是對c語言進行“增值”,擴充内容。1994年制定了ansi c++草案。以後又經過不斷完善,形成了目前的c++,c++仍然在不斷地發展。

繼續閱讀