版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《C++程序設(shè)計語言》
實(shí)驗(yàn)指導(dǎo)書軟件教研室編西南科技大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院
2006年3月工欲善其事,必先利其器。 《靜海?ヱ靈公》總而言之,只有熟悉了這個領(lǐng)域的工具和技術(shù)才能對特殊的問題提供正確解答,只有キ富的經(jīng)驗(yàn)才能提供呉實(shí)的專業(yè)性結(jié)果。■RaymondFielding目錄TOC\o"1-5"\h\z\o"CurrentDocument"第一章C++實(shí)驗(yàn)基礎(chǔ)知識 6C++語言實(shí)驗(yàn)環(huán)境配置 6VisualC++6.0的使用 6\o"CurrentDocument"VisualC++介紹 6\o"CurrentDocument"VisualC++的安裝和啟動 6\o"CurrentDocument"常用功能鍵及其意義 7\o"CurrentDocument"輸入和編輯源程序 8\o"CurrentDocument"編譯、連接和運(yùn)行 10\o"CurrentDocument"建立和運(yùn)行包含多個文件的程序的方法 16VisualC++6.0工程相關(guān)文件介紹 22VisualC++6.0錯誤信息 22\o"CurrentDocument"程序錯誤的類型 22\o"CurrentDocument"錯誤信息的查詢 23VisualC++6.0調(diào)試工具使用 25\o"CurrentDocument"設(shè)置工程的調(diào)試屬性 25\o"CurrentDocument"學(xué)習(xí)設(shè)置斷點(diǎn)進(jìn)行單步調(diào)試 25在線實(shí)驗(yàn)系統(tǒng)(OnlineJudge)的使用 28\o"CurrentDocument"注冊 28\o"CurrentDocument"題目提交 31\o"CurrentDocument"第二章C++實(shí)驗(yàn)要求 34實(shí)驗(yàn)的意義和目的 34實(shí)驗(yàn)過程總體要求 34\o"CurrentDocument"實(shí)驗(yàn)內(nèi)容總體安排 34\o"CurrentDocument"實(shí)驗(yàn)前的準(zhǔn)備工作 35\o"CurrentDocument"上機(jī)實(shí)驗(yàn)步驟 35\o"CurrentDocument"上機(jī)代碼編寫要求 35\o"CurrentDocument"實(shí)驗(yàn)報告編寫 35\o"CurrentDocument"實(shí)驗(yàn)數(shù)據(jù)提交 36\o"CurrentDocument"實(shí)驗(yàn)參考資料 36實(shí)驗(yàn)考核 37\o"CurrentDocument"平時實(shí)驗(yàn)過程考核 37\o"CurrentDocument"期末實(shí)驗(yàn)上機(jī)考試 37\o"CurrentDocument"實(shí)驗(yàn)成績評定 37\o"CurrentDocument"第三章實(shí)驗(yàn)內(nèi)容與指導(dǎo) 38實(shí)驗(yàn)ー數(shù)據(jù)類型與表達(dá)式 38實(shí)驗(yàn)類型:驗(yàn)證型實(shí)驗(yàn)2學(xué)時 38實(shí)驗(yàn)?zāi)康?38\o"CurrentDocument"知識點(diǎn)介紹 38實(shí)驗(yàn)內(nèi)容 39題目1最簡單的C++程序(1338) 39題目2閱讀并編譯程序(1339)(修改題目和OJ) 40\o"CurrentDocument"題目3簡單應(yīng)用一求圓柱體的體積(1340)(題目) 41實(shí)驗(yàn)二C++程序設(shè)計初步 43實(shí)驗(yàn)類型:驗(yàn)證型實(shí)驗(yàn)2學(xué)時 43實(shí)驗(yàn)?zāi)康?43\o"CurrentDocument"知識點(diǎn)介紹 43\o"CurrentDocument"實(shí)驗(yàn)內(nèi)容 43題目1計算員エ周工資(1005) 43題目2下面程序計算n!(1008) 46\o"CurrentDocument"題目3計算生日時星期幾(1006) 47\o"CurrentDocument"題目4設(shè)計ー個計算+、ー、?、/的程序 48實(shí)驗(yàn)三函數(shù)與程序結(jié)構(gòu) 50實(shí)驗(yàn)類型:驗(yàn)證型實(shí)驗(yàn)2學(xué)時 50實(shí)驗(yàn)?zāi)康?50\o"CurrentDocument"知識點(diǎn)介紹 50\o"CurrentDocument"題目1分析程序運(yùn)行結(jié)果 51\o"CurrentDocument"題目2局部變量和子函數(shù)的運(yùn)用(1341) 52\o"CurrentDocument"題目3函數(shù)的遞歸調(diào)用(1137) 53\o"CurrentDocument"題目4多文件結(jié)構(gòu) 54\o"CurrentDocument"題目5求組貪數(shù)(1010) 55\o"CurrentDocument"題目6條件編忤 56實(shí)驗(yàn)四數(shù)組 57實(shí)驗(yàn)類型:驗(yàn)證型實(shí)驗(yàn)2學(xué)時 57實(shí)驗(yàn)?zāi)康?57\o"CurrentDocument"知識點(diǎn)介紹 57\o"CurrentDocument"實(shí)驗(yàn)內(nèi)容 57題目1排序查找(1342) 57\o"CurrentDocument"題目2矩陣相乘(1002) 59\o"CurrentDocument"題目3字符串交叉插入(1281) 60實(shí)驗(yàn)五指針和引用 61實(shí)驗(yàn)類型:驗(yàn)證型實(shí)驗(yàn)2學(xué)時 61實(shí)驗(yàn)?zāi)康?61\o"CurrentDocument"知識點(diǎn)介紹 61實(shí)驗(yàn)內(nèi)容 62\o"CurrentDocument"題目1程序分析 62\o"CurrentDocument"題目2班級課程成績計算(1343) 63\o"CurrentDocument"題目3排序查找(OJ中添加題目) 65實(shí)驗(yàn)六結(jié)構(gòu)體 67實(shí)驗(yàn)類型:驗(yàn)證型實(shí)驗(yàn)2學(xué)時 67實(shí)驗(yàn)?zāi)康?67\o"CurrentDocument"知識點(diǎn)介紹 67\o"CurrentDocument"實(shí)驗(yàn)內(nèi)容 67題目1日期計算(OJヒ添加題目) 67\o"CurrentDocument"題目2學(xué)生成績管理(1344) 68血目O構(gòu)體旌表 71實(shí)驗(yàn)七面向過程程序設(shè)計實(shí)踐 72實(shí)驗(yàn)類型:設(shè)計型實(shí)驗(yàn)4學(xué)時 72\o"CurrentDocument"知識點(diǎn)介紹 73\o"CurrentDocument"實(shí)驗(yàn)內(nèi)容 73\o"CurrentDocument"題目1電路分析(1156) 73\o"CurrentDocument"題目2通信錄 74\o"CurrentDocument"題目3計算器 74\o"CurrentDocument"題目4積分計算 74\o"CurrentDocument"題目5數(shù)據(jù)統(tǒng)計分析 75實(shí)驗(yàn)ハ類和對象 76實(shí)驗(yàn)類型:驗(yàn)證型實(shí)驗(yàn)2學(xué)時 76實(shí)驗(yàn)?zāi)康?76\o"CurrentDocument"知識點(diǎn)介紹 76實(shí)驗(yàn)內(nèi)容 78\o"CurrentDocument"題目1圖形(1347) 78\o"CurrentDocument"題目2學(xué)生類 79\o"CurrentDocument"題目3人員管理(1348) 80實(shí)驗(yàn)九繼承與派生 81實(shí)驗(yàn)類型:驗(yàn)證型實(shí)驗(yàn)2學(xué)時 81\o"CurrentDocument"知識點(diǎn)介紹 82實(shí)驗(yàn)內(nèi)容 83題目1圖形類 83\o"CurrentDocument"題目2教師干部類 84\o"CurrentDocument"題目3小型公司人員管理 84實(shí)驗(yàn)十多態(tài)與虛函數(shù) 86實(shí)驗(yàn)類型:驗(yàn)證型實(shí)驗(yàn) 86實(shí)驗(yàn)內(nèi)容 88題目1圖形類 88\o"CurrentDocument"題目2員エ管理 88實(shí)驗(yàn)十一運(yùn)算符重載 89實(shí)驗(yàn)類型:驗(yàn)證型實(shí)驗(yàn)2學(xué)時 89實(shí)驗(yàn)?zāi)康?89\o"CurrentDocument"知識點(diǎn)介紹 89實(shí)驗(yàn)內(nèi)容 90題目1重載V,>>= 90\o"CurrentDocument"題目2重載加減法 90\o"CurrentDocument"題目3重載乘法、加法、減法 91實(shí)驗(yàn)十二文件操作 92實(shí)驗(yàn)類型:驗(yàn)證型實(shí)驗(yàn)2學(xué)時 92實(shí)驗(yàn)內(nèi)容 93題目1二進(jìn)制文件操作 93\o"CurrentDocument"題目3文件合并 94實(shí)驗(yàn)十三面向?qū)ο蟪绦蛟O(shè)計實(shí)踐 96實(shí)驗(yàn)類型:設(shè)計型實(shí)驗(yàn)6學(xué)時 96實(shí)驗(yàn)?zāi)康?96\o"CurrentDocument"知識點(diǎn)介紹 96實(shí)驗(yàn)內(nèi)容 96題目1堆棧與簡單語法檢查 96\o"CurrentDocument"題目3通信錄管理系統(tǒng) 97\o"CurrentDocument"題目4學(xué)生管理系統(tǒng) 98\o"CurrentDocument"附錄 101A.實(shí)驗(yàn)報告格式 101B、OJ(OnlineJudge)的使用 88第一章C++實(shí)驗(yàn)基礎(chǔ)知識C++語言實(shí)驗(yàn)環(huán)境配置C++語言實(shí)驗(yàn)環(huán)境配置要求硬件配置:586以上PC兼容機(jī)或品牌機(jī),配有彩色顯示器、鼠標(biāo)、鍵盤,內(nèi)存不小于20MB,硬盤自由空間不少于60MB?推薦配置為內(nèi)存32MB或64MB(或以上),硬盤自由空間500MB以上。軟件配置:1、操作系統(tǒng):Windows98,windows2000,windowsXP,Linux,UNIX2、集成開發(fā)環(huán)境:(1)在Windows98,windows2000,windowsXP系統(tǒng)下,主要的開發(fā)編譯環(huán)境有TurboC/C++3.0、BorlandC++3.1、MicrosoftVisualC++6.0,DJGPP,其中DJGPP是GCC在DOS/Windows操作系統(tǒng)ド的移植。木實(shí)驍指導(dǎo)ウ使用的開發(fā)環(huán)境為MicrosoftVisualC++6.0英文版。漢化版本只是把部分菜單漢化了且用詞很不準(zhǔn)確。(2)在Linux、UNIX系統(tǒng)下,采用GCC編譯環(huán)境。本實(shí)驗(yàn)指導(dǎo)書不涉及相關(guān)內(nèi)容,有興趣的同學(xué)可以自行學(xué)習(xí)。VisualC++6.0的使用VisualC++介紹VisualC++是Microsoft公司的VisualStudio開發(fā)工具箱中的ー個C++程序開發(fā)包。VisualStudio提供了一整套開發(fā)!nternet和Windows應(yīng)用程序的工具,包括VisualC++,VisualBasic,VisualFoxPro,VisualInterDev,VisualJ++以及其他輔助工具,如代碼管理工具VisualSourceSafe和聯(lián)機(jī)幫助系統(tǒng)MSDN。VisualC++包中除包括C++編譯器外,還包括所有的庫、例子和為創(chuàng)建Windows應(yīng)用程序所需耍的文檔。從最早期的1.0版本發(fā)展6.0版本,到最新的.NET版本,VisualC++已經(jīng)有了很大的變化,在界面、功能、庫支持方面都有許多的增強(qiáng)。6.0版本在編譯器、MFC類庫、編輯器以及聯(lián)機(jī)幫助系統(tǒng)等方面都比以前的版本做了較大改進(jìn)。VisualC++ー般分為三個版本:學(xué)習(xí)版、專業(yè)版和企業(yè)版,不同的版本適合于不同類型的應(yīng)用開發(fā)。實(shí)驗(yàn)中可以使用這三個版本的任意一種。VisualC++的安裝和啟動如果你的計算機(jī)未安裝VisualC++6.0,則應(yīng)先安裝VisualC++6.0。VisualC++是VisualStudio的一部分,因此需要VisualStudio的光盤,執(zhí)行其中的setup.exe,并按屏幕上的提示安裝即可。安轉(zhuǎn)完畢后,在Windows的“開始”菜單的程序子菜單中會出現(xiàn),Microsoftvisual
Studio"子菜單,如圖Studio"子菜單,如圖1-1所示圖1-1MicrosoftvisualStudio啟動子菜單在需要使用VisualC++時,只需從桌面上順序選擇“開始”程序“MicrosoftvisualStudio"VisualC++6.0命令即可,此時屏幕上在短暫顯示VisualC++6.0的版權(quán)頁面后,出]現(xiàn)VisualC++6.0的由窗口、工具條、菜單、工具及其他部分組成的一個主界面。通過這個界面,用戶可以創(chuàng)建、測試、調(diào)試應(yīng)用程序。如圖ヽ3_6-MicrosoftVisualC+f?菜單0Elle即yewEt&涵~齢財!ook出ndowゆレ由aoaつミ]Win32Debugglobalmember,▼||<malnヽ3_6-MicrosoftVisualC+f?菜單0Elle即yewEt&涵~齢財!ook出ndowゆレ由aoaつミ]Win32Debugglobalmember,▼||<maln|(Globals)工作區(qū)窗口力*2ClastV...Workspace45:1pr<-—3一*]36.cppLuu?㈤恃?%|MessageBoxヨ?利濟(jì)げ5)ミcout?**plejseentera.b.c;M;cin?4?b?c;IF((a*b>c)&&(b?c>a)&&(c?4>t?))ミ]?西メ[n?也”"文本編輯窗 I-IDIXI?ltflxldouble$w;else〃復(fù)合語句開始〃在復(fù)合法句內(nèi)定義變量sa(a*b?c)/2arej-sqrt(s*(s-?)?($-b)?(s-c));cout?setiosF14gs(ios::Fixed)?setprecision(ii):〃指モ版出f*—cout<<0area-**?area?endl; 〃在jj合福岀〃復(fù)合信茍!吉束2!JF:\liti\3_6.cpp(15):errorC21M6:syntaxerror:nlssing?廠beforeIdentifier*are?*」Errorexecutingcl.exe.輸出窗口In14.Col20CreatingbrowseinfoFile...輸出窗口In14.Col20?r6.exe-1error(s)e?tMrning(s)?rVT?hBuildZl)ebiifエアindInFllu1エドindInBIS2I繭“JReady圖1-2VisualC++6.0界面常用功能鍵及其意義為了使程序員能夠方便快捷地完成程序開發(fā),開發(fā)環(huán)境提供了大量快捷方式來簡化ー些常用操作的步驟。鍵盤操作直接、簡單,而且非常方便,因而程序員非常喜歡采用鍵盤命令來控制操作。下面是ー些最常用的功能鍵,希望在實(shí)驗(yàn)中逐步掌握。操作類型功能鍵對應(yīng)菜單含義文件操作Ctrl+NFilelNew創(chuàng)建新的文件、項(xiàng)H等Ctrl+OFilelOpen打開項(xiàng)目、文件等Ctrl+SFilelSave保存當(dāng)前文件編輯操作Ctrl+XEditICut剪切Ctrl+CEditICopy復(fù)制Ctrl+VEditIPaste粘貼Ctrl+ZEditlUndo撤消上一個操作Ctrl+YEditIRedo重復(fù)匕?個操作Ctrl+AEditlSelectAll全選DelEditIDel刪除光標(biāo)后面的ー個字符建立程序操作Ctrl+F7BuildlCompilercurrentfile編譯當(dāng)前源文件Ctrl+F5BuildlRunexe運(yùn)行當(dāng)前項(xiàng)目
F7BuildlBuildexe建立可執(zhí)行程序F5BuildlStartDebugging啟動調(diào)試程序調(diào)試F5DebugIGo繼續(xù)運(yùn)行F11DebuglStepinto進(jìn)入函數(shù)體內(nèi)部shift+Fl1DebuglStepout從函數(shù)體內(nèi)部運(yùn)行出來F10DebuglStepover執(zhí)行一行語句F9設(shè)置/清除斷點(diǎn)Ctrl+F10DebugIRuntocursor運(yùn)行到光標(biāo)所在位置shift+F9DebugIQuickWatch快速查看變量或表達(dá)式的值Shift+F5DebuglStopdebugging停止調(diào)試注:這些快捷鍵命令都有對應(yīng)的菜單和工具條按鈕,如圖!.3:輸入和編輯源程序先介紹最簡單的情況,即程序只由一個源程序文件組成,即單文件程序(有關(guān)對多文件程序的操作在本章的稍后介紹)。1、新建一個C++源程序的方法如果要新建一個C++源程序,可采取以下的步驟:在VisualC++主窗口的主菜單欄中選擇File(文件)命令,然后選擇New(新建)命令,如圖14圖1-4選擇File菜單中的New操作圖1-5創(chuàng)建一個C++源文件這時,展幕上出現(xiàn)ー個New(新建)對話框,單擊此對話框的上方的Files(文件)屬性頁,在列表中選擇“C++SourceFile”項(xiàng),表示要建立新的C++源程序文件,然后在對話框右半部分的Location(目錄)文本框中輸入準(zhǔn)備編輯的源程序文件的存儲路徑(假設(shè)為D:'計算張三、實(shí)驗(yàn)ー),表示準(zhǔn)備編輯的源程序文件將存存放在"D:'計算張三、實(shí)驗(yàn)ー”子目錄下。在其上方的File(文件)文本框中輸入準(zhǔn)備編輯的源程序文件的名字(輸入MyFirstC),如圖1-5。這樣,即將進(jìn)行輸入和編輯的源程序就以MyFirstC.cpp為文件名存放在D盤的“'計算機(jī)。501-20060405ー張三'實(shí)驗(yàn)ー”目錄下,如圖1-6。當(dāng)然,讀者完全可以指定其他路徑名和文件名。g后退,つ??け搜索0文件夾|6地址也)Dへ計篁張三I實(shí)驗(yàn)ーfc^MyFirstCpP.CPP:圖1-6C++文件建立成功在單擊0K按鈕后,回到VisualC++主窗口,由于在前面已指定了路徑(D:'計算張三'實(shí)驗(yàn)ー)和文件名(MyFirstC.cpp),因此在窗口的標(biāo)題欄中顯示出MyFirstC.cpp??梢钥吹焦鈽?biāo)在程序編輯窗口閃爍,表示程序編輯窗口已激活,可以輸入和編輯源程序了。這里輸入如圖1-7窗口中所示的程序。檢查無誤后,則將源程序保存在前面指定的文件中,方法是:在主菜單欄中選擇File(文件)命令,并在其下拉菜單中選擇Save(保存)命令。也可以用快捷鍵Ctrl+S來保存文件。如果不想將源程序存放到原先指定的文件中,可以不選擇Save命令,而選擇SaveAs(另存為)命令,并在彈出的SaveAs(另存為)對話框中指定文件路徑和文件名。圖!-7C++程序輸入2,打開ー個已有的程序如果你已經(jīng)編輯并保存過C++源程序,而希望打開你所需要的源程序文件,并對它進(jìn)行修改,方法是:(1)在‘‘資源管理器”或’‘我的電腦"中按路徑打到已有的C++程序名(如Cl-l.cpp)。(2)雙擊此文件名,則進(jìn)入VisualC++集成環(huán)境,并打開了該文件,程序已顯示在編輯窗口中。也可以用Ctrl+O或單擊工具欄中的小圖標(biāo)來打開文件。(3)如果修改后仍想保存在原來的文件中,可以選擇File(文件)-Save(保存)命令,或用快捷鍵Ctrl+S,或單擊工具欄中的小圖標(biāo)來保存文件。3、通過已有的程序建立?個新程序的方法如果你已編輯并保存過C++源程序(而不是第一次在該計算機(jī)上使用VisualC++)的話,則可以通過一個已有的程序來建立一個新程序,這樣做比重新輸入ー個新文件省事,因?yàn)榭梢岳迷谐绦虻牟糠謨?nèi)容。方法是:(1)打開任何ー個已有的源文件,(例cl-l.cpp)(2)利用該文件的基礎(chǔ)修改成新的文件然后通過選擇File(文件)-Saveas(另存為)命令將它以另一文件名另存(如以test.cpp名字另存),這樣就生成了一個新文件test.cpp。用這種方法很方便,但應(yīng)注意:(1)保存新文件時,不要錯用File-Save(保存)操作,否則原有文件(cl-l.cpp)的內(nèi)容就被修改了。(2)在編譯新文件前,應(yīng)先選擇File(文件)一CloseWorkspace(關(guān)閉工作區(qū))命令將原有的工作區(qū)關(guān)閉,以免新文件在原有的工作區(qū)進(jìn)行編譯。編譯、連接和運(yùn)行1、程序的編譯在編輯和保存了源文件以后,需要對該源文件進(jìn)行編譯。單擊主菜單欄中的Build(編譯),在其下拉菜單中選擇CompileMyFirstC.cpp(編譯MyFirstC.cpp)命令。由于建立(或保存)文件時已指定了源文件的名字MyFirstC.cpp,因此在Build菜單的Compile命令中顯示了現(xiàn)在要編譯的源文件名MyFirstC.cpp。見圖1-8:
圖1-8圖1-8編譯C++程序在選擇"編譯”命令后,屏幕上出現(xiàn)ー個對話框,內(nèi)容是"Thisbuildcommandrepuiresanactiveprojectworkspace.Wouldyouliketocreatadefaultprojectworkspace?M(此編譯命令要求一個有效的項(xiàng)目工作區(qū)。你是否同意建立一個默認(rèn)的項(xiàng)目工作區(qū)),見圖1-9。單擊Yes(是)按鈕,表示同意由系統(tǒng)建立默認(rèn)的項(xiàng)目工作區(qū),然后開始編譯。也可以不用選擇菜單的方法,而用Ctrl+F7或小圖標(biāo)來完成編譯。圖1-9建立默認(rèn)工作區(qū)提示在進(jìn)行編譯時,編譯系統(tǒng)檢查源程序中有無語法錯誤,然后在主窗口下部的調(diào)試信息窗口輸出編譯的信息,如果有錯,就會指出錯誤的位置和性質(zhì),見圖!-10o
圖1-10編譯錯誤信息提示2、程序的調(diào)試程序調(diào)試的任務(wù)是發(fā)現(xiàn)和改正程序中的錯誤,使程序能正常運(yùn)行。編譯系統(tǒng)能檢查出程序中的語法錯誤。語法錯誤分兩類:一類是致命錯誤,以error表示,如果程序中有這類錯誤,就通不過編譯,無法形成目標(biāo)程序,更談不上運(yùn)行了。另ー類是輕微錯誤,以warning(警告)表示,這類錯誤不影響生成目標(biāo)程序和可執(zhí)行程序,但有可能影響運(yùn)行的結(jié)果。因此也應(yīng)當(dāng)盡量改正,使程序既無error,又無warning。在圖1-10中的調(diào)試信息窗口中可以看到編譯的信息,指出源程序有一個error和一個warning〇第7行有致命錯誤,錯誤的種類是:在“ド之前漏了“ド。檢查圖1-10中的程序,果然發(fā)現(xiàn)在第6行末漏了分號。同學(xué)們可能要問:明明是第6行有錯,怎么在報錯時說成是第7行的錯呢?這是因?yàn)镃++允許將一個語句分寫成幾行,因此檢查完第6行末尾無分號時還不能判定該語句有錯,必須再檢査下一行,直到發(fā)現(xiàn)第7行的“ド前都沒有“;”,才能判定出錯。因此在第7行報錯。在根據(jù)編譯報錯信息檢查程序時,應(yīng)檢查其上下行。此外編譯信息指出第7行還有一個warning,指出main函數(shù)需要有一個返回值,程序中缺少ー個“return0:"語句。進(jìn)行改錯時,雙擊調(diào)試信息窗口中的某個報錯信息的第1行,光標(biāo)就自動移到程序窗口中被報錯的程序行,并用粗箭頭指向該行。見圖1-11。
圖!-11發(fā)現(xiàn)錯誤位置在第6行末加上分號。再增加新的一行return。;如圖1-12:圖1-12錯誤修改再選擇CompileMyFirstC.cpp命令重新編譯,此時編譯信息提示:“〇error(s),0warning(s)”,即沒有致使錯誤(error)和警告性錯誤(warning),編譯成功,這時產(chǎn)生一個MyFirstC.obj文件。見圖1-13中的下部調(diào)試信息窗口。
圖!-13語法編譯通過3、程序的連接在得到目標(biāo)程序后,就可以對程序進(jìn)行連接了。此時應(yīng)選擇Build(構(gòu)建)-BuildMyFirstC.exe(構(gòu)建MyFirstC.exe)命令,見圖1?14。表示要求連接并建立一個可執(zhí)行文件MyFirstC.exe〇BuildToolsWindowHelpCompileMyFirstCpp.cppCtrl+F7BuildMyFirstCpp.exe FT圈をebuildAllBatchBuild...CleanStartDebug ?DebuggerRemoteConnection...JExecuteMyFirstCpp.exeCtrl+F5SetActiveConfiguration...Configurations...Profile...圖1-14連接建立可執(zhí)行文件在執(zhí)行連接后,在調(diào)試輸出窗ロ顯示連接時的信息,說明沒有發(fā)現(xiàn)錯誤,生成了一個可執(zhí)行文件MyFirstC.exe。見圖1-15。圖!-15可執(zhí)行文件建立成功以上介紹的是分別進(jìn)行程序的編譯與連接,也可以選擇Build?命令(或按F??。┮淮瓮瓿删幾g與連接。對于初學(xué)者來說,還是建議分步進(jìn)行程序的編譯與連接,有利于對程序編譯、解釋、連接過程的理解。今后積累一定經(jīng)驗(yàn)后,可以一步完成編譯與連接。4、程序的執(zhí)行在得到可執(zhí)行文件MyFirstC.exe后,就可以直接執(zhí)行MyFirstC.exe了。選擇Build!Executetest.exe(執(zhí)行MyFirstC.exe)命令。見圖1-16〇BuildToolsWindowHelp,CompileMyFirstCpp.cppCtrl+F7BuildMyFirstCpp.exe FT窗RebuildAllBatchBuild...CleanStartDebug ?DebuggerRemoteConnection...ExecuteMyFirstCpp.exeCtrl+F5SetActiveConfiguration...Configurations...Profile...圖1-16運(yùn)行程序可執(zhí)行文件在選擇“!Executetest.exe"命令后,即開始執(zhí)行MyFirstC.exe。也可以不通過選擇菜單命令,而且Ctrl+F5來實(shí)現(xiàn)程序的執(zhí)行。程序執(zhí)行后,屏幕切換到輸出結(jié)果的窗口,顯示出運(yùn)行結(jié)果,見圖1-17?可以看到,在輸出結(jié)果的窗口中的第1行是程序的輸出結(jié)果:ThisisaC++program.第2行"Pressanykeytocontinue"并非程序所指定的輸出,而是VisualC++在輸出完運(yùn)行結(jié)果后由VisualV++6.〇系統(tǒng)自動加上的一行信息,通知用戶“按任何ー鍵以便繼續(xù)し當(dāng)你按下任何ー鍵后,輸出窗口消失,回到VisualC++的主窗口,你可以繼續(xù)對源程序進(jìn)行修改補(bǔ)充或進(jìn)行其他工作。如果已完成對ー個程序的操作,不再對它進(jìn)行其他處理,應(yīng)當(dāng)選擇File(文件)一CloseWorkspace(關(guān)閉窗口)命令,以結(jié)束對該程序的操作。建立和運(yùn)行包含多個文件的程序的方法上面介紹的是最簡單的情況,ー個程序只包含一個源程序文件。如果ー個程序包含多個源程序文件,則需要建立一個項(xiàng)目文件(projectfile),在這個項(xiàng)目文件中包含多個文件(包括源文件和頭文件)。項(xiàng)目文件是放在項(xiàng)目工作區(qū)(Workspace)中并在項(xiàng)目工作區(qū)的管理之下工作的,因此需要建立項(xiàng)目工作區(qū),ー個項(xiàng)目工作區(qū)可以包含一個以上的項(xiàng)目。在編譯時,先分別對每個文件進(jìn)行編譯,然后將項(xiàng)目文件中的文件連接成為ー個整體,再與系統(tǒng)的有關(guān)資源連接,生成一個可執(zhí)行文件,最后執(zhí)行這個文件。在實(shí)際操作時有兩種方法:ー種是由用戶建立項(xiàng)目工作區(qū)和項(xiàng)目文件;另ー種是用戶只建立項(xiàng)目文件而不建立項(xiàng)目工作區(qū),由系統(tǒng)自動建立項(xiàng)目工作區(qū)。1、由用戶建立項(xiàng)目工作區(qū)和項(xiàng)目文件(1)、先用前面介紹過的方法分別編輯好同一程序中的各個源程序文件,并存放在自己指定的H錄下,例如有一個程序包括filel.cpp和file2.cpp兩個源文件,并已把它們保存在"D:\計算張三、實(shí)驗(yàn)一”子目錄下。(2)、建立一個項(xiàng)目工作區(qū)。在如圖1-4所示的VisualC++主窗口中選擇File(文件)—New(新建)命令,在彈出的New(新建)對話框中選擇上部的選擇屬性頁Workspacename(工作區(qū)名字),表示要建立一個新的項(xiàng)目工作區(qū)。在對話框中右部Workspacename(工作區(qū)名字)文本框中輸入你指定的工作區(qū)的名字(如wsl),見圖1-18。
1?VWorkspacename:IwslFilesIProjectsWorkspaces|OtherDocuments|Workspacename:IwslLocation:両it師05012006040ズ長三tt..|OKIICancel圖1-18建立工作區(qū)然后單擊右下部的OK按鈕。此時返回VisualC++主窗口,見圖1-19。圖1-19ー個空的工作區(qū)可以看到在左部的工作區(qū)窗口中顯示了“Workspacewsl:0project(s)”,表示當(dāng)前的工作區(qū)名是wsl,其中有。個project(沒有在其中放入項(xiàng)目文件)。(3),建立項(xiàng)目文件。選擇File(文件)-New(新建)命令,在彈出的New(新建)對話框中選擇上部的選擇屬性頁P(yáng)rojects(項(xiàng)目,中文VisualC++把它譯為“工程”),表示要建立一個項(xiàng)目文件。見圖1-20。
圖1-20建立一個新的項(xiàng)目在對話框中左部的列表中選擇"Win32ConsoleApplication”項(xiàng),并在右部的location(位置)文本框中輸入項(xiàng)目文件的位置(即文件路徑),在Projectname(中文界面中顯示為“エ程”)文木框中輸入你指定的項(xiàng)目文件名,假設(shè)輸入project上在窗U右部選中Addtocurrentworkspace(添加至現(xiàn)有工作區(qū))單選鈕,發(fā)示新建的項(xiàng)目文件是放到剛オ建立的當(dāng)前工作區(qū)中的。然后單擊OK(確定)按鈕。此時彈出ー個如圖!-21所示的對話框,在其中選中Anemptyproject單選鈕,表示新建立的是ー個空的項(xiàng)目。圖1-2I項(xiàng)目類型選擇單擊Finish(完成)按鈕。系統(tǒng)彈出ー個NewProjectInformation(新建工程信息)對話框(圖1-22),顯示了剛オ建立的項(xiàng)目的有關(guān)信息。圖1-22新建項(xiàng)目的信息在其下方可以看到項(xiàng)目文件的位置(文件路徑)。確認(rèn)后單擊OK(確定)按鈕。此時又回到VisualC++主窗口,可以看到:左部窗口中顯示了“Workspace'wsl':1project(s)"其下一行為wproject1files",表示已將項(xiàng)目文件project1加到項(xiàng)目工作區(qū)wsl中,見圖1-23〇
圖1-23工作區(qū)中加入一個新項(xiàng)目(4)、將源程序文件放到項(xiàng)目文件中。方法是:在VisualC++主窗口中依次選擇Project(工程)fAddToProject(添加到項(xiàng)目中,在中文界上顯示為“添加工程”)一“Files…”命令,見圖1-24,圖1-24文件加入到項(xiàng)目中在選擇“Files…”命令后,屏幕上出現(xiàn)InsertFilesintoProject對話框。在上部的列表框中按路徑找到源文件filel.cpp和file2.cpp所在的子目錄,并選中filel.cpp和file2.cpp,見圖1-25。
圖1-25圖1-25加入文件選擇單擊OK(確定)按鈕,就把這兩個文件添加到項(xiàng)目文件projectl中了。(5)、編譯和連接項(xiàng)目文件。由于ー經(jīng)把filel.cpp和file2.cpp兩個文件添加到項(xiàng)目文件projectl中,因此只須對項(xiàng)目文件projectl進(jìn)行統(tǒng)一而編譯和連賽。方法是:在VisualC++主窗口中選擇Build(編譯)Buildprojectl.exe(構(gòu)建projectl.exe)命令。在選擇Buildprojectl.exe命令后,系統(tǒng)對整個項(xiàng)目文件進(jìn)行編譯和連接,在窗ロ的下部會顯示編譯和連接的信息。如果程序有錯,會顯示出錯信息,如果無錯,會生成可執(zhí)行文件projectl.exe〇見圖1-26〇圖1-26項(xiàng)目的編譯和連接執(zhí)行可執(zhí)行文件。選擇Build(編譯)-Executeproject1.exe(執(zhí)行projectl.exe)命令,即可。2、用戶只建立項(xiàng)目文件上面介紹的方法是先建立項(xiàng)目工作區(qū),再建立項(xiàng)目文件,步驟比較多??梢圆扇『喕姆椒?即用戶只建立項(xiàng)目文件,而不建立項(xiàng)目工作區(qū),由系統(tǒng)自動建立項(xiàng)目工作區(qū)。在本方法中,保留上一節(jié)中介紹的第(1)、(4)、(5)、(6)步,取消第(2)步,修改第(3)步。具體步聚如下:(1)分別編輯好同一程序中的各個源程序文件。同上一節(jié)中的第(1)步。(2)建立一個項(xiàng)目文件(不必先建立項(xiàng)目工作區(qū))。在VisualC++主窗口中選擇File(文件)-New(新建)命令,在彈?屮的New(新建)對話框中選擇上部的選項(xiàng)卡projects(項(xiàng)目),表示要建立一個項(xiàng)目文件。見圖1-27〇在對話框中左部的列表中選擇"Win32consoleApplication”項(xiàng),在projectname(中文VisualC++
中顯示為“工程”)文本框中輸入你指定的項(xiàng)目文件名(projectl)?可以看到:在右部的中間的單選鈕處默認(rèn)選定了Createnewworkspace(創(chuàng)建新工作區(qū)),這是由于用戶未指定工作區(qū),系統(tǒng)會自動開辟新工作區(qū)。圖!-27建立一個新的Win32ConsoleApplication項(xiàng)目單擊OK(確定)按鈕,出現(xiàn)uWin32ConsoleApplication-step1of1"對話框,選中右部的Anemptyproject單選鈕,單擊Finish(完成)按向后,HNewprojectinformation"(新建工程信息)消息框。從它的下部可以看到項(xiàng)目文件的路徑。單擊OK(確定)按鈕,在彈出的VisualC++主窗口的左部窗口的下方單擊FileView按鈕,窗口中顯示**Workspace'projectl':lproject(s)",見圖1-28。說明系統(tǒng)已自動建立了一個工作區(qū),由于用戶未指定工作區(qū)名,系統(tǒng)就將項(xiàng)H文件名projectl同時作為工作區(qū)名。圖1-28建立新項(xiàng)目成功向此項(xiàng)目文件添加內(nèi)容。步驟與方法一中的第(4)步相同。編譯和連接項(xiàng)目文件。步驟與方法一中的第(4)步相同。執(zhí)行可執(zhí)行文件。步驟與方法一中的第(6)步相同。顯然,這種方法比前一種方法簡單ー些。在介紹單文件程序時,為了盡量簡化手續(xù),這里沒有建立工作區(qū),也沒有建立項(xiàng)目文件,而是直接建立源文件,實(shí)際上,在編譯每ー個程序時都需要一個工作區(qū),如果用戶未指定,系統(tǒng)會自動建立工作區(qū),并賦予它一個默認(rèn)名(此時以文件名作為工作區(qū)名VisualC++6.0工程相關(guān)文件介紹序號1文件名*.dsw描述VC工作區(qū)文件2*.dsp(DeveloperStudioProject)項(xiàng)目文件,文本格式。不熟悉的話不要手工修改無編譯瀏覽文件。當(dāng)自動完成功能出問題時,可以刪除此文件,編譯工程后會自動生3*.ncb成。4*.opt工程關(guān)于開發(fā)環(huán)境的參數(shù)文件,如VC工具條位置信息等。5*.hC/C++程序頭文件,可用文本編輯器打開6*.cppC++源程序文件,可用文本編輯器打開7*.exe程序可執(zhí)行文件8*.plg編譯信息文件。編譯時的error和warning信息文件(實(shí)際上是?個htm!文件),?殷用處不大。在Tools今OptionsfBuild里面的選項(xiàng)可以控制這個文件的生成。9*.pch(Pre-CompiledFile)是預(yù)編譯文件??梢约涌炀幾g速度,但是文件非常大10*.pdb(ProgramDatabase)記錄了程序有關(guān)的ー些數(shù)據(jù)和調(diào)試信息,在調(diào)試的時候有用11*.obj源程序文件的目標(biāo)文件,編譯后生成12*.ilk源程序文件的連接文件,連接后生成在VC下建立一個工程后,會自動產(chǎn)生1~4類型的文件。加入?.h、?.cpp文件編譯后產(chǎn)生7T2類型的文件。其中8~12類型的文件位于工程目錄下的Debug目錄下。1-4類型的文件都是工程相關(guān)的文件,一般不要刪除,因?yàn)閯h除后,必須手動的重新建立工程(126詳細(xì)描述了如何建立一個工程)。對于大型項(xiàng)ロ來說,刪除這些文件的后果很嚴(yán)舌5~6類型而文件還有什么可說的,不僅不能刪除這些文件,還要備份這些文件。失去這些文件是災(zāi)難性的。7-12類型的所有文件都是可以刪除的,因?yàn)樵俅尉幾g連接運(yùn)行程序時,會再次自動生成這些文件。VisualC++6.0錯誤信息程序錯誤的類型1、嚴(yán)重錯誤(fatalerror)很少出現(xiàn),通常是內(nèi)部編譯器出錯。造成編譯立即停止。2、語法錯誤(error)語法錯誤是指源程序中存在不符合C/C++語言語法規(guī)定的語句,例如將int寫成Int,括號不匹配等。這些錯誤不改正是不能通過編譯的。如圖!-29 Configuration:projectl-Win32Debug Conpiling...filel.cppD:\ttg^8581-2606WI5-^E\^~\*s1\project1\file1.cpp(6):errorC2065:'coutte:undeD:田?機(jī)1501-2686馱15礫三伕驗(yàn)ー、然ハproject1\file1.cpp(6):e
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《誠信做人到永遠(yuǎn)》課件
- 2024-2025學(xué)年福建省福州市福清市高二上學(xué)期期中考試物理試題(解析版)
- 單位管理制度集合大合集【員工管理】十篇
- 單位管理制度集粹匯編【人員管理篇】十篇
- 單位管理制度匯編大合集【人員管理】十篇
- 單位管理制度合并匯編員工管理篇
- 《網(wǎng)吧消防安全授》課件
- 單位管理制度范文大合集人力資源管理
- 單位管理制度呈現(xiàn)匯編人力資源管理篇十篇
- 60個??嫉慕?jīng)濟(jì)學(xué)原理和定律
- 燃?xì)獍l(fā)電工程監(jiān)理導(dǎo)則
- GB 16844-1997普通照明用自鎮(zhèn)流燈的安全要求
- DB11-T 493.3-2022道路交通管理設(shè)施設(shè)置規(guī)范 第3部分:道路交通信號燈
- 供熱企業(yè)安全風(fēng)險隱患辨識清單
- 矩形沉井計算表格(自動版)
- 滬教牛津版五年級下冊英語全冊課件
- 湘藝版 四年級上冊音樂教案- 第十課 我心愛的小馬車
- 前置胎盤的手術(shù)配合課件
- 魚骨圖模板1PPT課件
- 中國動畫之經(jīng)典賞析PPT課件
- 施工現(xiàn)場節(jié)電方法
評論
0/150
提交評論