1. How to Think Like a Computer Scientist: C version(最推薦, 這是C語言的首選入門教材)下載網址:http://prof.beuth-hochschule.de/scheffler/lehre/programmieren-in-c/linux
2. C Primer Plus算法
3. 《The C Programming Language (2nd Edition)》 (K&R, 這是最著名的C語言書籍。可是,它不是寫給初學者看的,更偏重C語言的編程技巧和算法思惟。)編程
4. 《零基礎學C語言》,康莉等著,機械工業出版社,2009。在國產教材中,這本書的質量很高,值得推薦。《Linux C編程一站式學習》這本書在國產書籍中罕見地採用了GFDL許可證,http://learn.akae.cn有在線閱讀,能夠免費下載。這一點值得高度確定,(不過作手冊比作教科書好)。編程語言
5. Beginning Linux Programming 它主要講解如何用C語言調用Linux的系統API,偏重基本概念的解釋。工具
6. 若是你要學linux編程, 直接上《unix環境高級編程》, 絕佳!學習
另外, 若是你看不太懂K&R,應該不是語言層面的問題,而是對計算機硬件和OS的理解不足致使的。我以爲,要理解C語言,須要理解計算機原理和彙編,才能明白 C語言爲啥要設計成那個樣子。google
從這個角度,推薦《深刻理解計算機系統》,能讓你更好的理解計算機和OS,同時這書也是很好的linux下的C語言開發入門教材。spa
「」「設計
編程語言不是用來學的,是用來用的(少數語言例如lisp除外)。K&R是C做者寫的東西,固然值得讀,就如同說你學C++必需要讀BS的書同樣,一般只有讀發明者的書才能更深入的理解這個語言,不過通常而言,發明者的書不適合初學者。unix
彷佛沒有什麼語言有必要看超過兩本書。直接上手開始作,才能真正掌握,而這些是看100本書都沒法獲得的。
對於每一個語言來講,入門書有一本就夠了,至於提升書,當你有了必定的編程經驗後有一本也就夠了。這就是我認爲不須要超過兩本書的緣由。
至於工具書,我我的認爲意義不大,由於絕大多數用於查API和基本概念的東西都有電子版,也均可以直接在網上搜到,沒有必要收藏一本書(收藏一個頁面或者一個google關鍵字要比收藏一本書方便得多)
」「」
附帶 一個勵志小故事: https://www.sohu.com/a/206160515_707469