《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++
- <<從0到1學C++>> 第1篇 認識C++的函式和物件C++函式物件
- 《C++程式與設計》(第 3 版)課堂作業 Work 12C++
- Python程式設計:從入門到實踐(第2版)第1章習題答案Python程式設計
- <<從0到1學C++>> 第3篇 從結構到類的演變C++
- C++語言程式設計筆記 - 第12章 - 異常處理C++程式設計筆記
- Windows 程式設計簡介從C/C++到Windows程式設計Windows程式設計C++
- 《Python程式設計:從入門到實踐》第2章習題Python程式設計
- C++語言程式設計筆記 - 第6章 - 陣列、指標與字串C++程式設計筆記陣列指標字串
- 筆記:《C++ Primer 中文版(第5版)》 第1章 開始筆記C++
- <<從0到1學C++>> 第7篇 多型性和虛擬函式C++多型函式
- 好程式設計師Python教程從零開始學Python系列-第2講程式設計師Python
- 從C到C++C++
- C++ 從&到&&C++
- 《父與子的程式設計之旅(第3版)》第2章習題答案程式設計
- 《JAVA程式設計案例教程(第2版)》pdf 附下載連結Java程式設計
- Matlab AppDesigner程式設計教程第1章——物件導向程式設計MatlabAPP程式設計物件
- C++程式設計基礎(2)變數C++程式設計變數
- C++核心程式設計C++程式設計
- LeetCode第 543 題:二叉樹的直徑(C++)LeetCode二叉樹C++
- C++ Primer(英語第5版) 閱讀日記 - 20201222C++
- C# 小白菜鳥從入門到精通(第3版)教程C#
- CodeMonkey少兒程式設計第2章 turnTo物件程式設計物件
- C++入門程式設計----C++運算子(8)C++程式設計
- 《C# 7.0核心技術指南(原書第7版)》第18章節:程式集C#
- C程式設計語言(第2版·新版)練習題1-4C程式程式設計
- C程式設計語言(第2版·新版)練習題1-5C程式程式設計
- C程式設計語言(第2版·新版)練習題1-6C程式程式設計
- C程式設計語言(第2版·新版)練習題1-7C程式程式設計
- C程式設計語言(第2版·新版)練習題1-8C程式程式設計
- 01- 從C 到C++C++
- P2 C++ 程式設計正規化C++程式設計
- C++模組2:物件導向程式設計C++物件程式設計
- CSDN周賽第51期:贏《C++ Primer Plus 第6版 中文版》和定製周邊C++
- 【C++ Primer Plus】學習筆記--第10章 物件和類C++筆記物件
- 第80節:Java中的MVC設計模式JavaMVC設計模式
- C++程式設計實現C++程式設計
- C++ 提高程式設計C++程式設計