關於學習C語言,最好的幾本書是哪些?

最好可以系統的從零開始深入成系統的書籍


如果還不想死的話,不要看譚浩強


首先聲明一下,我不是黑。如果是幾年前,我會推薦 @王潛升 同學推薦的這幾本(畢竟確是經典),但這幾本書也不是啥都好,我具體談一下吧:

  1. 《C程序設計語言》 - 比較短小,跟《C++程序設計語言》的洋洋千頁,娓娓道來的風格比較而言,應該說也是C的簡潔凝練的體現吧。此書適合有一定實踐經驗的人作為一個全面熟悉和鞏固語言的工具書,不是很適合初學者用來了解和學習。當然了,本書有一定的歷史意義,可以買一本純收藏,亦或安慰一下自己,對KR稍表敬仰之寸心。總得來說,KR網上評價一直非常高,這一點我個人持保留意見。

  2. 《C和指針》 - 不要被書名騙了,此書看似專說指針,實則是C語言較完整的語言和運行環境的描述。雖然有一些複製粘貼充篇幅的嫌疑(後面的字元串,數據結構,IO,標準庫什麼的顯得有點大雜燴,好吧我真的不是黑,不過真的有必要把F1一下就能看到的文檔都弄進來嗎?),不過對一些編譯器的實現細節有一些探討還是值得一讀的。對了,有的練習題還不錯。總得來說,值得買來略掃一遍。
  3. 《C專家編程》 - 好吧,這個書裡面有不少八卦和無厘頭,適合宅男們消磨時間用。舉個栗子吧,卡耐基梅隆大學的計算機系經常搞活動,有一次搞了個編程競賽,實現功能巴拉巴拉巴拉,要求就一條——儘可能的快。我會隨便說第一名消耗的時間是負數嗎?是的,你沒看錯!這廝寫的程序消耗了負數的時間!!想知道真相嗎?去找一本來翻翻吧,呵呵。再來一個吧,大家知道MIT人工智慧研究室的宅男們整天都在研究什麼嗎?這些熱情的傢伙們用LISP去控制自己樓上的電梯升降(據說這貨還能自檢自己是不是真身,免得被黑客利用了讓自己人卡在電梯里出不來)。他們還專門設計了個網路協議(運行在七十年代的互聯網上),用來查詢樓道里的可樂機里有沒有貨,夠不夠涼(就為了少跑點路)。我勒個去,宅到這個地步,家裡人知道嗎?這下大家知道為啥人工智慧多年來都沒啥進展了吧。唉,控制不住啊,一說起八卦就停不下來。你是不是已經看到了謝耳朵同學的影子了?是的,我看這個書就有看《生活大爆炸》的感覺,可以買來樂一下。
  4. 《C陷阱與缺陷》 這本書是典型的挑刺黨了,不過在我看來,(可能是成書比較古老的緣故),它挑的刺普遍不夠硬,沒啥殺傷力,基本上都屬於初級(勉強中級)錯誤。實打實寫過幾年C語言的同學應該明白我的意思,想看那些真正的缺陷和陷阱還是得在實際項目里找啊(我是說的那種一槍把自己的腳轟碎了的那種)。這書沒啥好看的,誰要的話我五毛賣給他。

有人問,你巴拉巴拉說這麼半天,難道就沒有本正常點的書,能夠囊括以下所有特徵的嗎?

  1. 完整翔實,細膩豐滿
  2. 不複製粘貼有湊字數嫌疑
  3. 不是專業搞怪和無厘頭
  4. 不是專業挑刺黨

好吧我說的當然不是譚浩強。

如果是幾年前我只能雙手一攤——我也不知道。不過有一次偶然間翻閱到這一本書,就產生了這種感覺——如果我是一開始讀這個書入門的就好了,呵呵。

C語言程序設計現代方法

C Programming: A Modern Approach, 2nd Edition: K. N. King: 9780393979503: Amazon.com: Books

此書基本符合併超越了俺前面總結的四條,俺隨便說幾條吧:

  1. 完整覆蓋C99超越了KR。(夠新
  2. 內容豐滿不亞於《C++程序設計語言》(夠厚
  3. 習題質量平均水準比較高。(比上面諸位高出不少
  4. 提供PPT講義和在線教師資源(就是說你看不懂可以直接問教授嘖嘖嘖
  5. 探討現代編譯器的實現,揭穿了各種古老的C語言神話和信條(適合程序員的純乾貨

這五條基本超越上面所有的前輩了。(用"橫掃"這個詞可能有點大不敬不過管他呢

另一本很短小的書,看沒人提到我也說一下吧

Writing Solid Code Microsoft Techniques for Developing
Bug-free C Programs

很久以前的,可以隨便看看反正也不長,半個小時到一個小時就能看完。

終於打完了好累啊嗯嗯。


  1. C和指針 (豆瓣)
  2. C專家編程 (豆瓣)
  3. C程序設計語言 (豆瓣)

  4. C語言介面與實現 (豆瓣)

  5. 深入理解計算機系統(原書第2版) (豆瓣)


入門後推薦閱讀:

C和指針

C專家編程


入門:C Primer Plus (豆瓣),細緻,風趣,零基礎。

進階:C程序設計語言 (豆瓣),C語言的設計者之一Dennis M.Ritchie和著名計算機科學家Brian W.Kernighan合著。272頁,C語言聖經。


個人推薦日本人寫的

明解C語言

最適合小白入門 比KR 、C Primer Plus 、老譚的書 的都要適合入門


The C Programming Language, C Primer Plus

更多可參閱 http://tieba.github.com/ 的「書籍簡介」和「各種教程」


轉載自C語言吧的置頂帖:

索引


pointers on c一定要看,原版的寫的實在經典,專業水平可能有高低,但英文很地道,很優美,很nature,我都想背了。即可以學習英語,同時提高編程水平,一舉兩得


c primer plus(入門)—&>c和指針(進階)—&>c陷進與缺陷,c專家編程(深入)。c和指針個人感覺主要針對有c語言基礎的人。作為c語言的入門教材c primer plus個人比較推薦


C和指針-&>征服C指針-&>C專家編程


我覺得看書有時候比較枯燥,這裡有好一些博客教程不錯 http://www.lingxiblogs.com,更新頻率挺快的,而且作者有問必答,這樣你有什麼問題,都能得到及時反饋


我想問一下你推薦的那一本C Programming: A Modern Approach,是從哪裡寄過來的?


Kenneth Reek - Pointers on C


推薦閱讀:

二本學校和名校差距大怎麼辦?
如何自學大學數學(數學專業的)?
當學生的時候,有哪些學習習慣,對自己學習成績提高幫助很大?
看書時,如何解決如下圖的問題專心的看書?
100天究竟能讓人有多少改變?

TAG:學習 | C編程語言 |