深入理解C語言(一)

塵埃092發表於2014-05-02

深入理解C語言


背景

C語言是一種計算機程式設計語言,它既具有高階語言的特點,又具有組合語言的特點。它由美國貝爾實驗室的Dennis M. Ritchie於1972年推出。C語言的地位對於整個計算機工業界是舉足輕重的,在程式設計界能流行40多年,足以說明了它的重要性。


特點

1.C號稱是組合語言的助記符,這個底層語言擁有類似彙編的執行效率,它的程式碼是編譯為機器碼去執行的,

這就跟本上區別開了java,javascript,ruby,python等這些主要在虛擬機器上執行的語言。

2.C是一個語法簡練,語義精簡,靈活的語言,一個符合ANSI標準的C編譯器或許只要2-5W行程式碼就能實現。

2.C語言作為大多數作業系統和程式語言的實現語言,學好C,就是站在巨人的肩膀上。


發展

C語言標準目前分為三個C89,C90和C99

最早的C語言當然是K&R C,這是原作者寫的一版“精簡”的C語言版本,後來美國國家標準協會(ANSI)在1989年制定了C語言的規範標準,所以稱為C89。後來國際標準化組織也不甘心,於是也自己制定了一套C90標準,顧名思義發生在1990年,後來隨著C++的興起,ISO組織又在C89的基礎上增加了一些內容,今天我們的編譯器大多都是這三個標準之一。


怎樣學好C語言

怎樣學好C語言這個問題,我見過的最好的回答出自這裡:酷殼——如何學好C語言。按皓哥的話說,學好C有四個部分: 語言本身、演算法資料結構、系統呼叫和系統設計。其中推薦的書也十分經典《C程式設計語言》,《Unix高階環境程式設計》等都是經典書籍。


我打算說些什麼

其實發布這個專題也是一時興起,專題的名字有些吸引眼球的嫌疑,我不是一個專家,也沒有幾十年C的經驗,大學幾年C語言的深入學習,我想我就以一個菜鳥進階的角度去說說自己的理解,如果你剛開始學C語言,還停留在解決語法編譯錯誤等問題上,那麼建議你還是先打好基礎,再來看我的教程吧。


再次宣告,系列博文針對的是


菜鳥進階  : P




相關文章