大家好,我是小麥,就在前幾天,有幾位老哥和我私聊,讓我整理一份C語言經(jīng)典書籍的書單,現(xiàn)在我把這個清單重新整理了一下,這里有零基礎入門和進階提高的書籍,對每個階段的學習都會有幫助,下面它來了。
關于C語言
先看C語言的歷史;1973 年,KenThompson 和 DennisRitchie 在做系統(tǒng)內核移植開發(fā)時,感覺使用匯編語言很難實現(xiàn)。后來決定使用一種稱為 BCPL的語言進行開發(fā),在開發(fā)過程中,他們在 BCPL 的基礎上做了進一步的改進,推出了 B 語言(取 BCPL 第一個字母)。
后來發(fā)現(xiàn)使用 B 語言開發(fā)的 UNIX 內核,還是無法達到他們的預期要求,于是在 B 語言的基礎上,做了進一步的改進,設計出了具有豐富的數(shù)據(jù)類型,并支持大量運算符的編程語言。改進后的語言較B語言有質的飛躍,1970年左右,取名為 C 語言,并使用 C 語言成功重新編寫了 UNIX內核。
這也是為什么UNIX的時間戳默認是從1970年1月1日開始;
C/C++無處不在,到底能做哪些事情呢?
-
大多數(shù)操作系統(tǒng)內核都是用C編寫的,包括但不限于Windows,Linux,Mac,iOS,Android等。
-
現(xiàn)代瀏覽器也是用C/C++編寫的。像Chrome,F(xiàn)irefox等。
-
現(xiàn)代游戲引擎是用C/C++編寫的,例如Unity3D,虛幻引擎,cocos2d-x等。
-
編程語言的編譯器和解釋器也是用C/C++實現(xiàn)的。
下面給大家推薦基本C語言學習非常優(yōu)秀的書籍。
-
C Primer Plus
-
Linux C編程一站式學習
-
C 和指針
-
C 程序設計語言
-
深入理解C指針
-
C 專家編程
-
C 陷阱與缺陷
-
C 語言的科學和藝術
-
C 語言程序設計現(xiàn)代方法
-
C 語言接口與實現(xiàn)
-
數(shù)據(jù)結構與算法分析——C語言描述
-
UNIX環(huán)境高級編程(第3版)
-
Linux程序設計
C Primer Plus
《C Primer Plus(第5版)(中文版)》是C語言書最好的入門書籍之一,0基礎完全可以。
可以說是滿分入門書籍,內容循序漸進,這本書重要的不止是讓你學會了C語言,更重要的是能夠鍛煉你的編程思想,這對以后的學習很有幫助。
遇到看不懂的地方多看幾遍,再看不懂就先跳過,有時候一回頭就突然懂了。
如果想把C當作吃飯的技能,除了這本書,還必須要再補一下數(shù)據(jù)結構和算法方面的知識。
Linux C編程一站式學習
本書有兩條線索:
- 一條線索是以Linux平臺為載體全面深入地介紹C語言的語法和程序的工作原理;
- 另一條線索是介紹程序設計的基本思想和開發(fā)調試方法。
本書分為兩部分:
- 第一部分講解編程語言和程序設計的基本思想方法,讓讀者從概念上認識C語言;
- 第二部分結合操作系統(tǒng)和體系結構的知識講解程序的工作原理,讓讀者從本質上認識C語言。
本書適合做零基礎的初學者學習C語言的第一本教材,幫助讀者打下牢固的基礎。
有一定的編程經(jīng)驗但知識體系不夠完整的讀者也可以對照本書查缺補漏,從而更深入地理解程序的工作原理。
本書對于C語言的語法介紹得非常全面,對C99標準做了很多解讀,因此也可以作為一本精簡的C語言語法參考書。
C 和指針
這本書和《專家編程》《C缺陷和陷阱》可以并稱C語言(進階書)三杰;
這本書提供與C語言編程相關的全面資源和深入討論,由淺入深;
它涵蓋了C語言的全部內容,特別注重指針的講解,除了頭尾的幾章,指針的話題幾乎是貫穿了全書。
正是指針使得C語言如此之強大,所以要學習C語言的精髓,就是要精通指針!
C 程序設計語言
在計算機發(fā)展的歷史上,沒有哪一種程序設計語言像C語言這樣應用廣泛。
本書作者是C語言之父,相當經(jīng)典,“hello,World"程序就是由本書首次引入的。
不過讀這本書,我們得有一些unix like系統(tǒng)的操作經(jīng)驗,需要知道文件描述符,輸入輸出流,重定向,管道以及”anything is file“等在unix世界里這些歸為常識的概念;
這些離我們這些在windows的世界里長大的一輩太遠。
深入理解C指針
深入理解C指針和內存管理,提升編程效率!這是一本實戰(zhàn)型圖書,通過它,讀者可以掌握指針動態(tài)操控內存的機制、對數(shù)據(jù)結構的增強支持,以及訪問硬件等技術。
C 專家編程
雖然是技術類書籍,但是作者很幽默,書里面八卦比較多,趣味性比較強;
同時也展示了優(yōu)秀的C程序員所使用的編碼技巧,并專門開辟了一章對C++的基礎知識進行了介紹。
對于有一定經(jīng)驗的C程序員會很有幫助;
對于C語言功底深厚的程序員,本書可以幫助他們站在C的高度了解和學習C++。
C 陷阱與缺陷
作者以自己1985年在Bell實驗室時發(fā)表的一篇論文為基礎,結合自己的工作經(jīng)驗擴展成為這本對C程序員具有珍貴價值的經(jīng)典著作。
寫作本書的出發(fā)點不是要批判C語言,而是要幫助C程序員繞過編程過程中的陷阱和障礙。
本書適合有一定經(jīng)驗的C程序員閱讀學習,即便你是C編程高手,本書也應該成為你的案頭必備書籍。
正如書上所說,“本書所揭示的知識,至少能夠幫助你減少C代碼和初級C++代碼中90%的Bug”,我覺得這并不夸張。
C 語言的科學和藝術
《C語言的科學和藝術》是一本C語言經(jīng)典教材,強調軟件工程和優(yōu)秀的程序設計風格。
此外,讀者還可以從書中學習到ANSIC的基礎知識,這些內容已經(jīng)成為計算機行業(yè)的標準。
作者的寫作風格使得書中深奧的概念變得易于理解和引人入勝。
這本書集中討論庫和抽象的用法,這是當代程序設計技術中最基本的知識。
使用庫來隱藏C語言的復雜性,更加突出主題,使讀者可以較好地掌握每一個主題的精髓。
然后,進一步給出每個庫的底層實現(xiàn),較好地展示了庫自身的抽象威力。
C 語言程序設計現(xiàn)代方法
《C語言程序設計現(xiàn)代方法》最主要的一個目的就是通過一種“現(xiàn)代方法”來介紹C語言,實現(xiàn)客觀評價C語言、強調標準化C語言、強調軟件工程、不再強調“手工優(yōu)化”、強調與c++語言的兼容性的目標?!禖語言程序設計現(xiàn)代方法》分為C語言的基礎特性。C語言的高級特性、C語言標準庫和參考資料4個部分。每章都有“問與答”小節(jié),給出一系列與本章內容相關的問題及其答案,此外還包含適量的習題。
C 語言接口與實現(xiàn)
《C語言接口與實現(xiàn):創(chuàng)建可重用軟件的技術》概念清晰、實例詳盡,是一本有關設計、實現(xiàn)和有效使用C語言庫函數(shù),掌握創(chuàng)建可重用C語言軟件模塊技術的參考指南。
書中提供了大量實例,重在闡述如何用一種與語言無關的方法將接口設計實現(xiàn)獨立出來,從而用一種基于接口的設計途徑創(chuàng)建可重用的API。
數(shù)據(jù)結構與算法分析——C語言描述
本書是《Data Structures and Algorithm Analysis in C》一書第2版的簡體中譯本。
原書曾被評為20世紀頂尖的30部計算機著作之一,作者Mark Allen Weiss在數(shù)據(jù)結構和算法分析方面卓有建樹,他的數(shù)據(jù)結構和算法分析的著作尤其暢銷,并受到廣泛好評.已被世界500余所大學用作教材。
在本書中,作者更加精煉并強化了他對算法和數(shù)據(jù)結構方面創(chuàng)新的處理方法。通過C程序的實現(xiàn),著重闡述了抽象數(shù)據(jù)類型的概念,并對算法的效率、性能和運行時間進行了分析。
UNIX環(huán)境高級編程
《UNIX環(huán)境高級編程》被譽為UNIX編程“圣經(jīng)”。
經(jīng)典中的經(jīng)典。不過看這本書的前提是你熟悉linux,哪怕不是使用linux接口編程,至少要用過,了解shell,gcc,vim。所以適合有一些基礎的讀者。
Linux程序設計
時至今日,Linux系統(tǒng)發(fā)展越來越成熟,因為具備跨平臺、開源、支持眾多應用軟件和網(wǎng)絡協(xié)議等優(yōu)點,它得到了各大主流軟硬件廠商的支持,也成為廣大程序設計人員理想的開發(fā)平臺。
本書是Linux程序設計領域的經(jīng)典名著,以簡單易懂、內容全面和示例豐富而受到廣泛好評。
中文版前兩版出版后,在國內的Linux愛好者和程序員中也引起了強烈反響,這一熱潮一直持續(xù)至今。
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!