一、語言本身:
- 初學者
- 明解C語言
豆瓣鏈接:https://book.douban.com/subject/23779374/
推薦理由:《明解C語言》圖文並茂,示例豐富,設有190段代碼和164幅圖表,對C語言的基礎知識進行了徹底剖析,內容涉及數組、函數、指針、文件操作等。對於C語言語法以及一些難以理解的概念,均以精心繪制的示意圖,清晰、通俗地進行講解。
- 進階
- C程序設計語言——經典
豆瓣鏈接:https://book.douban.com/subject/1139336/
推薦理由:在計算機發展的歷史上,沒有哪一種程序設計語言像C語言這樣應用廣泛。本書原著即為C語言的設計者之一Dennis M.Ritchie和著名計算機科學家Brian W.Kernighan合著的一本介紹C語言的權威經典著作。我們現在見到的大量論述C語言程序設計的教材和專著均以此書為藍本。原著第1版中介紹的C語言成為后來廣泛使用的C語言版本——標准C的基礎。人們熟知的“hello,World"程序就是由本書首次引入的,現在,這一程序已經成為眾多程序設計語言入門的第一課。原著第2版根據1987年制定的ANSIC標准做了適當的修訂.引入了最新的語言形式,並增加了新的示例,通過簡潔的描述、典型的示例,作者全面、系統、准確地講述了C語言的各個特性以及程序設計的基本方法。對於計算機從業人員來說,《C程序設計語言》是一本必讀的程序設計語 言方面的參考書。
- C語言編程:一本全面的C語言入門教程(第三版)
豆瓣鏈接:https://book.douban.com/subject/1786294/
推薦理由:本書是極負盛名的C語言入門經典教材,其第一版發行至今已有20年的歷史。本書內容詳實全面,由淺入深,示例豐富,並在每個章節后面附有部分習題,非常適合讀者自學使用。除此之外,《C語言編程》一書對於C語言標准的最新進展、C語言常見開發工具以及管理C語言大型項目等重要方面,也進行了深入淺出的說明。
- 高階
- “C語言進階四書”
- 《C專家編程》
- 《C陷阱與缺陷》
- 《C和指針》
- 《C語言接口與實現》
- 工具書
- 宋勁彬著《一站式學習C編程》(百科指南)
二、數據結構:
- 嚴蔚敏著《數據結構》
豆瓣鏈接:https://book.douban.com/subject/2024655/
- 《數據結構與算法分析:C語言描述》
豆瓣鏈接:https://book.douban.com/subject/1139426/
推薦理由:本書是《Data Structures and Algorithm Analysis in C》一書第2版的簡體中譯本。原書曾被評為20世紀頂尖的30部計算機著作之一,作者Mark Allen Weiss在數據結構和算法分析方面卓有建樹,他的數據結構和算法分析的著作尤其暢銷,並受到廣泛好評.已被世界500余所大學用作教材。
在本書中,作者更加精煉並強化了他對算法和數據結構方面創新的處理方法。通過C程序的實現,着重闡述了抽象數據類型的概念,並對算法的效率、性能和運行時間進行了分析。
《大話數據結構》
豆瓣鏈接:https://book.douban.com/subject/6424904/
推薦理由:本書以一個計算機教師教學為場景,講解數據結構和相關算法的知識。通篇?一種趣味方式來敘述,大量引用了各種各樣的生活知識來類比,並充分運用圖形語言來體現抽象內容,對數據結構所涉及到的一些經典算法做到逐行分析、多算法比較。與市場上的同類數據結構圖書相比,本書內容趣味易讀,算法講解細致深刻,是一本非常適合自學的讀物。
三、程序思想實踐
- 裘宗燕著《從問題到程序——程序設計與C語言引論》---群共享有電子版PDF
豆瓣鏈接:https://book.douban.com/subject/1431996/
推薦理由:本書以C作為討論程序設計的語言,討論了基本程序設計的各方面問題。書中給出程序實例時沒有采用常見的提出問題,給出解答,再加些解釋的簡單三步形式,而是增加了許多問題的分析和討論,以幫助讀者認識程序設計過程的實質,理解從問題到程序的思考過程。書中還盡可能詳盡地解釋了許多與C語言和程序設計有關的問題。本書適合作為高等院校計算機及相關專業的教材,也可供其他學習C程序設計語言的讀者閱讀。
- 《程序設計語言——實踐之路 》
豆瓣鏈接:https://book.douban.com/subject/2152385/
推薦理由:這是一本很有特色的教材,其核心是討論程序設計語言的工作原理和技術。本書融合了傳統的程序設計語言教科書和編譯教科書的有關知識,並增加了一些有關匯編層體系結構的材料,以滿足沒學過計算機組織的學生們的需要。書中通過各種語言的例子,闡釋了程序設計語言的重要基礎概念,討論了各種概念之間的關系,解釋了語言中許多結構的形成和發展過程,以及它們演化為今天這種形式的根源。書中還詳細討論了編譯器的工作方式和工作過程,說明它們對源程序做了什么,以及為什么要那樣做。書的每章最后附有復習題和一些更具挑戰性的練習。這些練習的特別價值在於引導學生進一步深入理解各種語言和技術。本書第2版新增了腳本語言問題的討論,涵蓋Perl、Python、Ruby、Tcl、PHP、JavaScript、XSLT等和其他語言。本書在美國大學已使用了十余年,目前被歐美許多重要大學用於“程序設計語言”或者“軟件系統”課程。本書適合高年級本科生或者一年級研究生使用,許多內容對專業程序員也很有價值。
- 蔡學鏞著《編程ING》