行走C江湖多年,你修煉過五大祕笈嗎?

行走C江湖多年,你修煉過五大秘笈嗎?


C語言世界

據不完全統計,業餘編程愛好者和專業程序員的入門編程語言大多是C語言,在整個編程領域中,計算機編程語言的演變與進化都和C語言緊密相連。


1972年,湯普森和裡奇以B語言為基礎發展出C語言,並用它來重寫了UNIX,且隨著UNIX的發展,C語言也得到了不斷地完善。


世界上總共有三大操作系統:UNIX 操作系統是用純C語言編寫的;Windows 操作系統的內核也是用C語言編寫的;Linux 操作系統仍是用純C語言編寫的。


C語言圖書五傑

對於 C 語言初學者來說,敲門磚非常重要——也就是入門書籍。異步君今天為大家介紹C語言圖書中的五傑,從入門到進階,看這五本準沒錯!


行走C江湖多年,你修煉過五大秘笈嗎?

《C Primer Plus(第6版)中文版》

作者: 【美】Stephen Prata(史蒂芬 普拉達)


幾乎所有C語言程序員的都會去看斯蒂芬·普拉塔的《C Primer Plus》。這本暢銷38年了圖書對於 C 語言初學者來說,就像引路人一樣意義非凡。


從1984年至今,《C Primer Plus》已經升級到了第6版,作者初心不變——致力於編寫一本指導性強、條理清晰而且有用的C語言教程。所以,書中大量完整的、可運行的程序及詳細的註釋有助於理解代碼和概念。


與市面上其他的教程書籍相比,《C Primer Plus(第 6 版)中文版》最大的特點就是讀起來不會有枯澀煩躁之感。


因為斯蒂芬·普拉塔十分在意讀者在閱讀過程中的閱讀體驗,所以書中新出現的每一個術語,符號,都給出貼近讀者目前知識儲備的和理解能力的解釋。


而且,這本書在編排上也十分與眾不同,在每個知識點後面都會附帶一個“程序清單”,也就是程序實例,這是理解編程知識點的絕好方法,供初學者自己手動實操,提升編程水平。


更有趣的是,作者不僅闡述了語法中正確的形式,同時也指出錯誤的代碼出現的問題,更是全面講述了 C 語言編程的相關概念和知識,並且涵蓋了 C 編程語言最近的變動發展、以及 C11 標準。


這就是為什麼異步君會把先推薦這本書,對初學者來說,系統學習 C 語言是非常有必要的,這本書就是最適合的。


行走C江湖多年,你修煉過五大秘笈嗎?


《C Primer Plus(第6版)中文版習題解答》

作者: [美] 史蒂芬•普拉達(Stephen Prata)


在過去 40 多年裡,C 語言已成為最重要、最流行的編程語言之一,學習 C 語言的人很多,但能運用自如的卻遠遠不到一半。


為了每個程序員都能將所學的知識落實到實際項目,《C Primer Plus(第 6 版)中文版 習題解答》面世了,它是Stephen Prata根據《C Primer Plus(第 6 版)中文版》而撰寫的,由北京師範大學名師詳細剖析所有題目,全面提升 C 編程能力的優選編程練習冊。


針對於提高 C 語言的編程技能、理解計算機原理。看書很重要,但訓練更重要,看書和做題應該同時進行的才能快速提升編程水平,從而在實際項目中運用自如。


它在《C Primer Plus(第 6 版)中文版》的每章內容做了簡單總結和梳理的基礎上,對所有複習題和編程練習做了詳細的解答。


人性化的是,書中的每一章節首先提供了思維導圖,方便讀者快速查詢常用的知識點,然後簡明扼要地概括和提煉了每章的難點和重點知識,它既可作為學習筆記,也可以作為知識點速查手冊。


行走C江湖多年,你修煉過五大秘笈嗎?

《C 和指針》

作者: 【美】Kenneth A.Reek


“不會用指針就不會 C 語言”,這是程序員間互相流傳的信條,他們認為正是指針使得 C 語言如此之強大,所以想要掌握 C 語言的精髓,首先要精通指針!


那麼要如何學好指針呢?推薦大家《C 和指針》這本書,作者是美國Rochester工業學院計算機系教授Kenneth A . Reek,他有著20年的C編程教學經驗,他的Pointers on C更是獲得ACCU的高度評價。


CSDN論壇大牛曾這樣點評這本書:“是在職人員開發必不可少的參考書,經典中的經典“。


除此之外,作者在書中將各種指針用法都寫出來了,甚至連一些堪稱奇葩的指針用法也沒有放過,以簡潔準確的文字、配合貼切的圖示來進行講解,讓廣大讀者對指針和數組有了更加深刻的認識,特別是多維數組、指針的指針、指向數組的指針和指針的數組的區這些平日裡讓人頭疼的知識點。


而且,《C 和指針》還提供了與 C 語言編程相關的全面資源,通過對指針的基礎知識和高級特性的探討,覆蓋了數據、語句、操作符和表達式、指針、函數、數組、字符串、結構和聯合等幾乎所有重要的 C 編程話題,並且給出了很多編程技巧和提示,加上每章後面有針對性很強的練習,幫助程序員把指針的強大功能融入到自己的程序中去。


ACCU主席Francis Glassborow曾說:“我竭盡全力地推薦這本我所見過的C編程入門圖書。作者深知讀者所需,併為他們打下良好基礎。如果你已經開始學習C語言但始終不得要領,不妨試一試這本書。”


這本書非常適合 C 語言初學者和初級 C 程序員閱讀,作為程序員,啟蒙書很重要,但讀完啟蒙書後,強烈建議將這本書作為你第二本必讀書。


行走C江湖多年,你修煉過五大秘笈嗎?

《C 陷阱與缺陷》

作者: 【美】Andrew Koenig


不管你是普通程序員還是 C 編程高手,在進行 C 編程過程中,都會從詞法、語法、語義、鏈接、庫、預處理器、可移植性等層次和方面遇到問題——編程過程中的陷阱和障礙。


那麼要如何規避這些陷阱和障礙呢?


建議一定要讀Andrew Koenig教授的《C 陷阱與缺陷》, 他是AT&T公司Shannon實驗室大規模編程研究部門中的成員,同時也是C++標準委員會的項目編輯,編程經驗超過30年,其中有15年在使用C++,他還出版了超過150 篇和C++有關的論文,並且在世界範圍內就這個主題進行過多次演講,是世界級的C編程大師。


《C 陷阱與缺陷》主題是你平時往往不會注意 C 中的各類細節:註釋的嵌套性,怎麼判斷編譯器是否允許嵌套註釋、運算符優先級,結合順序,編譯器貪婪、assert 的實現方法,避免 if、少敲一個分號導致各種血案、注意函數、if 等的作用域、注意字符集,防止移植性問題、變長參數,stdargs 等等,及一些非常底層,會涉及到大端法、小端法和數據的位模式的問題。


ACCU主席Francis Glassborow曾說:“Andrew Koenig以自己在Bell實驗室時發表的論文為基礎,結合自己的工作經驗擴展成這本對C程序員具有珍貴价值的經典著作。寫作本書的出發點不是要批判C語言,而是要幫助C程序員繞過編程過程中的陷阱和障礙。本書所揭示的知識,至少能夠幫助你減少C代碼和初級C++代碼中90%的Bug。”


書中所有內容是作者結合自己的工作經驗而撰寫的,並給出了若干具有實用價值的建議,本書的主旨就是要幫助 C 程序員繞過編程過程中的各種陷阱和障礙。


本書適合有一定經驗的 C 程序員閱讀學習,即便你是 C 編程高手,本書也應該成為你的案頭必備書籍。


行走C江湖多年,你修煉過五大秘笈嗎?

《C 專家編程》

作者: 【美】Perter Van Der Linde


最優秀的 C 程序員所使用的編碼技巧,你知道幾個?


如何深入學習 C 語言知識是每個 C 程序員都遇到的難題,市面上的書籍大多數枯燥乏味,而Peter van der Linden 認為:任何人都可以享受編程,編程應該是一項精妙絕倫、充滿生機、富有挑戰的活動,而講述編程的書籍也應時時迸射出激情的火花。


Peter van der Linden是一名技術專家和技術作家。他曾在Sun公司和蘋果公司工作多年,並曾任摩托羅拉公司首席Android技術佈道師、Immersion公司首席Android開發佈道師,自2014年至今在萬事達卡公司任高級開發佈道師。他還出版了一系列有關C語言、Java語言及Linux操作系統的經典技術圖書。


其中《C專家編程》展示了專業的C程序員所使用的編碼技巧,並專門開闢了一章對C++的基礎知識進行了介紹。書中對C的歷史、語言特性、聲明、數組、指針、鏈接、運行時、內存以及如何進一步學習C++等問題從實例出發,進行了細緻的講解和深入的分析,Peter認為這對C程序員具有非常高的實用價值。


同時,它也是一本教學性質的書籍,但它希望重新把快樂融入編程之中,書裡所提到的絕大多數教程、提示和技巧都是無法在其他書上找到的,即使有的話,它們通常也是作為心得體會手工記錄在手冊的書頁空白處或舊打印紙的背面。這本書是Peter以及 Sun 公司編譯器和操作系統小組的同事們在多年 C 語言編程實踐中,積累了大量的知識和經驗後,用生動的語言來講述這些有趣的 C 語言故事和軼聞,諸如連接到因特網上的自動售貨機、太空軟件中存在的問題,以及一個 C 語言的缺陷怎樣使整個 AT&T 長途電話網絡癱瘓等。


ACCU主席Francis Glassborow曾說:“即使你讀過Andrew Koenig的《C陷阱與缺陷》,你還是應該看看Peter van der Linden的這本書。我想,他們兩人的書你都應該千方百計地弄到,如獲至寶地捧讀。如果我是你的上司,這是必須的要求。”


斯克蘭頓大學計算機科學系教授Jack Beidler曾說:“這本書不只是寫得清晰,讀起來也很有趣。這本書的基調和風格使其備受專業程序員的喜愛,也會使其非常受大學生的喜愛。單單是附錄A就已經使這本書必須購買了。書中充滿了極好的建議。”


希望《C專家編程》能幫助你精通這門日益流行的從 C 語言演化而來的語言。


-END-


分享到:


相關文章: