


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言和C++的區(qū)別C語(yǔ)言和C++的區(qū)分
C和C++之間有什么關(guān)系?C和C++的關(guān)系就像是win98跟winXP的關(guān)系。C++是在C的基礎(chǔ)上增加了新的理論,玩出了新的花樣。所以叫C加加。
C和C++的區(qū)分:
C是一個(gè)結(jié)構(gòu)化語(yǔ)言,它的重點(diǎn)在于算法和數(shù)據(jù)結(jié)構(gòu)。C程序的設(shè)計(jì)首要考慮的是如何通過(guò)一個(gè)過(guò)程,對(duì)輸入(或環(huán)境條件)進(jìn)行運(yùn)算處理得到輸出(或?qū)崿F(xiàn)過(guò)程(事務(wù))掌握)。
C++,首要考慮的是如何構(gòu)造一個(gè)對(duì)象模型,讓這個(gè)模型能夠契合與之對(duì)應(yīng)的問(wèn)題域,這樣就可以通過(guò)獵取對(duì)象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過(guò)程(事務(wù))掌握。所以C與C++的最大區(qū)分在于它們的用于解決問(wèn)題的思想方法不一樣。之所以說(shuō)C++比C更先進(jìn),是由于"設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中'。
下面我們一步一步來(lái)分析C++與C的不同:
一、類,類對(duì)于初學(xué)者,它是一個(gè)累贅。類的封裝使得初學(xué)者對(duì)程序產(chǎn)生厭倦,感到不適和麻煩。
二、引用,引用是C++中最好盡量不要用它,除非萬(wàn)不得已。引用對(duì)于初學(xué)者就更簡(jiǎn)單產(chǎn)生混淆,不知道哪個(gè)是引用,哪個(gè)是變量。
三、函數(shù)的重載,初學(xué)者學(xué)函數(shù)的重載似乎沒(méi)什么壞處,但是,這會(huì)使初學(xué)者潛意識(shí)里對(duì)C語(yǔ)言的變量類型的重要性產(chǎn)生淡化,要記住C語(yǔ)言是對(duì)變量類型最敏感了的.,變量的類型在C語(yǔ)言里的重要性是不言而喻的。
四、流操作符,和上面同樣的道理,使得對(duì)變量類型的重要性產(chǎn)生淡化,有時(shí)會(huì)產(chǎn)生使初學(xué)者莫名其妙的結(jié)果。
五、操作符重載,典型的高級(jí)應(yīng)用,初學(xué)者可能根本用不著,這個(gè)東東會(huì)讓他們覺(jué)得C++很難,門檻高,看不懂。
六、繼承,以及虛函數(shù),看起來(lái)淺顯,有用價(jià)值很低。還有些東東我就不發(fā)表評(píng)論了,如:new,操作符等
七、誤區(qū):以問(wèn)答形式:
問(wèn):C++是面對(duì)對(duì)象化的而C是面對(duì)過(guò)程化的?
答:其次對(duì),第一問(wèn)錯(cuò),C++并非完全面對(duì)對(duì)象化,真正的面對(duì)對(duì)象化的語(yǔ)言唯恐只有Java才算得上。
問(wèn):C++能實(shí)現(xiàn)C所不能的功能嗎?
答:至少我還沒(méi)有發(fā)覺(jué)
問(wèn):學(xué)了C再學(xué)C++有障礙嗎?比如程序設(shè)計(jì)思想
答:至少我還沒(méi)有觀察誰(shuí)有此癥狀。
問(wèn):學(xué)了C再學(xué)C++又要重頭開(kāi)頭嗎?
答:不,C++下可以實(shí)現(xiàn)C語(yǔ)言的一切功能。
問(wèn):我學(xué)完了C肯定還要學(xué)C++才能編程嗎?
答:完全沒(méi)必要。
問(wèn):C++比C好在哪里?
答:更加符合軟件工程學(xué)
問(wèn):學(xué)完了C再學(xué)C++是不是很簡(jiǎn)單?
答:那要看你是不是真正的學(xué)完了C語(yǔ)言。
C與C++的最大區(qū)分:在于它們的用于解決問(wèn)題的思想方法不一樣。之所以說(shuō)C++比C更先進(jìn),是由于"設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中',而就語(yǔ)言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,錯(cuò)!算法是程序設(shè)計(jì)的基礎(chǔ),好的設(shè)計(jì)假如沒(méi)有好的算法,一樣不行。而且,"C加上好的設(shè)計(jì)'也能寫(xiě)出特別好的東西。
對(duì)語(yǔ)言本身而言,C是C++的子集,那么是什么樣的一個(gè)子集?從上文可以看出,C實(shí)現(xiàn)了C++中過(guò)程化掌握及其它相關(guān)功能,而在C++中的C(我稱它為"C+'),相對(duì)于原來(lái)的C還有所加強(qiáng),引入了重載、內(nèi)聯(lián)函數(shù)、特別處理等等玩藝兒,C++更是拓展了面對(duì)對(duì)象設(shè)計(jì)的內(nèi)容,如類、繼承、虛函數(shù)、模板和包涵器類等等。再提高一點(diǎn),在C++中,數(shù)據(jù)封裝、類型這些東東已不是什么新奇事了,需要考慮的是諸如:對(duì)象粒度的選擇、對(duì)象接口的設(shè)計(jì)和繼承、組合與繼承的使用等等問(wèn)題。
所以相對(duì)于C,C++包含了更豐富的"設(shè)計(jì)'的概念,但C是C++的一個(gè)自洽子集,也具有強(qiáng)大的功能,同樣值得學(xué)習(xí)
幾點(diǎn)學(xué)習(xí)建議:
1.基本概念很重要。無(wú)論學(xué)C,還是學(xué)C++,基本概念都是第一位的,也是比較困難的,但只有把握了基本概念才能把握整體脈絡(luò),才能居高臨下。
2.C是C++的子集,它的基本概念和設(shè)計(jì)方法相對(duì)比較簡(jiǎn)單理解,初學(xué)者可從它入手。
3.假如要學(xué)好C++,建議初學(xué)者最好別在如VC,BCB平臺(tái)下寫(xiě)程序,那種自動(dòng)化的代碼生成,花花綠綠的界面,會(huì)讓你手足無(wú)措。最好先找一片空地(unix,dos),從頭做起,寫(xiě)幾個(gè)大點(diǎn)的程序,數(shù)個(gè)回合,再到VC,BCB下看看,你會(huì)輕松得很。在我看來(lái),學(xué)好C/C++是成為VC,BCB高手的必由之路。
4.不要妄想速成,必需得一個(gè)byte,一個(gè)bit的去摳,盡量搞清晰每一個(gè)問(wèn)題。
C語(yǔ)言基本算法
1.交換(兩量交換借助第三者)
例1、任意讀入兩個(gè)整數(shù),將二者的值交換后輸出。
main()
{inta,b,t;
scanf(%d%d,a,b);
printf(%d,%d,a,b);
t=a;a=b;b=t;
printf(%d,%d,a,b);}
程序中加粗部分為算法的核心,猶如交換兩個(gè)杯子里的飲料,必需借助第三個(gè)空杯子。
假設(shè)輸入的值分別為3、7,則第一行輸出為3,7;其次行輸出為7,3。
其中t為中間變量,起到"空杯子'的作用。
留意:三句賦值語(yǔ)句賦值號(hào)左右的各量之間的關(guān)系!
例2、任意讀入三個(gè)整數(shù),然后按從小到大的挨次輸出。
main()
{inta,b,c,t;
scanf(%d%d%d,a,b,c);
if(ab){t=a;a=b;b=t;}
if(ac){t=a;a=c;c=t;}
if(bc){t=b;b=c;c=t;}
printf(%d,%d,%d,a,b,c);}
2.累加
累加算法的要領(lǐng)是形如"s=s+A'的累加式,此式必需消失在循環(huán)中才能被反復(fù)執(zhí)行,從而實(shí)現(xiàn)累加功能。"A'通常是有規(guī)律變化的表達(dá)式,s在進(jìn)入循環(huán)前必需獲得合適的初值,通常為0。
例1、求1+2+3++100的和。
main()
{inti,s;
s=0;i=1;
while(i=100)
{s=s+i;
i=i+1;
}
printf(1+2+3+...+100=%d,s);}
程序中加粗部分為累加式的典型形式,賦值號(hào)左右都消失的變量稱為累加器,其中"i=i+1'為特別的累加式,每次累加的值為1,這樣的累加器又稱為計(jì)數(shù)器。
3.累乘
累乘算法的要領(lǐng)是形如"s=s*A'的累乘式,此式必需消失在循環(huán)中才能被反復(fù)執(zhí)行,從而實(shí)現(xiàn)累乘功能。"A'通常是有規(guī)律變化的表達(dá)式,s在進(jìn)入循環(huán)前必需獲得合適的初值,通常為1。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 風(fēng)雨橋拆除施工方案
- 中外名曲賞析知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春廣東外語(yǔ)外貿(mào)大學(xué)
- 厘清刑法當(dāng)然解釋的適用界限
- 初中化學(xué)教學(xué)的難點(diǎn)剖析及對(duì)策研究
- 新疆某三甲醫(yī)院2012年-2016年住院兒童社區(qū)獲得性肺炎病原體變遷
- 炎癥性腸病貧血臨床特點(diǎn)及蔗糖鐵療效評(píng)估
- 鄂州閣樓安裝施工方案
- 2024新教材高中化學(xué)第2章化學(xué)鍵化學(xué)反應(yīng)規(guī)律第1節(jié)化學(xué)鍵與物質(zhì)構(gòu)成課時(shí)作業(yè)含解析魯科版第二冊(cè)
- 陜西省藍(lán)田縣焦岱中學(xué)高中政治4.1傳統(tǒng)文化的繼承教學(xué)設(shè)計(jì)4新人教版必修3
- 公司附加合同范本
- 2025年鐵嶺衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)新版
- 2025年安徽水利水電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)參考答案
- 2025年時(shí)政題庫(kù)及答案(100題)
- 2025年鐘山職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)帶答案
- 重慶市南開(kāi)名校2024-2025學(xué)年八年級(jí)下學(xué)期開(kāi)學(xué)考試物理試題(含答案)
- 盆底康復(fù)治療新進(jìn)展
- 2024年青海省中考生物地理合卷試題(含答案解析)
- 2024年江西旅游商貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及參考答案
- 鐵嶺衛(wèi)生職業(yè)學(xué)院?jiǎn)握袇⒖荚囶}庫(kù)(含答案)
- 注塑班長(zhǎng)工作職責(zé)
- 寫(xiě)字樓商業(yè)樓宇招商租賃制度流程規(guī)范五個(gè)案例合集
評(píng)論
0/150
提交評(píng)論