面試 C語言與C 的區別

2021-07-24 05:23:36 字數 979 閱讀 2032

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的去摳,盡量搞清楚每乙個問題。

面試常用之C語言與C 的區別

面試常用之c語言與c 的區別 1,全新的程式程式思維,c語言是面向過程的,而c 是面向對dao象的。2,c語言有標準的函式庫,它們鬆散的,只是把功能相同的函式放在乙個標頭檔案中 而c 對於大多數的函式都是有整合的很緊密,特別是c語言中沒有的c 中的api是對window系統的大多數api有機的組合,...

c 語言與C語言的區別

c 之類的語言是物件導向的。使用這樣的語言程式設計被稱為物件導向程式設計 object oriented programming,oop。它可以讓計算機程式設計師將乙個物件導向的設計實現稱為乙個可工作的軟體系統 c之類的語言是過程性 procedural 所以程式設計總是面向動作的。在c語言中,程式...

c語言與C 的區別

c語言與c 的區別有很多 1,全新的程式程式思維,c語言是面向過程的,而c 是物件導向的。2,c語言有標準的函式庫,它們鬆散的,只是把功能相同的函式放在乙個標頭檔案中 而c 對於大多數的函式都是有整合的很緊密,特別是c語言中沒有的c 中的api是對window系統的大多數api有機的組合,是乙個集體...