1樓:馮老師(必果學院
它們只是語法具有相似性,並沒有什麼本質的關聯,也並不完全相容
c語言和c++語言語法具有相似性,但是差異還是比較大的:
1 關鍵字不一樣。c++具有更多的關鍵字。而c語言的關鍵字要少很多。
2 相同的關鍵字解釋也不一定相同。比如struct解釋就不一樣。c++中struct實際上是按照類(也就是class)來解釋的,可以有成員函式、成員變數、建構函式、析構函式等等。
c語言裡面的struct是一種資料結構,不存在成員函式或者建構函式等等東西。
3 c++擁有網域名稱空間、模板等更加先進的語法特徵,而c語言不具備這些。
4 使用的編譯器也不相同。在linux中,c++使用的是g++編譯器,而c是用的gcc編譯器。如果將c++**傳入gcc編譯器,它會呼叫g++去編譯。
如果你用g++編譯c語言**,它會按照c++的方式解釋**,這樣可能一些結構體的行為會和你預期的行為不一致。
5 他們使用的範圍不同。c++一般是面向應用級別的程式開發,c語言則是面向核心或者驅動級別的開發。c語言現在一般沒有用於應用開發的了。
6 使用的庫也不一樣。c++可以使用c的庫,但是c語言不一定能夠使用c++的庫,除非c++的庫介面是按照c語言的規範編寫的。
7 c語言是一種面向過程開發的語言,核心是函式和資料結構。c++是一種物件導向開發的語言,核心是類和復用。
總之他們並不相同,也不能混為一談。你可以直接學習c++而跳過c語言,這樣反而對於你理解c++的思想有好處。你也可以單獨學習c語言,而不學c++,如果你只需要做核心或者做驅動。
千萬不能因為一些基礎的關鍵字和語法特徵相似而認為他們相容。
2樓:匿名使用者
理論上可以,可是現實的工作並不是侷限於開發語言本身的。需要具體應用的知識。
3樓:匿名使用者
c++是在c基礎上發展起來的,所以c是c++的基礎,不建議跳過。
不過你想跳的話就跳吧,出現問題客服就行。
4樓:超級劉子昂
。。。大部分的 c++ 編譯器都是可以編譯 c 語言程式的。。。只要你包含了 stdio.h
5樓:絳紫方糖
c++是c的超集,c是c++的子集。一般上來說,如果你學了c++,c的程式是肯定能看懂的。
但是因為現在一般開發c++都是上層應用的,例如vc++呀,qt之類的。
而c一般是偏向底層的,用gcc之類的編譯器來編的,所以雖然**你能看懂,但是不一定能搞懂,或者能去開發(這也就是為什麼很多做純c的待遇蠻高)。
語言其實是很簡單的,真正重要的是很多其他的技術,所以要保持乙個學習的心態,學哪個語言沒關係的
6樓:空雪夢見
可以。沒什麼太大弊端,不如說一開始就c++的話還可以避免形成c那種結構化程式設計的思維定勢,直接來物件導向。
不過先提醒你一下物件導向比結構化程式設計要難…………把c++當c用比起在c++中寫物件導向程式要簡單不少
7樓:
弊端倒是沒有,不過先學一下c在學c++會快一點,更好理解
8樓:操羽
c++ 是c語言的超集,無所謂,當然如果你會c的話會對於學習c++有一定的幫助,但不是絕對的
9樓:
可以這麼說,比如c的輸入輸出在c++中都是可以的
10樓:匿名使用者
c++是面向對像程式設計的,比較靈活
11樓:匿名使用者
建議先學c,c語言是所有程式語言的基礎
12樓:黃
相容的,沒什麼弊端,相通的。
c和c++的區別
13樓:
除了c語言面向過程,c++物件導向外,這兩種語言還有乙個區別:c語言中函式呼叫語句明顯多於c++語言。c語言的輸入輸出都需要依賴庫函式!
14樓:匿名使用者
物件導向的字面意思很明顯,c++所要操作的主要是物件!
物件是通過類來描述和實現的,所以c++有類的各種語法。
c語言面向過程,所以在c語言裡面沒有類!
15樓:匿名使用者
首先c++的語法是以c為基礎發展起來的,所以很多地方相似,c++完全相容c
c是面向過程的,整個程式體現很強的過程性,是沿著流程的發展順序編寫程式; c++是物件導向的,是將一些屬性和行為相同的事物抽象成類,程式主要是乙個個類組成的
16樓:匿名使用者
c++ #include
#include
c++的強大在於其封裝性,物件導向,繼承性,最重要的是其stl,標準函式庫提供了強大的功能。
17樓:匿名使用者
不對 c純粹面向過程 而c++是一半面向過程一半物件導向,c++是由c改編的 所以兩者語法和格式幾乎一樣 指標記憶體分配等極具特色的內容都一樣 但是c++有明顯的好處 函式的延伸 類 封裝 物件導向主要體現在類上面 ,因為類使得模組之間隔離開 語法上區別不大 之前說了 c++是c改編的 雖然語法差別不大 但是類和別的東西在本質上是不一樣的 這就是為啥c無法編寫大型複雜程式展而c++卻可以的原因
18樓:匿名使用者
你先要弄明白什麼是物件導向這個概念。
最明顯的c++有class這個概念,class就可以被理解成乙個物件,而這個物件也可以具有多型的性質,在乙個class裡面宣告的成員變數可以定義為private將變數封裝在這個class的記憶體裡。而且你也可以另外寫乙個class來繼承這個class,這都是c++物件導向的特點,這些c都是不具備的。簡單來說物件導向是針對於某個物件,比如乙個物件(class)叫做「印表機」,他的主要工作就是能「printf("hello world\n")」,也可以給他定義多個工作,而另乙個物件叫做「人」,他的工作就是可以呼叫印表機的方法「printf("hello world\n")」。
而面向過程,就沒有「印表機」和「人」這個概念,只是描述了這件事:「printf("hello world\n")」
19樓:
給你舉個例子:
假如讓c程式設計師完成 開啟收音機這個動作,那c程式設計師會這樣封裝自己的函式:
寫乙個函式叫int openradio(char* people)把人當作引數穿進去,完成開啟收音機的功能!
假如讓c++程式完成這個動作
他也許會把這個過程封裝到乙個類中:
class radio
;用的時候例項話一下,用例項化出來的物件調一下openradio就好了!
把本質理解了,就知道什麼叫物件導向什麼叫面向過程了!
最後,如果你達到了一定的境界,c和c++在這些大師眼中是沒有任何區別的~
20樓:匿名使用者
huangliuyou 說的對 c和c++在這些大師眼中是沒有任何區別的~
所謂語言只是一門工具 c面向過程 c++物件導向 。 c同樣也可以實現物件導向程式設計。只是c++為這種專門的結構取了新的名字,新增新的規則罷了。
c語言中的語言可以在c++中用嗎
21樓:匿名使用者
可以的。c++是向下對c語言相容的。c語言中所有的特性或函式還有操作符都可在c++中不經過修改直接使用。
不同的是,c++的標準函式庫(stl)可能提供了更好的實現方式。樓主可以大膽在c++中使用c的函式,不用擔心的。
微軟的visual c++可以用來編寫c語言嗎?
22樓:生殘夜_深邃
是可以的
c++語言與c語音的最大區別在於前者是物件導向的,後者是面向過程的,你可以把c++看作是c的拓展,c++是相容c的,所以你在用c++程式設計時,插入c語音塊,完全是可以的,所以visual c++是可以編寫c語音的。
23樓:微笑殺手者
完全可以,但是為了c語言安裝乙個visual c++太大了,vc++6.0倒還可以,我還推薦code blocks,非常好用~
24樓:安靜的博餅
vc對c全相容,c語言教學版一般採用turbo c
但公司裡用到專案編譯一般採用visual studio 6.0以上版本。
c++相容c語言嗎?
25樓:風若遠去何人留
c++相容c語言所有操作。標準的c語言,可以無需任何更改,在c++編譯器下進行編譯執行。
c++是在c語言的基礎上開發的一種物件導向程式設計語言,應用廣泛。c++支援多種程式設計正規化 --物件導向程式設計、泛型程式設計和過程化程式設計。
c語言是c++的基礎,c++和c語言在很多方面是相容的。
c語言是乙個結構化語言,它的重點在於演算法與資料結構。c程式的設計首要考慮的是如何通過乙個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事物)控制)。c++,首要考慮的是如何構造乙個物件模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取物件的狀態資訊得到輸出或實現過程(事物)控制。
所以c語言和c++的最大區別在於它們解決問題的思想方法不一樣。
c++對c的「增強」,表現在六個方面:
(1) 型別檢查更為嚴格。
(2) 增加了物件導向的機制。
(3) 增加了泛型程式設計的機制(template)。
(4) 增加了異常處理。
(5) 增加了運算子過載。
(6) 增加了標準模板庫(stl)。
學C語言的煩惱,c語言難學嗎
介紹一下初學者寫程式的方法吧 1 分析問題,提出演算法 搞清楚需要解決什麼問題,怎麼解決。2 將演算法表達出來,可以用偽碼,也可以土一點直接用中文寫。3 將偽碼用計算機語言表達出來。剛開始都這樣,都會經歷乙個比較艱苦的過程。當你學到一定的程度時,就會發現還是有樂趣的。剛開始學c是不需要什麼數學功底的...
在c語言中for是無限迴圈嗎,c語言求大神解釋for為什麼是無限迴圈的
是迴圈,但不是無限呀,肯定還有個except然後結果就出來了 是無限迴圈 也可以用while 1 更直觀 c語言 求大神解釋 for 為什麼是無限迴圈的?該函式等同於while 1 由於執行for迴圈for 初始條件 判斷條件 結束時執行 的判斷條件沒寫,意味著判斷結果始終為真,沒有跳出迴圈的契機,...
c語言的難度大不大?c語言難嗎?
其實很多東西都是看似很難,但是只要你認真的去學,用心去學它,其實是不難。c語言難嗎?計算機c語言是一門通用計算機程式語言,不難學。c語言的設計目標是提供一種能以簡易的方式編譯 處理低階儲存器 產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。儘管c語言提供了許多低階處理的功能,但仍然保持...