最簡(jiǎn)單的C++程序_第1頁
最簡(jiǎn)單的C++程序_第2頁
最簡(jiǎn)單的C++程序_第3頁
最簡(jiǎn)單的C++程序_第4頁
最簡(jiǎn)單的C++程序_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第1章 最簡(jiǎn)單的C+程序,1.1 C和C+ 1.2 一個(gè)簡(jiǎn)單的程序 1.3 C+程序的實(shí)現(xiàn)與運(yùn)行環(huán)境,1.1 C和C+,1.1.1 C+的發(fā)展史 C語言是20世紀(jì)80年代以來迅速推廣使用的一種程序設(shè)計(jì)語言。它既具有高級(jí)語言的特點(diǎn),又具有低級(jí)語言的一些特點(diǎn),能夠很方便地實(shí)現(xiàn)匯編級(jí)的操作,目標(biāo)程序效率較高。然而,C語言也存在一些缺陷,例如類型檢查機(jī)制相對(duì)較弱,缺少支持代碼重用的語言結(jié)構(gòu)等,使得用C語言開發(fā)大程序比較困難。為了克服C語言存在的缺點(diǎn),并保持C語言簡(jiǎn)潔、高效的特點(diǎn),貝爾實(shí)驗(yàn)室的Bjarne Stroustrup博士及其同事于1983年開始對(duì)C語言進(jìn)行改進(jìn)和擴(kuò)充,將“類”的概念引入了C語言

2、,構(gòu)成了最早的C+語言。,發(fā)明C+的重要目標(biāo)就是在保留C原有精華的基礎(chǔ)上提供全面的面向?qū)ο蟮木幊讨С?,使得程序的結(jié)構(gòu)更加清晰,更容易維護(hù)和擴(kuò)充,同時(shí)又不喪失其高效性。后來Stroustrup博士及其同事們又為C+引進(jìn)了運(yùn)算符重載、引用、虛函數(shù)、友元、繼承、多態(tài)性、I/O流、New/Delete內(nèi)存分配與撤銷、無名聯(lián)合等許多新特性,并使之更加精煉。 C+支持面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,很適合于大、中型軟件的開發(fā),從開發(fā)時(shí)間、費(fèi)用到軟件的可重用性、可擴(kuò)充性、可維護(hù)性和可靠性等方面,都具有很大的優(yōu)越性。,1.1.2 面向?qū)ο蟮某绦蛟O(shè)計(jì) 1面向?qū)ο蟮某绦蛟O(shè)計(jì)的基本概念 語言、PASCAL、FORTRAN等

3、都是一種面向過程的程序設(shè)計(jì)。面向過程的程序設(shè)計(jì)的基本思想是將問題分成獨(dú)立的功能模塊,用過程或函數(shù)來實(shí)現(xiàn),達(dá)到最終解決問題的目的。 它采用函數(shù)來描述對(duì)數(shù)據(jù)結(jié)構(gòu)的操作,但又將函數(shù)與其所操作的數(shù)據(jù)分離。作為對(duì)現(xiàn)實(shí)世界的抽象,函數(shù)和它所操作的數(shù)據(jù)是密切聯(lián)系、相互依賴的。如果數(shù)據(jù)結(jié)構(gòu)發(fā)生改變,則必須改寫相應(yīng)的函數(shù)。某個(gè)函數(shù)的改動(dòng)經(jīng)常引起許多其它函數(shù)的改動(dòng),維護(hù)較為困難,特別是難以適應(yīng)大型復(fù)雜軟件系統(tǒng)開發(fā)的需要。,面向?qū)ο蟪绦蛟O(shè)計(jì)從所處理的數(shù)據(jù)入手,并以數(shù)據(jù)為中心。它把現(xiàn)實(shí)世界的問題抽象為“類”的概念。類是對(duì)現(xiàn)實(shí)世界中的客觀事物的抽象,是對(duì)具有共同屬性和行為的一類事物的抽象描述,其中,共同屬性被描述為類中

4、的數(shù)據(jù)成員-屬性,共同行為被描述為類中的成員函數(shù)方法(和VB類似)。例如:汽車是對(duì)各種汽車(如小轎車、大卡車、公共汽車等)的一個(gè)抽象,汽車的顏色、型號(hào)、發(fā)動(dòng)機(jī)等是屬性,而開動(dòng)和轉(zhuǎn)彎等是它的成員函數(shù)即是它的方法。 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法最基本的思想就是把客觀世界看成一個(gè)個(gè)相對(duì)獨(dú)立而又相互聯(lián)系的實(shí)體,稱為對(duì)象。,類是對(duì)象集合的抽象,規(guī)定了這些對(duì)象的公共屬性和方法,對(duì)象是類的一個(gè)實(shí)例。例如,鋼筆是一個(gè)類,具體到一支鋼筆就是一個(gè)對(duì)象;一個(gè)桌子、一個(gè)氣球,一個(gè)地球都是一個(gè)對(duì)象。 。 現(xiàn)實(shí)世界中的對(duì)象既具有靜態(tài)的屬性(或稱狀態(tài)),又具有動(dòng)態(tài)的行為(或稱操作,功能)。再如“人”是一個(gè)“類”,即人類,人類具有

5、某些共同的屬性(狀態(tài),數(shù)據(jù)成員),即哺乳動(dòng)物,一個(gè)腦袋一張嘴,兩只小手兩條腿等;人類也具有某些共同的行為(方法,函數(shù)成員),即上課睡覺,走路吃飯,考試作弊,花錢享受等;張三是人,李四是人,都是“人類”的一個(gè)對(duì)象,也就是“人類”的具體實(shí)例。,再比如,所有的狗屬于一個(gè)類,即“狗類”,一只哈巴狗,一只賴皮狗,一只落水狗都是狗類的一個(gè)具體實(shí)例-即對(duì)象。類又有基類(父類)和派生類(子類)的概念,比如“狗類”是“好狗類”和“壞狗類”的父類,同時(shí)又是“哺乳動(dòng)物類”的子類。父類實(shí)際上是多個(gè)子類的進(jìn)一步抽象,具有更高的層次。 同一個(gè)類的對(duì)象除了具有某些共同的屬性和行為之外,還可能具有各自不同的屬性和行為,比如“

6、人類”的對(duì)象-某個(gè)人,可能是男人,女人,好人,壞人,高矮胖瘦,膚色發(fā)型,年齡愛好,貪官良民等等不同屬性;偷竊搶劫,樂善好施,殺人放火,扶危濟(jì)困,釣魚打牌,學(xué)習(xí)工作等等不同的行為。,2面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征 面向?qū)ο蟪绦蛟O(shè)計(jì)具有封裝、抽象、繼承和多態(tài)性4種基本特征。 (1) 封裝 封裝是把函數(shù)和數(shù)據(jù)封藏起來,把它看成一個(gè)有機(jī)整體。封裝是面向?qū)ο蟮闹匾卣?,首先它?shí)現(xiàn)了數(shù)據(jù)隱藏,保護(hù)了對(duì)象的數(shù)據(jù)不被外界隨意改變;其次它使對(duì)象成了相對(duì)獨(dú)立的功能模塊。對(duì)象好象是一個(gè)黑盒子,表示對(duì)象屬性的數(shù)據(jù)和實(shí)現(xiàn)各個(gè)操作的代碼都被封裝在黑盒子里,從外面是看不見的。 使用對(duì)象,只需知道它向外界提供的接口,而無須知道

7、它的數(shù)據(jù)結(jié)構(gòu)細(xì)節(jié)和實(shí)現(xiàn)操作的算法。,(2) 抽象 抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無關(guān)的那些方面,以便充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。對(duì)象本身也是一個(gè)抽象,是具有特定屬性和行為的一個(gè)抽象。抽象是通過特定的實(shí)例(對(duì)象)抽取共同性質(zhì)以后形成的概念。抽象是對(duì)系統(tǒng)的簡(jiǎn)化描述或規(guī)范說明,它強(qiáng)調(diào)了系統(tǒng)中的一部分細(xì)節(jié)和特性,而忽略了其他部分。抽象包括兩個(gè)方面:數(shù)據(jù)抽象和代碼抽象(行為抽象)。前者描述了某類對(duì)象的屬性或狀況,也就是此類對(duì)象區(qū)別于彼類對(duì)象的特征物理量,后者描述了某類對(duì)象的共同行為特征或具有的共同操作。,(3) 繼承 自然界中的大部分事物之間都有很多共性,但也有不同。比如,四邊形是一個(gè)類,而矩形與

8、四邊形有相同的性質(zhì),也有自已的屬性。我們可以將事物之間的共性保留下來也就是繼承,如矩形繼承四邊形這個(gè)類的公共屬性,將不同的特性再定義。面向?qū)ο蟪绦蛟O(shè)計(jì)方法允許一個(gè)類繼承其它類(稱為基類)的屬性和方法,該類稱為派生類(子類)。 繼承是類的層次結(jié)構(gòu)之間共享數(shù)據(jù)和方法的機(jī)制,允許和鼓勵(lì)類的重用。,(4) 多態(tài)性 多態(tài)性是指不同類的對(duì)象對(duì)同一消息作出不同的響應(yīng),或者說產(chǎn)生多種不同的行為方式。例如,同樣是加法,把兩個(gè)時(shí)間加在一起和把兩個(gè)整數(shù)加在一起的內(nèi)涵是完全不同的。再比如,十字路口的交通燈,同樣是燈,當(dāng)紅燈亮?xí)r,人們知道該停止;當(dāng)綠燈亮?xí)r,人們知道該通行。多態(tài)性包括參數(shù)多態(tài)性和包含多態(tài)性,它具有靈活、

9、抽象、行為共享和代碼共享的優(yōu)勢(shì)。 C+語言支持兩種多態(tài)性,即編譯時(shí)的多態(tài)性和運(yùn)行時(shí)的多態(tài)性。,編譯時(shí)的多態(tài)性是通過重載來實(shí)現(xiàn)的,運(yùn)行時(shí)的多態(tài)性是通過虛函數(shù)來實(shí)現(xiàn)的。 重載包括函數(shù)重載和運(yùn)算符重載。函數(shù)重載是指一個(gè)標(biāo)識(shí)符可同時(shí)用于為多個(gè)函數(shù)命名,而運(yùn)算符重載是指一個(gè)運(yùn)算符可同時(shí)用于多種運(yùn)算。相同名字的函數(shù)或運(yùn)算符在不同的場(chǎng)合可以表現(xiàn)出不同的行為。 虛函數(shù)的有關(guān)概念較復(fù)雜,后續(xù)講解。 對(duì)象是具體的類的實(shí)例,是客觀存在的,而類是對(duì)對(duì)象的抽象,只是一個(gè)概念,一個(gè)層次的描述,是不存在的但又需要加以利用的東西。在類的基礎(chǔ)上可以抽象出更高層次的父類。,3.消息和方法 對(duì)象之間需要聯(lián)系,稱為對(duì)象的交互。面向?qū)?/p>

10、象程序設(shè)計(jì)技術(shù)必須提供一種機(jī)制,允許一個(gè)對(duì)象與另一個(gè)對(duì)象交互,這種機(jī)制稱為消息傳遞。 一個(gè)對(duì)象向另一個(gè)對(duì)象發(fā)出的請(qǐng)求被稱為消息。當(dāng)對(duì)象接收到發(fā)向它的消息時(shí)就調(diào)用有關(guān)的方法,執(zhí)行相應(yīng)的操作。消息是一個(gè)對(duì)象要求另一個(gè) 對(duì)象執(zhí)行某個(gè)操作的規(guī)格的說明,通過消息傳遞才能完成對(duì)象之間的相互請(qǐng)求或相互協(xié)作。消息傳遞與用手機(jī)發(fā)送短信(短消息)具有非常相似的含義。,消息具有3個(gè)性質(zhì): (1)同一個(gè)對(duì)象可以接收不同形式的多個(gè)消息, 作出不同的響應(yīng)。 (2)相同形式的消息可以傳遞給不同的對(duì)象, 所作出的響應(yīng)可以是不同的。 (3)對(duì)消息的響應(yīng)并不是必須的, 對(duì)象可以響應(yīng)消息,也可以不響應(yīng)。 方法就是指對(duì)象所能執(zhí)行的操

11、作。方法包括界面和方法體兩部分,方法的界面也就是消息的模式,它給出了方法的調(diào)用協(xié)議,方法體則是實(shí)現(xiàn)某種操作的一系列計(jì)算步驟,也就是一段程序。,4.為什么要使用面向?qū)ο蟪绦蛟O(shè)計(jì) 傳統(tǒng)程序即面向過程的程序設(shè)計(jì)方法,開發(fā)軟件的生產(chǎn)效率低下,難以應(yīng)付日益龐大的信息量和多樣的信息類型,難以適應(yīng)各種新環(huán)境。 面向?qū)ο蟪绦蛟O(shè)計(jì)的優(yōu)點(diǎn)在于:可以提高程序的重用性,可以控制程序的復(fù)雜性,可以改善程序的可維護(hù)性,能更好的支持大型程序設(shè)計(jì),增強(qiáng)了處理信息的范圍,能很好的適應(yīng)新環(huán)境,,1.2 一個(gè)簡(jiǎn)單的程序,1.2.1 一個(gè)簡(jiǎn)單的C+程序 例:編程求從鍵盤上輸入的兩個(gè)浮點(diǎn)數(shù)的和 #include void main()

12、 /SAMPLE S1_1 double x,y; coutEnter two double number:;,cinxy; double z=x+y; coutx+y=zendl; 執(zhí)行該程序,屏幕上出現(xiàn)如下提示信息: Enter two double number:3.456 71.3 運(yùn)行結(jié)果為: x+y=74.7 (注:再舉例演示S1_2),1.2.2 C+程序結(jié)構(gòu)特點(diǎn) 1. C+程序的組成 C+程序由若干個(gè)文件組成,每個(gè)文件又由若干個(gè)函數(shù)組成。C+程序的若干個(gè)函數(shù)是相對(duì)獨(dú)立的程序段。組成一個(gè)程序的若干個(gè)函數(shù)中,有且僅有一個(gè)是主函數(shù),其函數(shù)名為main,它可以有參數(shù),也可以無參數(shù)。主函

13、數(shù)只能存在于組成該程序的若干個(gè)文件中的一個(gè)。 程序是用計(jì)算機(jī)語言對(duì)程序要完成任務(wù)(即功能)的描述。程序必須存儲(chǔ)在文本文件中,稱為源程序文件。對(duì)于C+,源程序文件約定的擴(kuò)展名是.CPP。文件名最好有一定的提示作用,能使人聯(lián)想到程序的內(nèi)容或功能。,利用Visual C+進(jìn)行Windows編程時(shí),源程序代碼主要可以分為類: (1)頭文件(*.h)。頭文件用于定義函數(shù)原型、類的聲明等 (2)CPP文件(*.CPP)。CPP文件用于定義函數(shù)或類成員函數(shù)的實(shí)現(xiàn) (3)資源文件(*.RC)。資源文件中定義的是應(yīng)用程序中所遇見的菜單、對(duì)話框、位圖等資源,它是一個(gè)文本文件,可以被VC+集成編譯環(huán)境可視化顯示。

14、另外,VC+還會(huì)產(chǎn)生一些工程管理文件,由于應(yīng)用程序通常由許多源程序組成,因此,為了進(jìn)行有效管理,VC+將它們以一種形式組織在一起,這種組織形式稱為工程(Project),其擴(kuò)展名為(*.dsp)-與VB文件的組織形式類似。,2. 預(yù)處理命令#include 預(yù)處理命令是包含命令,其功能是把一個(gè)文本文件的內(nèi)容包含到該命令處。1.2.1節(jié)的程序的第1行以#打頭,表明該行是一個(gè)預(yù)處理命令;是命令的參數(shù),它指出了要包含的那個(gè)文件的文件名是iostream.h。C語言和匯編語言均采用這種包含形式。 3. 頭文件 以.h作為擴(kuò)展名,包含有對(duì)象和函數(shù)說明的文件稱為頭文件。在1.2.1節(jié)的程序中,用C+流完成

15、輸入、輸出的操作,其中,cout是輸出流對(duì)象,cin是輸入流對(duì)象;和endl都是特殊函數(shù)。這些對(duì)象和函數(shù)是系統(tǒng)提供的,但必須先說明后使用,它們的說明就在系統(tǒng)提供的頭文件iostream.h中。,4. 輸入和輸出 程序要求用戶提供信息的過程稱為程序的輸入。程序向用戶發(fā)出一些信息的過程稱為程序的輸出。C+程序的輸入操作是由系統(tǒng)提供的標(biāo)準(zhǔn)輸入流對(duì)象cin來完成的。它的格式為: cinv1v2.vn; 其中,“”的功能是從輸入流中提取數(shù)據(jù)賦值給一個(gè)變量,稱為提取操作符或輸入運(yùn)算符;v1,v2,.,vn都是變量。該語句的意思是,程序暫時(shí)中止執(zhí)行,等待用戶從鍵盤上輸入數(shù)據(jù)。用戶輸入了所有的數(shù)據(jù)后,按回車鍵

16、表示輸入結(jié)束,程序?qū)⒂脩翩I入的數(shù)據(jù)存入各變量中,并繼續(xù)執(zhí)行下面的語句。,C+的輸出操作是由系統(tǒng)提供的標(biāo)準(zhǔn)輸出流對(duì)象cout來完成的。它的格式為 coutx=x;y=yendl; 其中,“”稱為插入運(yùn)算符或輸出運(yùn)算符,x,y都是表達(dá)式,endl是換行符。這個(gè)語句的意思是,將表達(dá)式的值輸出到屏幕上當(dāng)前光標(biāo)位置處。在輸出時(shí)可適當(dāng)使用字符串作為提示信息。,5. 注釋符 在C+中,注解的形式有兩種:一種以兩個(gè)斜杠“/”起頭(SQL SERVER中以起頭),直到行末;一種是用斜線星號(hào)組合“/*”和“*/”括起的任意文字(與SQL SERVER相同)。后一種多用于注解篇幅多于一行的情況。 編譯系統(tǒng)不理會(huì)注釋

17、文字,因此注釋文字可以是任意的。注釋可使程序更容易理解,在編寫程序時(shí)隨時(shí)添加注釋是一種良好的習(xí)慣。,類的聲明部分 面向?qū)ο蟪绦?類的使用部分,1.3 C+程序的實(shí)現(xiàn)與運(yùn)行環(huán)境,Visual C+(簡(jiǎn)稱VC+)是美國(guó)Microsoft公司開發(fā)的Microsoft Visual Studio的一部分,是一個(gè)使用廣泛的C/C集成化開發(fā)環(huán)境。它成功地將面向?qū)ο蠛褪录?qū)動(dòng)編程概念聯(lián)系起來,并得到了很好的配合,使得編寫Windows應(yīng)用程序的過程變得簡(jiǎn)單、方便且代碼量小。VC 6.0集程序的代碼編輯、編譯、連接、調(diào)試于一體,給編程人員提供了一個(gè)完整、方便的開發(fā)界面和許多有效的輔助開發(fā)工具。,VC+ 6.0

18、的編輯環(huán)境包含了許多獨(dú)立的組件,它們是:文本編輯器、資源編輯器、C/C+編譯器、連接器、調(diào)試器、AppWizard、ClassWizard 、源程序?yàn)g覽器以及聯(lián)機(jī)幫助。所有這些構(gòu)件的功能都隱藏在VC+ 6.0的菜單和工具條中。通過該集成環(huán)境,程序員可以觀察和控制整個(gè)開發(fā)進(jìn)程。 VC+ 6.0的主窗口可以分為如圖1-1所示的幾個(gè)部分。 典型的Windows應(yīng)用程序結(jié)構(gòu)有控制臺(tái)應(yīng)用程序,基于框架窗口的應(yīng)用程序,基于對(duì)話框的應(yīng)用程序和基于文檔視圖結(jié)構(gòu)的應(yīng)用程序4種。,VC+既可用于管理基于Windows的應(yīng)用項(xiàng)目,也可用于管理基于DOS的應(yīng)用項(xiàng)目。基于DOS的應(yīng)用系統(tǒng)也稱為控制臺(tái)應(yīng)用系統(tǒng),本書前9章

19、的應(yīng)用程序均為控制臺(tái)應(yīng)用程序??刂婆_(tái)應(yīng)用程序結(jié)構(gòu)簡(jiǎn)單,可以不使用MFC類庫。本書的第10章將介紹基于Windows的編程,基于框架窗口以及基于對(duì)話框和單文檔的應(yīng)用程序。,圖1-1 VC 6.0的主窗口,1.3.1 Visual C+ 6.0常用功能介紹: 1文件菜單 文件菜單中共有14個(gè)菜單項(xiàng),分成6組,組與組之間通過凹下去的橫線分割開。第一組是基本文件操作;第二組是工作區(qū)操作,工作區(qū)是VC+ 6.0中最大的一個(gè)處理單位,每個(gè)工作區(qū)包括多個(gè)工程,每個(gè)工程又包含若干個(gè)文件;第三組用于文件保存;第四組用于文件打印。 2編輯菜單 編輯菜單包含用于編輯和搜索的命令,這些命令與其它Windows應(yīng)用程序

20、中的同名命令具有相似的功能。,3查看菜單 查看菜單包含用于檢查源代碼和調(diào)試信息的命令項(xiàng),它可以用來設(shè)置全屏方式顯示窗口,或者打開工作區(qū)窗口、輸出窗口和各種調(diào)試窗口。 4插入菜單 插入菜單可以創(chuàng)建新的類、資源、窗體并將它們插入到文檔中;可以將文件作為文本插入到文件中,也可以添加新的ATL對(duì)象到項(xiàng)目中。,5工程菜單 工程菜單中的命令用于管理項(xiàng)目和工作區(qū)??梢赃x擇指定的項(xiàng)目作為工作區(qū)中的活動(dòng)項(xiàng)目,也可以把文件、文件夾、數(shù)據(jù)鏈接以及可再用部件添加到項(xiàng)目中,還可以編輯和修改項(xiàng)目間的依賴關(guān)系。,6編譯菜單 編譯菜單中包括以下命令: (1) 編譯(Compile):此命令用于編譯顯示在源代碼的編輯窗口中的源

21、文件并檢查源文件中是否有語法錯(cuò)誤。在編譯過程中若有警告或錯(cuò)誤,則將在輸出窗口中顯示錯(cuò)誤信息??梢韵蚯盎蛳蚝鬄g覽輸出窗口中的錯(cuò)誤信息,然后按F4鍵在源代碼編輯窗口中顯示相應(yīng)的代碼行。(快捷鍵:【Ctrl+F7】),(2) 構(gòu)建(Build):用于創(chuàng)建項(xiàng)目的可執(zhí)行目標(biāo)文件(.exe或 .dll),但不運(yùn)行它。 (3) 重建全部(Build all):重新編譯所有文件(包括資源文件),重新連接生成可執(zhí)行的目標(biāo)文件。 (4) 成批編譯(Batch Buile):成批編譯、連接不同項(xiàng)目或同一項(xiàng)目的不同設(shè)置。 (5) 清除(Clean):把編譯、連接過程中所生成的中間文件和最終可執(zhí)行的目標(biāo)文件刪除掉。,(

22、6) 開始調(diào)試(Start Debug):在調(diào)試狀態(tài)下運(yùn)行程序,程序運(yùn)行到一個(gè)斷點(diǎn)處暫時(shí)停止。 (7) 執(zhí)行(Execute):運(yùn)行可執(zhí)行目標(biāo)文件,如果此文件比源代碼舊,則首先編譯項(xiàng)目,再運(yùn)行新產(chǎn)生的可執(zhí)行目標(biāo)文件(快捷鍵【Ctrl+F5】),1.3.2 VC+6.0控制臺(tái)應(yīng)用程序 1應(yīng)用項(xiàng)目的建立 一個(gè)應(yīng)用項(xiàng)目(Project)由若干個(gè)編譯單元組成,而每個(gè)編譯單元由一個(gè)程序文件(擴(kuò)展名是CPP)及與之相關(guān)的頭文件(擴(kuò)展名是)組成。在組成項(xiàng)目的所有單元中,必須有一個(gè)(也只能有一個(gè))單元包含函數(shù)main()的定義,這個(gè)單元稱為主單元,相應(yīng)的程序文件稱為主程序文件。一個(gè)簡(jiǎn)單的控制臺(tái)應(yīng)用系統(tǒng)可以只有

23、一個(gè)單元,即主單元。通過編譯,每個(gè)單元生成一個(gè)浮動(dòng)程序文件(也稱為目標(biāo)程序文件,擴(kuò)展名是OBJ)。通過鏈接這些浮動(dòng)程序文件,整個(gè)系統(tǒng)生成一個(gè)惟一的可執(zhí)行文件,擴(kuò)展名是EXE。,由若干個(gè)關(guān)系密切的項(xiàng)目構(gòu)成一個(gè)工作區(qū),工作區(qū)在建立時(shí)自動(dòng)生成擴(kuò)展名為DSW的工作區(qū)文件以及其它文件。 建立一個(gè)控制臺(tái)應(yīng)用項(xiàng)目(名為li)的過程分為三步 1) 建立項(xiàng)目及工作區(qū) (1) 啟動(dòng)Visual C+后,選擇菜單命令“文件”“新建”,屏幕上出現(xiàn)新建對(duì)話框,其中包括文件、工程、工作區(qū)和其它文檔4個(gè)卡片。一般當(dāng)前卡片是工程,如果不是,則應(yīng)點(diǎn)擊“工程”標(biāo)簽,使之成為當(dāng)前卡片,如圖1-2所示。,圖 1-2,(2) 選擇Wi

24、n32 Console Application(32位控制臺(tái)應(yīng)用程序)。在窗口的右上方的“工程”處,輸入要建立的項(xiàng)目的名稱,在“位置”處輸入工程所在的路徑,然后按“確定”按鈕。屏幕上出現(xiàn)圖1-3所示的Win32 Console Application-Step of 1界面。,圖 1-3,(3) 圖1-3是應(yīng)用程序生成向?qū)?,提問要生成的?xiàng)目類型。選擇“An Empty Project(空項(xiàng)目)”,然后按“完成”按鈕。此時(shí),屏幕上會(huì)出現(xiàn)圖1-4所示的新建工程信息,檢查無誤后按“確定”按鈕。 2) 建立主程序文件lyh.cpp 再次選擇“文件”菜單的“新建”選項(xiàng),彈出圖1-5所示的窗口。選擇“文件

25、”標(biāo)簽, 從窗口中選擇C+ Source File(C+源程序),在窗口右側(cè)“文件”處填寫文件的名字lyh,在“目錄”處輸入該文件存放的路徑,然后按“確定”按鈕。彈出圖1-6所示的窗口。,圖 1-4,圖 1-5,圖 1-6,3) 輸入程序 如圖1-6所示,在VC+ 6.0窗口右側(cè)的文件編輯窗口中出現(xiàn)了一個(gè)空文件,在光標(biāo)處輸入源程序的內(nèi)容,如圖1-7所示。,圖1-7,2. 程序的運(yùn)行 選擇菜單命令“編譯”中的“編譯 程序名.cpp”(或按F7鍵),編譯源程序。稍后在Output窗口中會(huì)顯示編譯結(jié)果。如果編譯出錯(cuò),則重新返回編輯窗口,查找并改正錯(cuò)誤后,繼續(xù)編譯直到?jīng)]有編譯錯(cuò)誤。編譯會(huì)產(chǎn)生一個(gè)目標(biāo)文件(后綴為.obj)。目標(biāo)文件還需通過連接生成可執(zhí)行文件。選擇菜單選項(xiàng)“編譯”中的“編譯 文件名.exe連接目標(biāo)文件。連接的結(jié)果顯示在Output窗口中,它是一個(gè)可執(zhí)行文件。,1.3.3 VC+ 6.0 MFC應(yīng)用程序 Microsoft提供了一個(gè)功能強(qiáng)大的基礎(chǔ)類庫MFC(Microsoft Foundation Class),其中包含許多用來開發(fā)C+應(yīng)用程序的類。它包含基類、窗口、對(duì)話框和控制類以及繪圖打印類等。 Visual C+的MFC應(yīng)用框架將編輯器、編譯器、連接

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論