1. 程式人生 > >C語言學習筆記01——C語言概述

C語言學習筆記01——C語言概述

作者:Eventi 出處:http://www.cnblogs.com/Eventi 歡迎轉載,也請保留這段宣告。謝謝!

1 C語言的起源

1972年,貝爾實驗室的丹尼斯·裡奇(Dennis Ritch)和肯·湯普遜(Ken Thompson)在開發UNIX作業系統時設計了C語言。

C語言是在B語言(湯普遜發明)的基礎上進行的設計。

2 C語言的特點

2.1 優點

設計特性:能輕鬆的完成自定向下的規劃、結構化程式設計和模組化設計;C語言編寫的程式更易懂、更可靠。

高效性:執行速度快,更接近組合語言的高效特性和微調的能力。

可移植性:C程式只需要稍作修改或不修改,通過其他系統的C編譯器進行編譯就能其他的系統上執行。而無論是使用家庭計算機、專業工作站,還是大型機;無論是使用Windows、Unix、linux還是Mac作業系統;從8位微處理器到超級計算機都能找到針對特定系統的C編譯器。

強大而靈活:很多的作業系統有C程式的程式碼以及很多程式語言的編譯器、直譯器都由C語言實現,C程式還可解決物理學、工程學的問題,甚至可用於製作電影的動畫特效

面向程式設計師:程式利用C可以訪問硬體、控制記憶體中的位。

2.2 缺點

C語言功能強大,但卻很容易犯錯誤。特別是指標的使用很強大,但稍不留神就容易出錯。

3 C語言標準

3.1 K&R C或經典C

 1987年,布萊恩·柯林漢(Brian Kernighan)和丹尼斯·裡奇(Dennis Ritchie)合著的The Programming Language第一版是公認的C標準,通常稱之為K&R C或經典C。實際上,由於缺乏官方標準,UNIX實現提供的庫已成為標準庫。

3.2 ANSI/ISO C標準(也叫C89或C90標準)

美國國家標準協會(ANSI)於1983年組建了一個委員會(X3J11),開發了一套新標準,並於1989年正式公佈。該標準定義了C語言和C標準庫。

國際標準化組織與1990年採用了這套C標準(ISO C)。ISO C和ANSI C是完全相同的標準。

ANSI/ISO標準的最終版本通常叫作C89(因為ANSI於1989年批准該標準)或C90(因為ISO於1990年批准該標準)。另外,由於ANSI先發布C標準,因此業界人士通常使用ANSI C。

3.3 C99標準

1994年,ANSI/ISO 聯合委員會(C9X委員會)開始修訂C標準,最終釋出了C99標準。

3.4 C11標準

標準委員會在2007年承諾C標準的下一個版本是C1X,2011年終於釋出了C11標準。

 4 C程式的編譯與連結

C程式的原始碼通過編譯器的編譯生成目的碼,目的碼、庫程式碼和啟動程式碼通過聯結器的連結生成可執行程式碼。其過程如下圖所示:

學習書籍《C Primer Plus 第六版》筆記<