程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> 計算機c語言入門

計算機c語言入門

編輯:C語言問答

計算機c語言入門

我想學,但是看起來就頭暈,有沒有好一點的書籍給我推薦一下(網站也不錯)

最佳回答:

學c++吧。
Essential C++
C++ Primer
Accelerated C++: Practical Programming by Example
以上的三本書是我最推崇的C++教程,我對它們進行過細心的閱讀,感覺受益匪淺,因此也不遺余力地向你推薦。

《Essential C++》(《Essential C++中文版》,華中科技大學出版社,2001)出自久負盛名的《C++ Primer》作者之一Stanley E. Lippman之手。的確有很多人對這個大師級的人物竟然寫這樣一本面向零基礎的輕薄短小的入門教材感到不可理解。Lippman自己的解釋是在參與一部電影的制作時(他擁有藝術碩士的學位!),他由於某種需要必須學習Perl語言,在學習的過程中他“在感傷的心境中明白”,C++ Primer無法扮演初學者導師的角色,那本書太龐大復雜了——對於那些想立刻學會C++語言並進行簡單應用的人來說。於是他便有了這本並不太精細卻體現語言核心的著作。這本書完全面向零基礎讀者,您可以對編程一無所知,《Essential C++》仍會引導您走向用C++編程之路,正如它的貼切的書名中所說的,它體現了C++的精髓(腳注:essential,精髓的、本質的)。


《C++ Primer》(《C++ Primer中文版(第4版)》,人民郵電出版社,2006)是一本龐大復雜的C++書籍,由三位世界級的大師Stanley B. Lippman、Josée LaJoie、Barbara E. Moo合力打造。雖然它的書名可以翻譯為《C++入門》(腳注:primer,初級讀本、入門(書)), 但這本書真得有點“名不副實”,這本英文版有912頁的厚書詳細地介紹了C++的方方面面和點點滴滴。然而,閱讀C++ Primer這本講解地很深入的教程的確也不需要什麼准備知識。不過由於這本書的復雜性,讀完Essential C++做基礎再讀本書卻是更多人的選擇。如果您想從零開始深入的學習C++,或者您在學習C++的道路上遇到了什麼疑難,C++ Primer肯定會幫助您。另外,本書目錄和正文中關於名詞術語的中英文對照就是參照C++ Primer的附錄完成的。


《Accelerated C++》(《Accelerated C++中文版》,中國電力出版社,2003)是另一種風格的C++教程。兩位作者Andrew Koenigh和Barbara E. Moo是C++圈子裡少見的夫婦搭檔,Barbara的參與給本書帶來了一種清新細膩的女性化風格。這本書同樣也是適用於零基礎的讀者,同樣輕薄短小,但卻從最基礎的程序語句一路講到了STL的使用,知識密集度極高,並有很多例子。正如書名所說的,此書極有加速度(accelerate)。書中的某些習題也頗有難度、值得思考。但要注意的是據說本書的中文版(我沒看過)的翻譯有許多微瑕,請謹慎購買。


最後額外說一句,我在互聯網上得到消息說C++之父Bjarne Stroustrup正在寫一本C++大學教程。相信這個世界上對C++的理解沒有人比Stroustrup更透徹,他的C++著作想來應當質量極高。如果這本書創作完成並出版了的話,相信會是給C++入門者不可多得的教材。

Ivor Horton's Beginning ANSI C++: The Complete Language
Problem Solving with C++: The Object of Programming
C++ Primer Plus
Professional C++
Absolute C++
C++ How to Program
You Can Do It: A Beginner's Introduction to Computer Programming

上面給出書名的幾本書是我推薦的C++教程的第二梯隊,它們大部分是近兩年才出版的新書,體現了最新的C++教學方法研究的成果。但事實上我並未完整閱讀過這些新出的入門書籍,它們入選這個清單是因為它們在C++這個圈子裡的名氣。關於這些書的評價我參考了很多負責任的書評,並選擇性地閱讀了這些書的某些部分以進一步核實,這些評價應該是客觀、中肯的。

驕傲的Ivor Horton將自己的名字寫入書名《Ivor Horton's Beginning ANSI C++》(《C++入門經典(第3版)》,清華大學出版社,2006)。而據說這本經典的C++教程滋養了無數C++程序員。這本書的特點是結構嚴謹、內容詳實,具有“學院派”一絲不苟的風格。若您的學習習慣是一點一點的建立一個嚴密的知識體系,那麼本書很適合您。

《Problem Solving with C++》(《C++面向對象程序設計(第5版)》,清華大學出版社,2005)是Walter Savitch教授根據教學大綱精心編寫的著作。它的特點是采用了很多便於讀者鞏固所學知識的教學特征、在網站上提供了許多課件類的支持材料,十分適宜於在課堂上進行雙語教學。它的一大特色是可以自主決定主題的學習順序,具有面向學生的易用性。

《C++ Primer Plus》(《C++ Primer Plus(第五版)中文版》,人民郵電出版社,2005)享有“程序員和開發人員學習C++的完整教程”的美譽。可見它面向的讀者群是“程序員和開發人員”,這當然會影響它的寫作風格和側重點,也就是這本書可能適用於有一定基礎、至少學過一門編程語言(如Pascal)的人群。如果您的目標與此書的讀者群接近,那麼這本書很適合您。

《Absolute C++》(《完美C++教程(第1版)》,清華大學出版社,2005)的作者也是創作了多本暢銷書的Walter Savitch。它的編排特色是循序漸進、介紹了統一建模語言(UML)和模式以體現軟件工程領域的最新趨勢、特別設立了“提示”和“陷阱”兩個小節。它似乎是與《Problem Solving with C++》相補充、適合於自學的一本教材。

《C++ How to Program》(《C++編程金典(第三版),清華大學出版社,2002)是暢銷書作家Harvey M. Deitel和Paul J. Deitel兩位父子的作品。雖然我並不相信這本書像宣稱的那樣是“全球使用最廣泛的C++經典程序設計教材”,但這本書的確也被很多人所推崇和使用。其特點有注重案例分析、廣泛使用了UML圖等,分布在各章的“對象思想”、“案例分析”、“常見編程錯誤”、“良好編程習慣”是其特色部分。另外,據說書中的自測和練習很有水准。

《You Can Do It!》(《You Can Do It——C++編程新手互動教程》,人民郵電出版社,2005)的作者Francis Glassborow是一位很有性格的C++專家,他曾對很多負有盛名的C++入門類教材進行過不留情面的批評,而他本人操刀創作的這本C++教材卻在出版之後大受好評。這本書的最大特色是作者在寫作過程中利用本書對一位從未接觸過計算機編程的家庭婦女Roberta進行了從零開始的C++教學,保證那位家庭婦女按照本書提供的內容能夠達到作者設置的目標,如果達不到目標則會重寫相應的部分。(注:這很像白居易的做法,不是嗎?)Roberta閱讀後的反饋意見和疑問以及作者詳細的解答也包含在書中,相信同樣第一次學C++的您很有可能會對這些內容感同身受。

關於C++語言入門教程的介紹就到這裡。你可能會產生疑問:為何沒有介紹任何一本以中文寫作的C++入門教程?這樣除去了那一層翻譯的“隔膜”,不是更有助於初學者理解嗎?事實上,國內對於C++教學的研究水平特別是教材的水准與國外差距太大。例如國內大學課堂上用的那些C++教材,它們的編寫思路陳舊甚至僵化,沒有一本能真正令人滿意。這些教材幾乎都是將C++作為“更好的C”來理解和講述。(腳注:這個理解在1985年之前還是基本正確的。那時,模板、異常處理,還有更激動人心的STL等都還沒有成為C++的一部分。然而,隨著時間的推移,在擁有了眾多用C根本無法模擬或實現的特性之後,C++已經全然成為一門新的語言,C只成為了C++相當小的一個子集。)對於C++最重要的區別於其它編程語言的特性——模板,這些教材中最多是“言簡意赅”地提到了一下;而C++最強大的武器——STL,這些教材中根本題都未提。也就是說,先不論這些教材的質量如何,它們中沒有一本能做到全面、完整地介紹C++!
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved