C++ Primer與C++ 大學教程(C++ How to Programming)哪個更好些,應當選擇怎樣的教材?

讀完C Programming Language,學過Pascal,對基礎演算法基本上了解


毫無疑問是 C++ Primer 第四版,如果你真想當C++程序員的話。


樓上各位似乎都沒有看過&, &是當之無愧的好書, 幾乎是每個C++程序員都應讀的.

但是對於學生來說, 我更推薦《C++ How to Programming》, 因為我就是靠它入門的:

1. 簡單, 不追求大而全, 不糾結於一些複雜的特性

2. 英文通俗易懂, 以我的垃圾英語水平(4級425分), 閱讀起來也毫無障礙.

3. 習題也簡單, 以我學習第一語言的水平, 居然也可以解出幾乎所有的習題.

4. 由淺入深, 方便自學. 這個讀一下就知道.

這11年來, 我把《C++ primer 3rd Edition》讀了2.5遍, 又讀了若干本其他C++著作,《Effective C++》,《C++ Templates》《Modern C++ Design》《inside C++ Object Model》等,有疑問時再查一查C++標準, 再看《C++ primer 3rd Edition》不覺得難了, 只覺得內容多, 其中一些特性,如placement new等,這麼多年都沒有用過。一個內容如此之多的書籍,不適合當教材,只適合當參考書。


《C++ Primer》無疑正宗些。其實想學C++也不在乎多看了《C++ 大學教程》那一本。或許這兩部都是大塊頭,但是內容都比較直白簡單。你可能覺得《C++ Primer》不適合初學,但是多年之後你會發現Primer不虧只是Primer而已。


不知道題主是否用C寫過程序。不管如何,我個人的想法是這樣的:

入門不要去選擇C++ primer,我第一本C++就是這個,英文第四版的,整整看了一個學期,最後還是痛苦中放棄,讀了大半的樣子。

上面陳某的書讀過,在這之前,看過C專家編程,書的後半部分簡要的講了C++,很好理解。

在這些之前,看過其他的簡單的C++書。回想起來,如果讓我重來的話,我會這樣【個人非計算機專業】:

1- C++程序設計原理與實踐【有C的基礎,很好讀,初窺C++,不會被挫傷,形成良好的開始】

2- C++編程思想 【從C到C++,發現自己一直都是將C++用C來寫】

3- 設計模式

接下來自己應該知道該讀什麼了


我推薦C++作者Bjarne Stroustrup的《C++程序設計語言》,因為作者更清楚為什麼應該這樣做。

不過不要想掃射一遍,要先點射。做個反叛者,對每個知識點提出質疑,為什麼只能這麼做,我偏要那麼做又怎樣?沒有編程經驗的提出問題可能比較難,但你不質疑它,你腎上腺激素不夠多,不好讓大腦興奮啊。

比如,析構函數,你完全不用析構函數,寫一個小程序,讓你的系統崩潰,再使用析構函數解決問題,看其中的不同。重要的是其中你可能還能學到如何查看程序使用的內存,什麼叫遞歸,把電腦折騰壞了,你還能學到如何修電腦,學會修電腦你再到妹子那修電腦。

等你基礎知識差不多了,開始寫一個自己有把握寫出來的小程序,比如一個網路通信的程序。

1.剛開始你只需要實現客戶端一連接上就出現hello,world!這句話

2.hello,world太俗,改成一塊肥皂嘛,以備以後如果土豪訪問就顯示這個

3.加上接收客戶端輸入的功能(期間可能要解決輸入的判斷,該輸入數字的輸入字元串怎麼辦等一系列問題 )

一步步的改完美,一步步的加功能

只要你不被動的接收知識點,你的好奇心會促使你心情愉悅的學習的


本科時用的是國內老師的一本教材,看得渾渾噩噩,大四到研一這段時間把《C++ Primer》好好看了幾遍,真的覺得這本書把國內教材不知道甩了幾條街。國內教材太過拘泥於細節,完全是為應試的,而不是教你如何編程。


呵呵,我覺得作為入門,我寫的《我的第一本C++書》更好一些:P

王婆賣瓜,自賣自誇一下,如果想了解,可以參考http://chenlq.net/category/books/my-first-cpp-book

嗯,正經一下,說說你提到的這兩本書

C++ Primer當初看過,不過可惜的是,看到一半,實在是沒有毅力看完,只好中途半途而廢了。從這本書的來源(舊書攤上淘的)和書本上的批註來看來看,他的上一任主人也沒有能夠看完

所以,我想說的是,C++ Primer並不適合作為入門的第一本C++書,他太厚,太事無巨細了,而又缺乏一定的趣味性,往往會把初學者噎著,進而因噎廢食了

第二本只是聽說過,沒有看過,所以不好評論

實際上,我個人比較推薦的C++學習書籍的一個順序是:

《我的第一本C++書》,入門,建立最基礎的概念,形成一些正確的觀念和習慣

《C++ Primer》,提高,比較全面系統地掌握C++的語法知識,從這個意義上說,他可以作為一本語法參考書,就像我們常備身邊的新華字典一樣

《C++編程規範:101條...》,實踐,他讓你從一個懂C++語法的程序員成長為一個擁有豐富C++實踐經驗的程序員

以上,供你參考

如果你是一個C++的初學者,這個帖子也許對你有用

http://chenlq.net/dev/guestbook.html


初學者,沒語言基礎,自學的,建議 看 c++大學教程,其實如果沒有語言基礎,強烈建議看c大學教程,這一個系列的書都很不錯,作為語言入門 ,c大學教程是我看過最好的一本c語言入門,可以帶領一個完全沒有語言基礎的人走入編程的大門,看過一下c primer plus 講的太細了,不過也是一本很好的書


我覺得開始學習c++的話還是看《c++ primer plus》,基礎入門很不錯的教材。 《c++ primer》這本書有一定的基礎才看,否則裡面的概念很容易讓你暈頭轉向,搞不懂,讓你對c++產生放棄的心裡。。 不要看國內的一些人對國外的書很崇拜,只有適合自己的才是最好的。。


C++ Primer 適合於有一定基礎的程序員用於提高自己的編程能力,如果是新手的話,剛開始接觸這本書很難有毅力看下去,相較而言,C++ Primer Plus 更易於入手。教材的選取是一方面,不過我認為更重要的是人的主觀能動性,不管哪本教材,只要讀透讀懂而不是不求甚解,提高都是巨大的。


我個人不喜歡用C++ Primer這本書,原因是不喜歡他那種教授風格,可能是我有基礎的緣故吧,我喜歡一上來就直接講最關鍵的東西,不喜歡慢慢的從講解hello world開始,而且他的知識點也沒有集中總結,而是分布在全書各個地方,對於想集中突破某個知識點很不方便。再就是太厚了。


《C++ Primer》+ 《Think in C++》吧。

《C++ 大學教程》我上學的時候也看過一點,翻譯質量不好。英文版也還是可以的。

不過這些書,都是大部頭的,看起來要有耐心啊。


不管哪一本,一定要看英文版


毫無疑問是TC++PL


C++ 入門建議樓主看 C++ Primer Plus,有基礎就簡單過一遍,保證你基礎語法和概念無任何問題

提升的話可以看的書就多了,C++ Primer就算一本好書


推薦閱讀:

計算機科學與技術本科專業有哪些核心課程?應該如何安排學習順序?各個課程推薦哪些經典教材?
你所在的計算機科學領域的 big picture 是怎樣的?
計算機網路該如何深入學習?
為什麼研究生階段有一大堆 EE 轉 CS 的但卻很少聽說有 CS 轉 EE 的?
有哪些計算機科學方向的課程作業(Assignment/Project)值得一做?

TAG:C編程語言 | 計算機科學 | C | CPrimer |