Ⅰ 看完譚浩強的《C語言程序設計》後我還需要看什麼書。對於我這種英語、數學好的人學編程。
那要看看樓主是想往哪一方面發展了,樓主是學生吧?如果樓主要成為一個程序員,我想現在用C語言編程的人應該不是太多了,看一些其他語言的,如C++、Java等其他高級語言應該是不錯的;如果樓主要考研或者更加深入的掌握編程理念,數據結構也是要學習的。
其他方面的書我倒是不好推薦,數據結構一類的書,感覺清華大學嚴蔚敏的不錯
Ⅱ Bjarne Stroustrup寫的兩本書比較
記得prim不是bj的書啊,特別版是他的書!初學的話先看《c++
prim》或者《c++
編程思想》比較好!完了再看下特別版!不然直接看特別版就感覺有點惱火咯!
Ⅲ 看完C語言編程思想之後應該看C界三劍客還是C primer plus
首先,如果你是新手,光看書是沒用的。因為如果沒有遇到實際問題解決過,書上的那些方法你理解不了,也記不住。尤其是對於C語言陷阱這種書。
其次,如果你是老手,建議和當前開發的項目相結合,如果是底層驅動,那麼適當的去補充匯編能力,以及閱讀晶元手冊是非常必要的;如果你協議層,則應該主要增加協議的熟悉度;如果是應用層,則建議閱讀面向對象的C語言(OOC)之類的書籍。
總之,讀什麼書沒有固定的範式。所謂的三劍客,在職業程序員眼中也只不過是入門的掃盲書籍而已。
Ⅳ c語言推薦參考書
你要是說權威的書,《C++編程思想》,《C++primer》都是很權威的書,但是內容太多,不太適合初學者,個人覺得譚浩強寫的書比較好,簡單易懂,適合初學者,你可以自己考慮一下
Ⅳ 既適合初學者又適合從業者使用的C語言學習書籍
個人覺得學習C語言重要的邊練習邊理解。
個人建議《c primer plus 6th》 這本書比較好,各種環境問題也會在書中說明,很適合初學者
有電子版,去搜搜。。。電子版攜帶方便
圖片來自京東截圖。。如侵權,請私信刪除
Ⅵ c語言與c++的是什麼
1.定義:C語言是一種計算機程序設計語言(面向過程的)。
作用:1. C是高級語言。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元。 2.C是結構式語言。結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。C 語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。 3.C語言功能齊全。具有各種各樣的數據類型,並引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大,可以實現決策目的的游戲。 4. C語言適用范圍大。適合於多種操作系統,如Windows、DOS、UNIX等等;也適用於多種機型。
2. 定義:C++語言是一種優秀的面向對象程序設計語言,它在C語言的基礎上發展而來,但它比C語言更容易為人們學習和掌握。C++以其獨特的語言機制在計算機科學的各個領域中得到了廣泛的應用。面向對象的設計思想是在原來結構化程序設計方法基礎上的一個質的飛躍,C++完美地體現了面向對象的各種特性。
作用:C++的設計目標,就是要讓C++既具有適合於系統程序設計的C語言所具有的可適應性和高效性,又能在其程序組織結構方面具有像Simula那樣的語言設施(Simula所支持的這種程序組織結構通常被稱為面向對象程序設計風格)。在設計的時候,還做了很大的努力,使得引借自Simula的高層次的程序設計技術能夠應用於系統程序設計之中。這即是說,C++所提供的抽象機制能夠被應用於那些對效率和可適應性具有極高要求的程序設計任務之中。
難度:當然是C++更加難一些了,C是基礎,學好C,才能更進一步的去學習C++,
Ⅶ 《c primer》和《c primer plus》有什麼區別各適合什麼人看
《c primer》好像沒有這本書吧,即便是有也是很不出名的。個人強烈推薦
《c primer plus》,非常經典的c入門書籍,我覺得最重要的優點就是按照作者的思路可以形成完整且邏輯性較強的編程思想,其他的像詼諧幽默了,都不是其成為經典的原因。
Ⅷ 我有個問題,為什麼沒有C語言編程思想方面的書
有很多,比如《C Primer》《C語言程序設計》等書
Ⅸ 《C++編程思想》真有那麼好嗎
C++編程思想,顧名思義,重視的是一種思想。作者的目的本就不是讓我們再去糾結那些基礎,不然作者也不會假設讀者都是有一定C++基礎甚至就是C的程序員了。如果說C++primer是用一種很好的風格讓讀者入門並養成良好的編程習慣的話,那麼C++編程思想就是用一種優秀的編程思想熏陶讀者,引導讀者用C++的思想編程。至於那些基礎反而顯得不那麼重要了。另外,C++編程思想一直的定位就是C++的中級閱讀書籍,和primer針對的是兩個層次的讀者。風格什麼的迥然不同也就可以理解了。個人理解,希望能幫到忙了。
Ⅹ 有C語言基礎,學C++了,是直接學習C++primer好呢,還是先學習C++primer plus然後再學習C++ primer好呢
建議您還是要把C學好.
C++是C的進階,大部分的C++基礎內容都是C的核心.
C++也只是多了些面對對象程序設計的部分.
比如說C++的語句\語句結構\數組\指針等等都是延用C的內容.學不好C,C++也很困難~
C++的類\運算符重載等等都是與C基礎有關的.
C是基礎,C++的進階,C#和VC是高階,一步步來吧
C與C++的區別
C是一個結構化語言,如譚老爺子所說:它的重點在於演算法和數據結構。C程序的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制),而對於C++,首要考慮的是如何構造一個對象模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取對象的狀態信息得到輸出或實現過程(事務)控制。
所以C與C++的最大區別在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為「 設計這個概念已經被融入到C++之中 」,而就語言本身而言,在C中更多的是演算法的概念。那麼是不是C就不重要了,錯!演算法是程序設計的基礎,好的設計如果沒有好的演算法,一樣不行。而且,「C加上好的設計」也能寫出非常好的東西。
對語言本身而言,C是C++的子集,那麼是什麼樣的一個子集?從上文可以看出, C實現了C++中過程化控制及其它相關功能,而在C++中的C(我稱它為「C+」),相對於原來的C還有所加強,引入了重載、內聯函數、異常處理等等玩藝兒,C++更是拓展了面向對象設計的內容,如類、繼承、虛函數、模板和包容器類等等。
再提高一點,在C++中,數據封裝、類型這些東東已不是什麼新鮮事了,需要考慮的是諸如:對象粒度的選擇、對象介面的設計和繼承、組合與繼承的使用等等問題。
所以相對於C,C++包含了更豐富的「設計」的概念,但C是C++的一個自洽子集,也具有強大的功能,同樣值得學習。
幾點學習建議:
1.基本概念很重要。無論學C,還是學C++,基本概念都是第一位的,也是比較困難的,但只有把握了基本概念才能把握整體脈絡,才能居高臨下。
2.C是C++的子集,它的基本概念和設計方法相對比較容易理解,初學者可從它入手。
3.如果要學好C++,建議初學者最好別在如VC,BCB平台下寫程序,那種自動化的代碼生成,花花綠綠的界面,會讓你手足無措。最好先找一片空地(unix,dos),從頭做起,寫幾個大點的程序,數個回合,再到VC,BCB下看看,你會輕松得很。在我看來,學好C/C++是成為VC,BCB高手的必由之路。
4.不要妄想速成,必須得一個byte,一個bit的去摳,盡量搞清楚每一個問題。
5.幾本好書:
機械工業出版社的那套「計算機科學叢書」從C到C++,到面向對象設計,一應俱全,都TMD是經典中的經典,而且價格公道,童叟無欺。
國內也有幾本好書,譚老爺子的書好倒是好,就是程序錯誤太多。強烈推薦清華周之英的《現代軟體工程》(上、中、下),它是我所見到的國內少有的一本好書,精華的精華,要點的要點,細細品來,至少也屬降龍十八掌等級的東東。
如果還是有人想學習C/C++的話, 有一些小問題我還是樂意解答的. 但是我認為學習C/C++是不重要的, 重要的是如何鍛煉你的思路. 不要找一些連自己都搞不清的問題去做.
我認為雖然 "潭浩強" 同志有騙錢的嫌疑( 我手頭就有一本幾乎一模一樣的英文書 ), 但是, 是他把這本入門手冊引入中國, 使無數程序員了解了C語言, 我想他的功勞也是不可磨滅的. 在< C語言程序設計 >這本書中所有的例子都可以用做鍛煉思路的基石, 他對大家的編程是很有幫助的. 我認為是值得一買的. 去思考課後的例子對你的編程很有幫助. 不要小看一個一個簡單的例子, 他們是你通往成功的道路.
當你基本能夠掌握了上一本書中例子後, 你就要自己找一些例子程序去看. 開始可能是看不懂, 但是只要努力就沒有什麼問題. 當你看過幾個較大的例子之後, 你會茅塞頓開, ( 大量閱讀例子程序是學習C/C++的捷徑 ). 你會發現, 你的水平有了顯著的提高. 你看的例子越多, 你對 Windows/DOS 了解的越多. 最好能夠再看一些關於系統知識的書籍. 他會對你的編程很有幫助的.
這是我學習C/C++的一點心得, 希望對沒有被我嚇到而要繼續學習C/C++的朋友們有一些幫助. 免得有些同志說我破壞中國軟體人才的發展.
在最後我祝願所有堅持學習C/C++的朋友們成功! 同時感謝閱讀過我文章的同志們.
想學好C++,非學C不可!!!
今天我這么肯定的在這里講這番話,是不想初學者陷入到語言越新越好的誤區,本來這個題目就不是很嚴謹,但是我有幾句話必須講講,為C平反!!
C++與C有什麼不同呢?我們現在一步步地來分析一下
一、類,類我並不說它有什麼不好,但是對於初學者,它是一個累贅。類的封裝使得初學者對程序產生厭倦,感到不適和麻煩。
二、引用,引用是C++中最臭屁的東西了,最好盡量不要用它,我就是從來不用引用,除非萬不得已。引用對於初學者就更容易產生混淆,不知道哪個是引用,哪個是變數。
三、函數的重載,初學者學函數的重載好像沒什麼壞處,但是,這會使初學者潛意識里對C語言的變數類型的重要性產生淡化,要記住C語言是對變數類型最敏感了的,變數的類型在C語言里的重要性是不言而喻的。
四、流操作符,和上面同樣的道理,使得對變數類型的重要性產生淡化,況且,cin這個東東有點兒不怎麼方便,有時會產生使初學者莫名其妙的結果。
五、操作符重載,典型的高級應用,初學者可能根本用不著,這個東東會讓他們覺得C++很難,門檻高,看不懂…………。
六、繼承,以及虛函數,典型的模仿四不象,這種狗屁東西除了看起來深奧,實用價值很低………………。我怎麼可能把某個類的類型的指針去指向另一個不同類型但是是繼承關系的類,來實現什麼動態聯編,暈…………
………………還有些東東我就不發表評論了,如:new,delete操作符等…………
七、誤區:以問答形式:
問:C++是面向對象化的而C是面向過程化的?
答:第二對,第一問錯,C++並非完全面向對象化,真正的面向對象化的語言恐怕只有Java才算得上。
問:C++能實現C所不能的功能嗎?
答:至少我還沒有發現……
問:學了C再學C++有障礙嗎?比如程序設計思想……
答:至少我還沒有看見誰有此症狀。
問:學了C再學C++又要重頭開始嗎?
答:不,C++下可以實現C語言的一切功能。
問:我學完了C一定還要學C++才能編程嗎?
答:完全沒必要。
問:C++比C好在哪裡?
答:更加符合軟體工程學
問:學完了C再學C++是不是很容易?
答:那要看你是不是真正的學完了C語言,我從C到C++就一個星期的睡覺前的時間看兩眼書,然後就大徹大悟。再跑到這里來發表些狗屁文章了。
最近在網上看到了很多人的學習方法,本人非常不贊同。很多人都想一口吃個胖子,要學就想學最新的,好象沒有人願意再去學那些老的,舊的編程語言了。但你們能學的懂嗎?不學TC2。0等那些較早的優秀編程語言,你們能理解的了VC6。0?如果你真的能,我寧願做你的徒弟!真是奇怪,那些最基本的語言都不懂的人,怎麼可能去理解那些最新的編程語言?我學編程有三年了吧。成績也不算多,只有一個計算機四級證和一個高程證,但我覺得我在學VC的時候還有很多的不明白的地方。沒有人來教我,只能靠我自己,包括所有的成績在內,我都是靠自己,我從不報班。學VC的半年多來,我想我已經基本入門,但依然有很多的困惑。剛開始學VC,就面臨一個項目,我真的猶如笨蛋一般,四處嚇摸,毫無頭緒,最後勉勉強強才算做個差不多。學好VC再去學其他的高級WINDOWS編程,我想那真是輕而易舉,畢竟WINDOWS的內部的很多東西都能直接被VC調用,你首先就可以對WINDOWS有個全新的認識,再去學其他的語言豈能不簡單?
我的感覺是,面向過程和面向對象,其實都很重要的,在VC里也依然需要面向過程,很多東西都是一環扣一環,沒有面向過程的思想,怎麼可能去編程呢?建議多去看看有關WINDOWS編程的書,但多數都是比較老的書呦!我依然記得當年整天進行TC編程的辛苦,但我依然很懷念當年的勞動付出,畢竟我獲得了我想獲得的一切——編程思想。我覺得一個好的編程思想,絕對比你去學一門計算機語言好重要的多。要形成自己的編程風格。一個好的編程思想在你的頭腦中一旦形成,學習什麼語言都會很輕而易舉,因為此時的你不在是簡簡單單的學習,而是來驗證!