阮一峰:學習C語言的教材

發表於2013-04-04

我的C語言是自學的,這些年看過不少教材。

下面,我對其中一些教材做個點評。

1. How to Think Like a Computer Scientist: C version

這是我讀過最易懂的C語言教材。

雖然它只講解最基本的語法,但是寫得特別好懂,深入淺出,讀起來不覺得累,而且它還允許免費下載。我認為,這是C語言的首選入門教材。

下載網址:http://prof.beuth-hochschule.de/scheffler/lehre/programmieren-in-c/

2. C Primer Plus C Programming: A Modern Approach (《C語言程式設計:現代方法

上面這兩本,都是著名的C語言初級教材,都是厚厚的大部頭。

我通讀過它們,感覺都寫得不錯,都值得推薦。但是因為這兩本書定位類似,內容重複,相比之下,我覺得C Primer Plus可能更適合中國讀者的思維,更易讀一些。

3. C Programming Language (2nd Edition) (《C程式設計語言》)

這是最著名的C語言書籍。

但是,它不是寫給初學者看的,更偏重C語言的程式設計技巧和演算法思維。我讀過兩遍,還是覺得很多地方沒讀懂。

4. 國產教材

通常來說,國產教材質量不高,不值得推薦。但是有兩本,我想特別提一下。

《零基礎學C語言》,康莉等著,機械工業出版社,2009。

這本是我在圖書館裡偶然撿起來的,翻了幾頁,發現是原創的,而且寫得比較認真,程式碼解釋詳盡,行文錯誤少,就把它讀完了。我認為,在國產教材中,這本書的質量很高,值得推薦。

Linux C程式設計一站式學習

這本書在國產書籍中罕見地採用了GFDL許可證,http://learn.akae.cn有線上閱讀,可以免費下載。這一點值得高度肯定。

但是,正如前言所說,它的主要資料來源是兩本英語教材《How To Think Like A Computer Scientist: Learning with C++》和《Programming from the Ground Up》,以及一些教師的上課講義,然後拼在一起,做成一本書。所以,造成它的體系比較生硬,缺乏整體感,銜接得不好,很多地方沒有做到由潛入深、循序漸進。所以,我覺得這本書不適合初學者,可以當做手冊查資料。

5. Beginning Linux Programming / 《Linux程式設計》

這是我現在正在閱讀的書。我看它在Amazon上排名Linux C程式設計的第一位,就選了它。

它主要講解如何用C語言呼叫Linux的系統API,偏重基本概念的解釋,我已經讀了兩章,感覺還不錯。

下面想聽聽大家的意見。

我現在的C語言,到了這樣一個水平:語法已經基本掌握了,可以獨立開發一些小程式。下一步,我想進一步提高C語言水平,主要用於Linux開發。

大家能不能推薦一些C語言的中級教材?

 

相關文章