《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++仍然在不斷地發展。
相關文章
- <<從0到1學C++>> 第2篇 認識C++程式導向程式設計的特點C++程式設計
- Arduino程式設計從零開始 使用C和C++(第2版)UI程式設計C++
- 高質量C++/C程式設計指南(第2章 程式的版式) (轉)C++C程式程式設計
- 高質量C++/C程式設計指南(第5章 常量) (轉)C++C程式程式設計
- <<從0到1學C++>> 第1篇 認識C++的函式和物件C++函式物件
- 《Effective C++》第4章 設計與宣告(2)-讀書筆記C++筆記
- 高質量C++/C程式設計指南(第6章 函式設計) (轉)C++C程式程式設計函式
- 高質量C++/C程式設計指南(第11章 其它程式設計經驗) (轉)C++C程式程式設計
- 《C++程式與設計》(第 3 版)課堂作業 Work 12C++
- <<從0到1學C++>> 第3篇 從結構到類的演變C++
- 高質量C++/C程式設計指南(第8章 C++函式的高階特性) (轉)C++C程式程式設計函式
- Python程式設計:從入門到實踐(第2版)第1章習題答案Python程式設計
- 高質量C++/C程式設計指南(第3章 命名規則) (轉)C++C程式程式設計
- 完美C++(第5版)(雙色)C++
- C++語言程式設計筆記 - 第12章 - 異常處理C++程式設計筆記
- 高質量C++/C程式設計指南(第1章 檔案結構) (轉)C++C程式程式設計
- 《C++程式設計教程》C++程式設計
- Windows 程式設計簡介從C/C++到Windows程式設計Windows程式設計C++
- 《HTML52D遊戲程式設計核心技術》——第2章,第2.6節小結HTML遊戲程式設計
- 《Effective C++》第4章 設計與宣告(1)-讀書筆記C++筆記
- C++語言程式設計筆記 - 第6章 - 陣列、指標與字串C++程式設計筆記陣列指標字串
- 《Python程式設計:從入門到實踐》第2章習題Python程式設計
- <<從0到1學C++>> 第7篇 多型性和虛擬函式C++多型函式
- 高質量C++/C程式設計指南(第4章 表示式和基本語句) (轉)C++C程式程式設計
- C++程式設計模板2C++程式設計
- 《Effective C++》第3章 資源管理(2)-讀書筆記C++筆記
- 筆記:《C++ Primer 中文版(第5版)》 第1章 開始筆記C++
- 高質量C++/C程式設計指南(第10章 類的繼承與組合) (轉)C++C程式程式設計繼承
- C++ 從&到&&C++
- 從C到C++C++
- [C++]C++程式設計例項C++程式設計
- 思考c++程式設計-譯自c++ programming language 1.7節 (轉)C++程式設計
- 深入HTML5程式設計(第2版)HTML程式設計
- Effective C++:改善程式與設計的55個具體做法:第3版 評註者序C++
- 《父與子的程式設計之旅(第3版)》第2章習題答案程式設計
- 《JavaScript高階程式設計》第3版與第2版有何差異?JavaScript程式設計
- 《Effective C++》第5章 實現-讀書筆記C++筆記
- <> 第1篇 認識C++的函式和物件C++函式物件