# C語言編程
### 初階讀物
### Linux C/C++編程一站式學習
作者:宋勁杉
個人很喜歡這本書,同時又是「一站式」學習,在Linux下結合此書學習C/C++高效,所以就放在第一本了。
此書內容涵蓋極廣:C的基本語法、簡單的數據結構與算法、C與匯編的聯系、計算機系統結構、操作系統、正則表達式、TCP/IP 以及 Linux 系統編程,無所不包。從該書網站最新的內容來看,作者正在添加C++及動態語的部分,贊!
如此一來似乎樣樣通而樣樣不精,其實不是這么回事。作者將內容穿插得非常好,用十分簡明的方式把每個方面最重要的東西都闡明清楚了。所以,其實這是本入門書,當然也適合各個方面都有所了解之后用。
11年3月該作者又出版了《一站式學習C編程》(升級版),弱化了Linux和嵌入式的方向性,而且也變的更適合零基礎讀者閱讀,在「它和前一版有什么不同」中作者有這么一段話:「雖然我在上一版中信誓旦旦地說這是一本面向完全零基礎讀者的書,但現實教育了我,要寫出一本讓任何零基礎讀者都看得懂的書是一門復雜的系統工程,我只能努力接近這個目標,而永遠達不到這個目標。」很幸運的是這本編程導論小冊子彌補了這一點O(∩_∩)O哈哈~
作者在出國后在原來的《Linux C編程一站式學習》基礎上更新,并以中英雙語寫作——[Learning Linux C/C++ Programming from Scratch](http://songjinshan.com/akabook/),英文版目前在寫第四部分——[from C to C++](http://songjinshan.com/akabook/en/index.html)。完整的舊版本見 [Linux C編程一站式學習](http://akaedu.github.io/book/)。國內能有如此對自己作品負責的技術作者實在是不多見,力薦!
### C Programming: A Modern Approach
Author: K. N. King
中文書名:[C語言程序設計:現代方法 (豆瓣)](http://book.douban.com/subject/4279678/)
書如其名——現代方法,講解了一些適應現代大規模編程的方法。這本書的第一版有超過225所學校用過,比如MIT, Stanford, UC Berkeley, Caltech等等牛校。第二版新增了很多內容,當然,書也厚了很多,很多... 書中內容講解清晰,譯作質量也很好,適合自學用的教材。
### C Primer Plus
Author: Stephen Prata
中文書名:無
C語言的百科全書,既有深度又有廣度,可以作為工具書使用。典型的國外教材,非常非常厚,厚到有點讓你覺得羅嗦。
第6版已經在國外出版,包含了最新的C11標準的介紹。不過目前來看C99才是最普遍的吶。
本書第五版的中文翻譯版**翻譯質量超級爛**,如果你不慎買了這本書,送人會誤人子弟,燒了會污染環境,就當廢紙用好了。想辦法去弄一本英文原版的吧,具體方法我才不會告訴你哩。
### 進階讀物
在沒有讀完初階讀物前最好不要來讀此類書籍,否則身心將受到巨大的摧殘。
### The C Programming Language 2nd edition
Author: Brian W. Kernighan, Dennis M. Ritchie
中文書名:[C程序設計語言:第2版?新版 (豆瓣)](http://book.douban.com/subject/1139336/)
此書簡稱K&R,由C語言的創建者撰寫,其品質毋庸置疑。寫的十分精簡,不過并不適合入門,對于那些已經對C有一定了解之后的人來說是一種享受。
### C Programming FAQs: Frequently Asked Questions 2nd edition
Author: Steve Summit
中文書名:[你必須知道的495個C語言問題 (豆瓣)](http://book.douban.com/subject/3422332/)
本書是Summit以及C FAQ在線列表的許多參與者多年心血的結晶,是C語言界最為珍貴的財富之一。適合對C有一定了解和一定編程實踐后再來看, 1995年出版了該書的英文第二版,中文版算是第一版吧,2009年出的,所以說與英文原版有較大改進。
### Expert C Programming
Author: Peter van der Linden
中文書名:[C專家編程 (豆瓣)](http://book.douban.com/subject/2377310/),中文譯者:徐波
書的內容雖然很有深度,涵蓋范圍也很廣,但是作者語言幽默,讀起來還是不那么枯燥的。
### Pointers on C
Author: Kenneth Reek
中文書名:[C和指針 (豆瓣)](http://book.douban.com/subject/3012360/),中文譯者:徐波
同上,中文譯者仍為徐波,翻譯過來的讀起來偶爾會有點拗口,全書通過指針這根主線來組織,但內容其實大大超過了指針的范疇,涵蓋了很多C語言的高級話題。
### C Traps and Pitfalls
Author: Andrew Koenig
中文書名:[C陷阱與缺陷 (豆瓣)](http://book.douban.com/subject/2778632/)
書很薄,英文原版是1989年1月11日出版的,那時候ANSI標準都還沒出來。可想而知,書中所提到的缺陷已經在C89 & C99中得到了相當的改善,所以看之前得對C89 & C99有所了解才能吸收最大的價值。書雖然很老了,但是其中的思想大家還是可以借鑒的。
### C: A Reference Manual
Author: Samuel P. Harbison & Guy L. Steele
中文書名:[C語言參考手冊 (豆瓣)](http://book.douban.com/subject/2132084/)
適合在寫程序的時候作為參考,對每一條函數都有C89 & C99等詳細使用區別。
### The Standard C Library
Author: P.J. Plauger
中文書名:[C標準庫 (豆瓣)](http://book.douban.com/subject/3775842/)
英文原版是1991年1月11日出版的,中文翻譯版是2009年7月出版的。本書精辟地講述了每一個庫函數的使用方法和實現細節,同時還給出了實現和測試這些函數的完整源代碼。
### Writing Solid Code
Author: Steve Maguire
中文書名:[編程精粹 (豆瓣)](http://book.douban.com/subject/3406939/)
英文原版是1993年1月1日出版的,2009年人民郵電出了中文翻譯版,1993年電子工業出版社出的基本沒有了。
本書篇幅不長,主要講的是微軟團隊在開發大型軟件過程中所總結的經驗。
### ISO/IEC 9899:1999, Programming languages — C 2nd edition
中文書名:ISO C99規范
一切關于C語言的疑問,只有一件東西最權威,那就是ISO的規范。但這不是正式出版物,是類似法律文本的技術說明,而且只有英文版。新手閱讀,提防吐血而亡。而且即使有ISO 規范,也不見得各編譯器都去實現。
P.S. 前幾年發布了C11標準,估計還得過很多年才能普及開來吧。
- Introduction
- Part I Introduction to Programming
- 第一章-編程所謂何物
- 第二章-咋學編程
- 第三章-編程進階-數據結構與算法
- 第四章-操作系統及項目開發雜談
- 控制臺和圖形用戶界面
- 工程和單個文件的關系
- 第五章-編程語言
- 第六章-編程方法論雜談
- 好書哪里找
- 高效使用搜索引擎
- 好習慣
- 文本編輯器
- 版本控制
- 編程開發
- 第七章-教材推薦及其它
- 數據結構與算法類
- Operating System
- C
- C++
- Java
- Python
- Golang
- Network
- 數據庫
- Web-前端
- Web-后端
- 機器學習
- Linux
- GUI
- Android開發
- 數據挖掘與分析
- Spark
- 雜項