1樓:匿名使用者
c是一個結構化語言,如e68a84e8a2ad62616964757a686964616f31333332636363
譚老爺子所說:它的重點在於演算法和資料結構。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 中常量與變數的區別
常量在執行過程中值不會被改變,變數在執行過程中會被改變。常量會被分配在堆記憶體中,變數會被分配在棧上。最通俗copy的解釋可以 按數學上的常量和變數來理解,你可以不用知道內部機理。常量的值不容許改變,而變數的值可以在程式執行中可以動態改變。形式上變數肯定用變數的識別符號 也就是所謂的變數名 表示。常...
c語言中巨集替換與定義全域性變數的區別是什麼
全域性變數 是可以在程式中任何地方使用 而且是可以修改的 巨集定義也可以在任何地方使用 但是不能在之後修改 資料型別沒有限制的 巨集定義不分配記憶體,全域性變數定義分配記憶體。巨集定義的值在程式中是不能改變的,只是巨集替換,全域性變數的值是可以在程式中更改的。巨集定義不存在型別問題,它的引數也是無型...
c語言中與的區別C語言中與的區別
區別 1.運算子性質不同。是一個位運算子。是一個邏輯運算子。2.作用不同。是將兩個二進位制的數逐位相與,結果是相與之後的結果。就是判斷兩個表示式的真假性,只有兩個表示式同時為真才為真,有一個為假則為假,具有短路性質。3.用途限制。除了是一個位運算子,也是取地址符。就是一個單純的邏輯運算子,沒有任何其...