
c語言點滴
c語言的書林林總總,數不勝數,其中不乏《c programming language》1這樣的bible級經典白皮書,也不乏《c陷阱與缺陷》2、《c programming faqs》3這樣的工程師枕邊必備。中文教材方面也有《c語言程式設計》4,5這樣廣受學生們歡迎的教科書。是以任何再寫c語言書籍的作者,都要首先回答這樣一個問題,為什麼還需要這樣一本書?
首先說明,這本書不是教材。任何教材都是“扁平”結構的,争取覆寫面廣一些,同時每一部分又不是太深入,以免學生們被細節吓跑,同時也避免了一葉障目而不見森林。而本書最大的特點是在c語言常用的若幹知識點上做了深入探究。從這個意義上來說,它應該是一種“縱深”結構的。聰明的讀者已經意識到,與這本書類似的那就是《c陷阱與缺陷》,這麼了解也對,也不對。對的就是本書确實選取了c語言的一些必備知識,相對來說,也是初學者容易搞不清楚、犯錯誤的知識點,做了深入地分析和介紹。不對的是這些知識點主要立足于教材中的内容,主要是對教材中沒有進行詳細解釋的地方進行了補充式說明。你會發現,就連本書的順序都與一般的教材相同。這些知識點也是我在教學過程中,我的學生們經常産生疑問或困惑的地方。坦白地說,這些知識點我也曾經困惑過,是以我猜在你學習的過程中也會有困惑。
同時,本書選取的主題,都是學習c語言必備的知識點。對每一個知識點,又不太像《c陷阱與缺陷》那樣,一一列舉出現錯誤的例子,給出闡釋和警告;更多是從正面解析清楚知識點的原理,然後通過程式來解釋剖析,真正做到講解精煉,基本上一兩個執行個體即可說明關鍵知識點。另外,對于數組、指針這樣的關鍵章節,本書又不惜篇幅,講解清楚。一些關鍵知識點講解,引用到國外的經典著作,給讀者很好的擴充閱讀空間。通讀并了解本書後,讀者會更加深入地了解c語言的機制和特點,也必将能夠正确高效地使用c語言進行程式設計。
本書另外一個特點就是語言輕松幽默,閱讀和學習門檻相對較低,讀者閱讀和學習的時候不會覺得枯燥。本書的編輯讀過之後,說這是本書的一個特色,其實主要是因為從小到大,大家總是笑話我,後來我想通了,決定寫這本書,在你們笑的同時,多少我還能賺點錢 :)。不瞞你說,我最大的理想就是:以後某個同學問學習c語言用什麼書時,大部分人都會對他說,“選某某教材,另外再加上趙岩的《c語言點滴》。”
給書起個好名字,是一個比較難的事情,既要反映書的内容,還要給讀者留下深刻的印象。原來準備将它叫作《c語言神韻》,但是c語言中沒有任何東西是它獨有的。很多其他的語言都或多或少地借鑒了它的文法和思想,例如c++、java和perl等。再說,如果c語言是個女孩子,我也就是剛剛和人家認識,趁人不注意摸一下小手而已,這個時候妄談什麼神韻還太早了。如果以後能長久地相處下去,像ritchie那樣終身攜手,那個時候,神韻才會慢慢顯露出來。
靈感就在電光火閃之間,就叫做《c語言點滴》吧。第一,本書并不是一個系統的教材,而是對某些知識點進行了分析,符合“點滴”這個語境。第二,c語言是一個大海,本書的内容隻是其中的幾個小水滴,但是俗話說“滴水藏海”,如果讀者能通過這些小水滴有所思考,并有所收獲,将是作者最高興的一件事。
<a href="https://yq.aliyun.com/articles/92356">第1章 程式猿 && 程式媛</a>
<a href="https://yq.aliyun.com/articles/92356">1.1 裝備篇</a>
<a href="https://yq.aliyun.com/articles/92371">1.2 程式猿和網際網路</a>
<a href="https://yq.aliyun.com/articles/92375">1.3 熬夜指南</a>
<a href="https://yq.aliyun.com/articles/92381">1.4 程式=資料結構+算法</a>
<a href="https://yq.aliyun.com/articles/92385">1.5 内功修煉</a>
第2章 程式設計基礎知識
第3章 資料類型
第4章 表達式和運算符
第5章 輸入輸出
第6章 控制結構
第7章 函數、子產品和宏定義
第8章 庫函數
第9章 數組
第10章 指針
第11章 結構體
第12章 檔案
第13章 bug,錯誤及調試
第14章 進階之路
參考文獻