新手須知 C、C++和VC++之間的區(qū)別
下面介紹的是C、C++、VC++ 三者之間的區(qū)別。供大家參考。
C語(yǔ)言是一種古老而又經(jīng)久不衰的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,大約誕生于上個(gè)世紀(jì)60年代。由于它的設(shè)計(jì)有很多優(yōu)點(diǎn),多年以來(lái)深受廣大程序設(shè)計(jì)人員的喜愛(ài),并逐漸 淘汰了很多其它程序設(shè)計(jì)語(yǔ)言。我們平時(shí)使用的大多數(shù)軟件都是用C語(yǔ)言開(kāi)發(fā)的。
很多后來(lái)出現(xiàn)的一些語(yǔ)言也沿用了很多它的東西。C語(yǔ)言的編程方式是一種稱(chēng)為面 向過(guò)程的開(kāi)發(fā)方式。也就是說(shuō),解決問(wèn)題的時(shí)候,程序員需要思考計(jì)算機(jī)應(yīng)該如何一步一步完成這個(gè)問(wèn)題,然后將相應(yīng)過(guò)程轉(zhuǎn)化為代碼。
當(dāng)軟件變得越來(lái)越復(fù)雜,代碼越來(lái)越長(zhǎng)的時(shí)候,一個(gè)人的腦力有限,用面向過(guò)程的方法很難開(kāi)發(fā),往往寫(xiě)著后面的,就忘了前面寫(xiě) 了什么了。而且復(fù)雜軟件往往需要很多人協(xié)同開(kāi)發(fā),更加大了開(kāi)發(fā)難度。一種稱(chēng)為面向?qū)ο蟮能浖_(kāi)發(fā)方法應(yīng)運(yùn)而生。面向?qū)ο蟮乃枷胗脦拙湓?huà)很難說(shuō)清楚。
國(guó)內(nèi)的計(jì)算機(jī)教材在講到這里的時(shí)候往往也都說(shuō)不清楚什么叫面向?qū)ο?。這個(gè)詞語(yǔ)也許只能意會(huì)不能言傳吧。需要開(kāi)發(fā)過(guò)一些相關(guān)軟件才能領(lǐng)會(huì)。這里還是不具體說(shuō)了吧。 C語(yǔ)言不是面向?qū)ο蟮?,而程序員又離不開(kāi)C語(yǔ)言,因此有人在C語(yǔ)言的基礎(chǔ)上添加了面向?qū)ο蟮墓δ埽褪荂++.同時(shí),C++修改了C語(yǔ)言中一些不方便的規(guī) 定,使C語(yǔ)言用起來(lái)更方便了。
這里需要注意兩點(diǎn):
1.譚浩強(qiáng)那本著名的<>后面用了幾張篇幅簡(jiǎn)要介紹了C++,但是他講的C++只是上面提到的修改C語(yǔ)言不方便的規(guī)定,涉及到面向?qū)ο蟮膬?nèi)容一點(diǎn)沒(méi)有。
2.C++是在C語(yǔ)言的基礎(chǔ)上發(fā)展來(lái)的,但是并不是C++比C語(yǔ)言高級(jí),兩者的編程思想不一樣,應(yīng)用的領(lǐng)域也不一樣。在各自的領(lǐng)域,誰(shuí)也不能替代誰(shuí)。而且,windows操作系統(tǒng)出現(xiàn)以后,開(kāi)發(fā)windows平臺(tái)的圖形界面程序成為一大難題。用C語(yǔ)言雖然能開(kāi)發(fā),但是程序員要花費(fèi)很大的精力處理圖形界面。
同時(shí),windows平臺(tái)圖形界面的程序又都有很多相似點(diǎn)。為了解放程序員,讓他們把精力主要放在程序功能上,而不是放在圖形界面上,microsoft公 司推出了visual系列軟件開(kāi)發(fā)環(huán)境,包括為C++程序員提供的Visual C++.程序員能用C++語(yǔ)言在其上開(kāi)發(fā)圖形界面的軟件。微軟隨Visual C++提供了很多用于顯示W(wǎng)indows界面的庫(kù)函數(shù)。可以說(shuō)Visual C++就是C++加上windows圖形界面。
那是不是想學(xué)C++和C語(yǔ)言的話(huà),只要去學(xué)Visual C++就行了呢?大錯(cuò)特錯(cuò)!市面上任何一本Visual C++教材都是假設(shè)用戶(hù)已經(jīng)掌握了C++語(yǔ)言,重點(diǎn)在講和Windows程序設(shè)計(jì)相關(guān)的東西,而且往往都要講MFC.沒(méi)有C++基礎(chǔ),根本無(wú)法理解MFC 的任何東西。
很多人急功近利,覺(jué)得花費(fèi)半年甚至一年時(shí)間學(xué)習(xí)C++.連個(gè)圖形界面的程序都開(kāi)發(fā)不出來(lái),太不劃算。這種想法也是錯(cuò)誤的。世界上的軟件只有一部分具有圖形 界面,運(yùn)行在Windows平臺(tái),需要用Visual C++開(kāi)發(fā)。學(xué)好了C++,即使不學(xué)Visual C++,也是大有作為的。
還有很多人,要學(xué)C++或者C語(yǔ)言,先整個(gè)Visual C++裝上。其實(shí)這是一種誤區(qū)。Visual C++操作復(fù)雜,而且?guī)椭_(kāi)發(fā)者做了很多事情。對(duì)于初學(xué)者來(lái)說(shuō),操作復(fù)雜的話(huà)要花很多時(shí)間用在掌握Visual C++的用法上。幫開(kāi)發(fā)者做的那些事情,往往是初學(xué)者需要了解的,自己親手做一下,對(duì)學(xué)習(xí)更有好處。
再說(shuō)了,大家裝的往往都是非法版本,這種事情不是人家不追究就萬(wàn)事大吉了。自己良心有愧啊。大家學(xué)軟件還不是為了掙錢(qián),可是自己卻不尊重前輩的勞動(dòng)成果,真是無(wú)恥啊。
本人建議C語(yǔ)言和C++的初學(xué)者,上機(jī)練習(xí)最好用自己喜歡的代碼編輯器寫(xiě)好后用GCC編譯,對(duì)以后的深入學(xué)習(xí)大有好處。還是那句話(huà),理論加實(shí)踐才是最好的老師。