c和c++的關係:就像是win98跟winxp的關係。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好在**?
答:更加符合軟體工程學。
問:學完了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++,到物件導向設計,一應俱全,都***是經典中的經典,而且**公道,童叟無欺。
國內也有幾本好書,譚老爺子的書好倒是好,就是程式錯誤太多。強烈推薦清華週之英的《現代軟體工程》(上、中、下),它是我所見到的國內少有的一本好書,精華的精華,要點的要點,細細品來,至少也屬降龍十八掌等級的東東。
如果還是有人想學習c/c++的話,有一些小問題我還是樂意解答的。但是我認為學習c/c++是不重要的,重要的是如何鍛鍊你的思路,不要找一些連自己都搞不清的問題去做。
我認為雖然 "潭浩強" 同志有騙錢的嫌疑( 我手頭就有一本幾乎一模一樣的英文書 ),但是,是他把這本入門手冊引入中國,使無數程式設計師了解了c語言,我想他的功勞也是不可磨滅的。在< c語言程式設計 >這本書中所有的例子都可以用做鍛鍊思路的基石,對大家的程式設計是很有幫助的,我認為是值得一買的。去思考課後的例子對你的程式設計很有幫助。不要小看乙個乙個簡單的例子,他們是你通往成功的道路。
當你基本能夠掌握了上一本書中例子後,你就要自己找一些例子程式去看。開始可能是看不懂,但是只要努力就沒有什麼問題。當你看過幾個較大的例子之後, 你會茅塞頓開, ( 大量閱讀例子程式是學習c/c++的捷徑 ) 你會發現, 你的水平有了顯著的提高。你看的例子越多,你對 windows/dos 了解的越多。 最好能夠再看一些關於系統知識的書籍,他會對你的程式設計很有幫助的。
C語言和C 的區別
c 是c發展來的!c 是物件導向的語言,而c是結構化的語言!c的所有 在c 上都能應用,而c 的 在c上不能應用!c 是功能更強大的c!c語言與vc 的區別有很多 1,全新的程式程式思維,c語言是面向過程的,而vc 是物件導向的。2,c語言有標準的函式庫,它們鬆散的,只是把功能相同的函式放在乙個標頭...
C語言和C 的區別
1.字尾不同 2.關鍵字不同 c語言 c99有32個關鍵字 c c 98有63個關鍵字 3.c 面向過程 c 基於物件導向 面向過程與物件導向的區別?1 面向過程 c語言 eat 蛋炒飯 把所有要做的放在一起,無法做到飯與菜的分離,如果想改變菜會造成浪費 舉個例子 開車走在c中這麼想的,先分為幾步 ...
C語言和C 的區別
c是面向過程的,資料與演算法分開。它的重點在於演算法和資料結構。側重於計算機底層操作。c 是物件導向的,主要特點是類,封裝和繼承。與c的區別主要為 類 繼承和多重繼承 運算子過載 類模板 c 標準庫 模板庫。c 是c的超集,也可以說c是c 的子集,因為c先出現。按常理說,c 編譯器能夠編譯任何c程式...