面向對象技術實驗指導書1_第1頁
面向對象技術實驗指導書1_第2頁
面向對象技術實驗指導書1_第3頁
面向對象技術實驗指導書1_第4頁
面向對象技術實驗指導書1_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、面向對象技術實驗指導書 (通信學院-電信工程系) 編著:黃健目 錄第一章 C/C+實驗基礎知識31.1 C/C+語言實驗環(huán)境配置31.2 Visual C+ 6.0 的使用31.2.1 Visual C+介紹31.2.2 Visual C+的安裝和啟動31.2.3 常用功能鍵及其意義41.2.4 輸入和編輯源程序51.2.5 編譯、連接和運行81.2.6 建立和運行包含多個文件的程序的方法131.3 Visual C+ 6.0 工程相關文件介紹201.4 Visual C+ 6.0 錯誤信息201.4.1 程序錯誤的類型201.4.2 錯誤信息的查詢221.5 Visual C+ 6.0 調試

2、工具使用241.5.1 設置工程的調試屬性241.5.2 學習設置斷點進行單步調試25第二章C/C+實驗要求282.1 實驗的意義和目的282.2 實驗過程總體要求282.2.1 實驗內容總體安排282.2.2 實驗前的準備工作282.2.3 上機實驗步驟292.2.4 上機代碼編寫要求292.2.5 實驗報告編寫292.2.6 實驗數(shù)據(jù)提交292.2.7 實驗參考資料302.3 實驗考核312.3.1 平時實驗過程考核312.3.2 期末實驗上機考試312.3.3 實驗成績評定31第三章 實驗內容與指導323.1 實驗一 數(shù)據(jù)類型與表達式323.2 實驗二 C+程序設計初步343.3 實驗三

3、 函數(shù)與程序結構363.4 實驗四 類和對象403.5 實驗五 繼承與派生443.6實驗六 多態(tài)與虛函數(shù)483.7 實驗七 運算符重載50第一章 C/C+實驗基礎知識1.1 C/C+語言實驗環(huán)境配置C/C+語言實驗環(huán)境配置要求。1)硬件配置:586 以上PC 兼容機或品牌機,配有彩色顯示器、鼠標、鍵盤,內存不小于20MB,硬盤自由空間不少于60MB。推薦配置為內存32MB 或64MB(或以上),硬盤自由空間500MB以上。2)軟件配置:1、操作系統(tǒng): Windows98,windows 2000,windows XP,Linux,UNIX2、集成開發(fā)環(huán)境:(1)在Windows98,windo

4、ws 2000,windows XP 系統(tǒng)下,主要的開發(fā)編譯環(huán)境有Turbo C/C+ 3.0、Borland C+ 3.1、Microsoft Visual C+6.0、DJGPP,其中DJGPP 是GCC 在DOS/Windows 操作系統(tǒng)下的移植。本實驗指導書使用的開發(fā)環(huán)境為Microsoft Visual C+6.0 英文版。漢化版本只是把部分菜單漢化了且用詞很不準確。(2)在Linux、UNIX 系統(tǒng)下,采用GCC 編譯環(huán)境。本實驗指導書不涉及相關內容,有興趣的同學可以自行學習。1.2 Visual C+ 6.0 的使用1.2.1 Visual C+介紹Visual C+是Micro

5、soft 公司的Visual Studio 開發(fā)工具箱中的一個C/C+程序開發(fā)包。Visual Studio 提供了一整套開發(fā)Internet 和Windows 應用程序的工具,包括Visual C+, Visual Basic,Visual FoxPro,Visual InterDev,Visual J+以及其他輔助工具,如代碼管理工具Visual SourceSafe 和聯(lián)機幫助系統(tǒng)MSDN。Visual C+包中除包括C+編譯器外,還包括所有的庫、例子和為創(chuàng)建Windows 應用程序所需要的文檔。從最早期的 1.0 版本發(fā)展6.0 版本,到最新的.NET 版本,Visual C+已經有了

6、很大的變化,在界面、功能、庫支持方面都有許多的增強。6.0 版本在編譯器、MFC 類庫、編輯器以及聯(lián)機幫助系統(tǒng)等方面都比以前的版本做了較大改進。Visual C+一般分為三個版本:學習版、專業(yè)版和企業(yè)版,不同的版本適合于不同類型的應用開發(fā)。實驗中可以使用這三個版本的任意一種。1.2.2 Visual C+的安裝和啟動如果你的計算機未安裝 Visual C+6.0,則應先安裝Visual C+6.0。Visual C+是VisualStudio 的一部分,因此需要Visual Studio 的光盤,執(zhí)行其中的setup.exe,并按屏幕上的提示安裝即可。安轉完畢后,在Windows 的“開始”菜

7、單的程序子菜單中會出現(xiàn)“Microsoft visual Studio”子菜單,如圖1-1 所示圖 1-1 Microsoft visual Studio 啟動子菜單在需要使用 Visual C+時,只需從桌面上順序選擇“開始”程序“Microsoft visual Studio”Visual C+6.0 命令即可,此時屏幕上在短暫顯示VisualC+6.0 的版權頁面后,出現(xiàn)VisualC+6.0 的由窗口、工具條、菜單、工具及其他部分組成的一個主界面。通過這個界面,用戶可以創(chuàng)建、測試、調試應用程序。如圖圖 1-2 Visual C+6.0 界面1.2.3 常用功能鍵及其意義為了使程序員能夠

8、方便快捷地完成程序開發(fā),開發(fā)環(huán)境提供了大量快捷方式來簡化一些常用操作的步驟。鍵盤操作直接、簡單,而且非常方便,因而程序員非常喜歡采用鍵盤命令來控制操作。下面是一些最常用的功能鍵,希望在實驗中逐步掌握。操作類型功能鍵對應菜單含義文件操作Ctrl+NFile|New創(chuàng)建新的文件、項目等Ctrl+OFile|Open打開項目、文件等Ctrl+SFile|Save保存當前文件編輯操作Ctrl+XEdit|Cut剪切Ctrl+CEdit|Copy復制Ctrl+VEdit|Paste粘貼Ctrl+ZEdit|Undo撤消上一個操作Ctrl+YEdit|Redo重復上一個操作Ctrl+AEdit|Selec

9、tAllDelEdit|Del刪除光標后面的一個字符建立程序操作Ctrl+F7Build| Compiler current file編譯當前源文件Ctrl+F5Build|Run exe運行當前項目F7Build|Build exe建立可執(zhí)行程序F5Build|Start Debugging啟動調試程序調試F5Debug|Go繼續(xù)運行F11Debug|Step into進入函數(shù)體內部shift+F11Debug|Step out從函數(shù)體內部運行出來F10Debug|Step over執(zhí)行一行語句F9設置/清除斷點Ctrl+F10Debug|Runtoshift+F9Debug|QuickWa

10、tch快速查看變量或表達式的值Shift + F5Debug|Stop debugging停止調試注:這些快捷鍵命令都有對應的菜單和工具條按鈕,如圖 1.3:編譯工程插入斷點鏈接目標文件調試運行停止編譯全速運行圖 1-3 快捷鍵命令菜單與按鈕1.2.4 輸入和編輯源程序先介紹最簡單的情況,即程序只由一個源程序文件組成,即單文件程序(有關對多文件程序的操作在本章的稍后介紹)。1、新建一個C+源程序的方法如果要新建一個 C+源程序,可采取以下的步驟:在 Visual C+主窗口的主菜單欄中選擇File(文件)命令,然后選擇New(新建)命令,如圖1-4。這時,展幕上出現(xiàn)一個 New(新建)對話框,

11、單擊此對話框的上方的Files(文件)屬性頁,在列表中選擇“C+ Source File”項,表示要建立新的C+源程序文件,然后在對話框右半部分的Location(目錄)文本框中輸入準備編輯的源程序文件的存儲路徑(假設為D:VC+6.0測試程序其他測試demo),表示準備編輯的源程序文件將存存放在“D:VC+6.0測試程序其他測試demo”子目錄下。在其上方的File(文件)文本框中輸入準備編輯的源程序文件的名字(輸入MyFirstC),如圖1-5。這樣,即將進行輸入和編輯的源程序就以MyFirstC.cpp 為文件名存放在“D:VC+6.0測試程序其他測試demo”目錄下,如圖1-6。當然,

12、讀者完全可以指定其他路徑名和文件名。圖 1-4 選擇File 菜單中的New 操作C+控制臺應用程序圖1.5 創(chuàng)建工程文件圖1.6 在指定的目錄下建立的源文件在單擊 OK 按鈕后,回到Visual C+主窗口,由于在前面已指定了路徑(D:VC+6.0測試程序其他測試demo )和文件名(MyFirstC.cpp),因此在窗口的標題欄中顯示出MyFirstC.cpp??梢钥吹焦鈽嗽诔绦蚓庉嫶翱陂W爍,表示程序編輯窗口已激活,可以輸入和編輯源程序了。這里輸入如圖1-7 窗口中所示的程序。檢查無誤后,則將源程序保存在前面指定的文件中,方法是:在主菜單欄中選擇File(文件)命令,并在其下拉菜單中選擇S

13、ave(保存)命令。也可以用快捷鍵Ctrl+S 來保存文件。如果不想將源程序存放到原先指定的文件中,可以不選擇Save 命令,而選擇Save As(另存為)命令,并在彈出的Save As(另存為)對話框中指定文件路徑和文件名。1.7 C+程序的輸入2、打開一個已有的程序如果你已經編輯并保存過 C+源程序,而希望打開你所需要的源程序文件,并對它進行修改,方法是:(1)在“資源管理器”或“我的電腦”中按路徑打到已有的C+程序名(如C1-1.cpp)。(2)雙擊此文件名,則進入Visual C+集成環(huán)境,并打開了該文件,程序已顯示在編輯窗口中。也可以用Ctrl+O 或單擊工具欄中的小圖標來打開文件。

14、(3)如果修改后仍想保存在原來的文件中,可以選擇File(文件)Save(保存)命令,或用快捷鍵Ctrl+S,或單擊工具欄中的小圖標來保存文件。3、通過已有的程序建立一個新程序的方法如果你已編輯并保存過 C+源程序(而不是第一次在該計算機上使用Visual C+)的話,則可以通過一個已有的程序來建立一個新程序,這樣做比重新輸入一個新文件省事,因為可以利用原有程序的部分內容。方法是:(1)打開任何一個已有的源文件,(例cl-1.cpp)(2)利用該文件的基礎修改成新的文件然后通過選擇File(文件)Save as(另存為)命令將它以另一文件名另存(如以test.cpp 名字另存),這樣就生成了一

15、個新文件test.cpp。用這種方法很方便,但應注意:(1)保存新文件時,不要錯用FileSave(保存)操作,否則原有文件(cl-1.cpp)的內容就被修改了。(2)在編譯新文件前,應先選擇File(文件)Close Workspace(關閉工作區(qū))命令將原有的工作區(qū)關閉,以免新文件在原有的工作區(qū)進行編譯。1.2.5 編譯、連接和運行1、程序的編譯在編輯和保存了源文件以后,需要對該源文件進行編譯。單擊主菜單欄中的 Build(編譯),在其下拉菜單中選擇Compile MyFirstC.cpp(編譯MyFirstC.cpp)命令。由于建立(或保存)文件時已指定了源文件的名字MyFirstC.c

16、pp,因此在Build 菜單的Compile 命令中顯示了現(xiàn)在要編譯的源文件名MyFirstC.cpp。見圖1-8:1.8 編譯C+程序在選擇“編譯”命令后,如果屏幕上出現(xiàn)一個對話框,內容是“This build command repuiresan active project workspace.Would you like to creat a default project workspace?”(此編譯命令要求一個有效的項目工作區(qū)。你是否同意建立一個默認的項目工作區(qū)),見圖1-9。單擊Yes(是)按鈕,表示同意由系統(tǒng)建立默認的項目工作區(qū),然后開始編譯。也可以不用選擇菜單的方法,而用C

17、trl+F7 或小圖標來完成編譯。圖 1-9 建立默認工作區(qū)提示在進行編譯時,編譯系統(tǒng)檢查源程序中有無語法錯誤,然后在主窗口下部的調試信息窗口輸出編譯的信息,如果有錯,就會指出錯誤的位置和性質,見圖1-10。1.9 編譯錯誤提示信息2、程序的調試程序調試的任務是發(fā)現(xiàn)和改正程序中的錯誤,使程序能正常運行。編譯系統(tǒng)能檢查出程序中的語法錯誤。語法錯誤分兩類:一類是致命錯誤,以error 表示,如果程序中有這類錯誤,就通不過編譯,無法形成目標程序,更談不上運行了。另一類是輕微錯誤,以warning(警告)表示,這類錯誤不影響生成目標程序和可執(zhí)行程序,但有可能影響運行的結果。因此也應當盡量改正,使程序既

18、無error,又無warning。在圖 1-10 中的調試信息窗口中可以看到編譯的信息,指出源程序有一個error 和一個warning。第7 行有致命錯誤,錯誤的種類是:在“”之前漏了“;”。檢查圖1-10 中的程序,果然發(fā)現(xiàn)在第6 行末漏了分號。同學們可能要問:明明是第6 行有錯,怎么在報錯時說成是第7 行的錯呢?這是因為C+允許將一個語句分寫成幾行,因此檢查完第6 行末尾無分號時還不能判定該語句有錯,必須再檢查下一行,直到發(fā)現(xiàn)第7 行的“”前都沒有“;”,才能判定出錯。因此在第7 行報錯。在根據(jù)編譯報錯信息檢查程序時,應檢查其上下行。此外編譯信息指出第7 行還有一個warning,指出m

19、ain 函數(shù)需要有一個返回值,程序中缺少一個“return 0;”語句。進行改錯時,雙擊調試信息窗口中的某個報錯信息的第1 行,光標就自動移到程序窗口中被報錯的程序行,并用粗箭頭指向該行。見圖1-11圖 1-11 發(fā)現(xiàn)錯誤位置根據(jù)提示信息: “error C2065: 'printf' : undeclared identifier”,判斷沒有加入預編譯頭文件:”stdio.h”,信息“error C2065: 'cout' : undeclared identifier”,沒有加入頭文件”iostream.h”.修改后如圖1.12所示,增加編譯頭文件stdio

20、.h和iostream.h圖1.12 錯誤修改再選擇 Compile MyFirstC.cpp 命令重新編譯,此時編譯信息提示:“0 error(s),0warning(s)”,即沒有致使錯誤(error)和警告性錯誤(warning),編譯成功,這時產生一個MyFirstC.obj 文件。見圖1-13 中的下部調試信息窗口。圖1.13 語法編譯通過3、程序的連接在得到目標程序后,就可以對程序進行連接了。此時應選擇 Build(構建)BuildMyFirstC.exe(構建MyFirstC.exe)命令,見圖1-14。表示要求連接并建立一個可執(zhí)行文件MyFirstC.exe。圖 1-14 連接

21、建立可執(zhí)行文件在執(zhí)行連接后,在調試輸出窗口顯示連接時的信息,說明沒有發(fā)現(xiàn)錯誤,生成了一個可執(zhí)行文件MyFirstC.exe。見圖1-15。圖 1-15 可執(zhí)行文件建立成功以上介紹的是分別進行程序的編譯與連接,也可以選擇Build命令(或按F7 鍵)一次完成編譯與連接。對于初學者來說,還是建議分步進行程序的編譯與連接,有利于對程序編譯、解釋、連接過程的理解。今后積累一定經驗后,可以一步完成編譯與連接。4、程序的執(zhí)行在得到可執(zhí)行文件MyFirstC.exe 后,就可以直接執(zhí)行MyFirstC.exe 了。選擇Build!Execute test.exe(執(zhí)行MyFirstC.exe)命令。見圖1-

22、16。圖 1-16 運行程序可執(zhí)行文件在選擇“!Execute test.exe”命令后,即開始執(zhí)行MyFirstC.exe。也可以不通過選擇菜單命令,而且Ctrl+F5 來實現(xiàn)程序的執(zhí)行。程序執(zhí)行后,屏幕切換到輸出結果的窗口,顯示出運行結果,見圖1-17。圖 1-17 程序運行結果可以看到,在輸出結果的窗口中的第 1 行是程序的輸出結果:C語言方式的打印輸出hello! C+語言方式的打印輸出!第2 行“Press any key to continue”并非程序所指定的輸出,而是Visual C+在輸出完運行結果后由Visual V+6.0 系統(tǒng)自動加上的一行信息,通知用戶“按任何一鍵以便

23、繼續(xù)”。當你按下任何一鍵后,輸出窗口消失,回到Visual C+的主窗口,你可以繼續(xù)對源程序進行修改補充或進行其他工作。如果已完成對一個程序的操作,不再對它進行其他處理,應當選擇File(文件)CloseWorkspace(關閉窗口)命令,以結束對該程序的操作。1.2.6 建立和運行包含多個文件的程序的方法上面介紹的是最簡單的情況,一個程序只包含一個源程序文件。如果一個程序包含多個源程序文件,則需要建立一個項目文件(project file),在這個項目文件中包含多個文件(包括源文件和頭文件)。項目文件是放在項目工作區(qū)(Workspace)中并在項目工作區(qū)的管理之下工作的,因此需要建立項目工作

24、區(qū),一個項目工作區(qū)可以包含一個以上的項目。在編譯時,先分別對每個文件進行編譯,然后將項目文件中的文件連接成為一個整體,再與系統(tǒng)的有關資源連接,生成一個可執(zhí)行文件,最后執(zhí)行這個文件。在實際操作時有兩種方法:一種是由用戶建立項目工作區(qū)和項目文件;另一種是用戶只建立項目文件而不建立項目工作區(qū),由系統(tǒng)自動建立項目工作區(qū)。1、由用戶建立項目工作區(qū)和項目文件(1)、先用前面介紹過的方法分別編輯好同一程序中的各個源程序文件,并存放在自己指定的目錄下,例如有一個程序包括filel.cpp 和file2.cpp 兩個源文件,并已把它們保存在“D:計算張三實驗一”子目錄下。(2)、建

25、立一個項目工作區(qū)。在如圖1-4 所示的Visual C+主窗口中選擇File(文件)New(新建)命令,在彈出的New(新建)對話框中選擇上部的選擇屬性頁Workspace name(工作區(qū)名字),表示要建立一個新的項目工作區(qū)。在對話框中右部Workspace name(工作區(qū)名字)文本框中輸入你指定的工作區(qū)的名字(如wsl),見圖1-18。圖 1-18 建立工作區(qū)然后單擊右下部的 OK 按鈕。此時返回Visual C+主窗口,見圖1-19??梢钥吹皆谧蟛康墓ぷ鲄^(qū)窗口中顯示了“Workspace ws1:0 project(s)”,表示當前的工作區(qū)名是wsl,其中有0 個project(沒有在

26、其中放入項目文件)。(3)、建立項目文件。選擇File(文件)New(新建)命令,在彈出的New(新建)對話框中選擇上部的選擇屬性頁Projects(項目,中文Visual C+把它譯為“工程”),表示要建立一個項目文件。見圖1-20。在對話框中左部的列表中選擇“Win32 Console Application”項,并在右部的location(位置)文本框中輸入項目文件的位置(即文件路徑),在Project name(中文界面中顯示為“工程”)文本框中輸入你指定的項目文件名,假設輸入projectl。在窗口右部選中Add to current workspace(添加至現(xiàn)有工作區(qū))單選鈕,表

27、示新建的項目文件是放到剛才建立的當前工作區(qū)中的。然后單擊OK(確定)按鈕。此時彈出一個如圖1-21 所示的對話框,在其中選中An empty project 單選鈕,表示新建立的是一個空的項目。單擊 Finish(完成)按鈕。系統(tǒng)彈出一個New Project Information(新建工程信息)對話框(圖1-22),顯示了剛才建立的項目的有關信息。在其下方可以看到項目文件的位置(文件路徑)。確認后單擊OK(確定)按鈕。此時又回到Visual C+主窗口,可以看到:左部窗口中顯示了“Workspacewsl:1project(s)”其下一行為“project1 files”,表示已將項目文件

28、project1 加到項目工作區(qū)wsl 中,見圖1-23。圖 1-19 一個空的工作區(qū)圖 1-20 建立一個新的項目圖 1-22 新建項目的信息圖 1-23 工作區(qū)中加入一個新項目(4)、將源程序文件放到項目文件中。方法是:在Visual C+主窗口中依次選擇Project(工程)Add To Project(添加到項目中,在中文界上顯示為“添加工程”)“Files”命令,見圖1-24。圖 1-24 文件加入到項目中在選擇“Files”命令后,屏幕上出現(xiàn)Insert Files into Project 對話框。在上部的列表框中按路徑找到源文件file1.cpp 和file2.cpp 所在的子

29、目錄,并選中file1.cpp 和file2.cpp。單擊 OK(確定)按鈕,就把這兩個文件添加到項目文件project1 中了。(5)、編譯和連接項目文件。由于已經把file1.cpp 和file2.cpp 兩個文件添加到項目文件project1 中,因此只須對項目文件project1 進行統(tǒng)一的編譯和連接。方法是:在Visua1 C+主窗口中選擇Build(編譯)Build project1.exe(構建project1.exe)命令。在選擇 Build project1.exe 命令后,系統(tǒng)對整個項目文件進行編譯和連接,在窗口的下部會顯示編譯和連接的信息。如果程序有錯,會顯示出錯信息,如

30、果無錯,會生成可執(zhí)行文件project1.exe。見圖1-25。圖 1-25 項目的編譯和連接執(zhí)行可執(zhí)行文件。選擇 Build(編譯)Execute project1.exe(執(zhí)行project1.exe)命令,即可。2、用戶只建立項目文件上面介紹的方法是先建立項目工作區(qū),再建立項目文件,步驟比較多??梢圆扇『喕姆椒ǎ从脩糁唤㈨椖课募?,而不建立項目工作區(qū),由系統(tǒng)自動建立項目工作區(qū)。在本方法中,保留上一節(jié)中介紹的第(1)、(4)、(5)、(6)步,取消第(2)步,修改第(3)步。具體步聚如下:(1)分別編輯好同一程序中的各個源程序文件。同上一節(jié)中的第(1)步。(2)建立一個項目文件(不必先

31、建立項目工作區(qū))。在 Visual C+主窗口中選擇File(文件)New(新建)命令,在彈出的New(新建)對話框中選擇上部的選項卡projects(項目),表示要建立一個項目文件。見圖1-26。在對話框中左部的列表中選擇“Win32 Console Application”項,在project name(中文Visual C+中顯示為“工程”)文本框中輸入你指定的項目文件名(project1)。可以看到:在右部的中間單選鈕處默認選定了Create new workspace(創(chuàng)建新工作區(qū)),這是由于用戶未指定工作區(qū),系統(tǒng)會自動開辟新工作區(qū)。圖 1-26 建立一個新的Win32 Consol

32、e Application 項目圖 1-27 建立新項目成功單擊 OK(確定)按鈕,出現(xiàn)“Win32 Console Application-step 1 of 1”對話框,選中右部的An empty project 單選鈕,單擊Finish(完成)按鈕后,出現(xiàn)“New project information”(新建工程信息)消息框。從它的下部可以看到項目文件的路徑。單擊OK(確定)按鈕,在彈出的Visual C+ 主窗口的左部窗口的下方單擊File View 按鈕, 窗口中顯示“Workspaceproject1:1 project(s)”,見圖1-27。說明系統(tǒng)已自動建立了一個工作區(qū),由于

33、用戶未指定工作區(qū)名,系統(tǒng)就將項目文件名project1 同時作為工作區(qū)名。向此項目文件添加內容。步驟與方法一中的第(4)步相同。編譯和連接項目文件。步驟與方法一中的第(4)步相同。執(zhí)行可執(zhí)行文件。步驟與方法一中的第(6)步相同。顯然,這種方法比前一種方法簡單一些。在介紹單文件程序時,為了盡量簡化手續(xù),這里沒有建立工作區(qū),也沒有建立項目文件,而是直接建立源文件,實際上,在編譯每一個程序時都需要一個工作區(qū),如果用戶未指定,系統(tǒng)會自動建立工作區(qū),并賦予它一個默認名(此時以文件名作為工作區(qū)名1.3 Visual C+ 6.0 工程相關文件介紹序號 文件名 描述1 *.dsw VC 工作區(qū)文件2 *.d

34、sp (Developer Studio Project)項目文件,文本格式。不熟悉的話不要手工修改3 *.ncb 無編譯瀏覽文件。當自動完成功能出問題時,可以刪除此文件,編譯工程后會自動生成。4 *.opt 工程關于開發(fā)環(huán)境的參數(shù)文件,如VC 工具條位置信息等。5 *.h C/C+程序頭文件,可用文本編輯器打開6 *.cpp C+源程序文件,可用文本編輯器打開7 *.exe 程序可執(zhí)行文件8 *.plg 編譯信息文件。編譯時的error 和warning 信息文件(實際上是一個html文件),一般用處不大。在Tools􀃆Options􀃆Build 里面的選

35、項可以控制這個文件的生成。9 *.pch (Pre-Compiled File)是預編譯文件??梢约涌炀幾g速度,但是文件非常大10 *.pdb (Program Database)記錄了程序有關的一些數(shù)據(jù)和調試信息,在調試的時候有用11 *. obj 源程序文件的目標文件,編譯后生成12 *. ilk 源程序文件的連接文件,連接后生成注:在 VC 下建立一個工程后,會自動產生14 類型的文件。加入*.h、*.cpp 文件編譯后產生712 類型的文件。其中812 類型的文件位于工程目錄下的Debug 目錄下。1-4 類型的文件都是工程相關的文件,一般不要刪除,因為刪除后,必須手動的重新建立工程(

36、1.2.6 詳細描述了如何建立一個工程)。對于大型項目來說,刪除這些文件的后果很嚴重。56 類型的文件還有什么可說的,不僅不能刪除這些文件,還要備份這些文件。失去這些文件是災難性的。712 類型的所有文件都是可以刪除的,因為再次編譯連接運行程序時,會再次自動生成這些文件。1.4 Visual C+ 6.0 錯誤信息1.4.1 程序錯誤的類型1、嚴重錯誤(fatal error)很少出現(xiàn),通常是內部編譯器出錯。造成編譯立即停止。2、語法錯誤(error)語法錯誤是指源程序中存在不符合C/C+語言語法規(guī)定的語句,例如將int 寫成Int,括號不匹配等。這些錯誤不改正是不能通過編譯的。如圖1-28圖

37、 1-28 語法錯誤3、警告錯誤(warning)對于一些在語法上有輕微毛病但不影響程序運行的錯誤(如定義了變量但始終未使用),編譯時會發(fā)出警告信息,雖然程序能通過編譯、連接、運行,但警告類的錯誤常常帶來程序非法操作、運行錯誤等問題。所以,盡量改正警告錯誤。如圖1-29圖 1-29 警告錯誤4、連接錯誤(Link error)程序語法上沒有問題,但是在連接時出現(xiàn)錯誤。這類問題常常是因為程序依賴函數(shù)、庫不匹配造成的。如圖1-30圖 1-30 連接錯誤5、邏輯錯誤邏輯錯誤是指程序無語法錯誤,也能正常運行,但結果不對。這類錯誤常常是設計算法時的錯誤,計算機無法檢查出來。邏輯錯誤是最難改正的錯誤之一,

38、引起錯誤的原因往往可能很不起眼,比如就是一個變量沒有初始化等,所以改正這類錯誤常常需要投入大量的精力。6、運行錯誤有時程序既無語法和邏輯錯誤,但是程序就是不能正常運行。多數(shù)情況下是輸入數(shù)據(jù)和程序要求的數(shù)據(jù)不匹配造成的,也可能是系統(tǒng)的支持問題。在 C+中,語法、連接錯誤相對較為容易改正。而邏輯錯誤是最隱蔽的錯誤,比較難以改正。運行錯誤則主要是在程序強壯性、兼容性上可能存在問題,可以通過提高程序的適應能力來修正。而最容易讓程序開發(fā)人員忽略的就是警告錯誤了,因為警告錯誤不一定會影響程序的運行,但是正是這種不確定性也傳遞給了程序的執(zhí)行,你不知道程序什么時候會出問題,也許永遠不會有問題,也許問題馬上出現(xiàn)

39、,也許問題n 年后出現(xiàn),誰知道。所以,一定要重視警告錯誤。表 1-1 是C+錯誤的前綴描述,在遇到錯誤時可以根據(jù)其前綴就知道錯誤等級了。表1-1 C+錯誤的前綴描述錯誤等級錯誤前綴錯誤編號范圍示例嚴重錯誤C1001999編譯錯誤C2001999error C2065: 'Int' : undeclared identifier(標識符,比如一個變量,未申明)。如圖1-28,Int 沒有申明過。警告錯誤C4001999warning C4101: 'i' : unreferenced local variable(局部變量申明后從未使用過)。如圖1-29,其中的i

40、 變量從未使用過。鏈接錯誤LNK10006026LNK2001: unresolved external symbol"symbol". (連接指定的函數(shù)或庫異常)。如圖1-31,程序找不到main 函數(shù)。1.4.2 錯誤信息的查詢只有詳細地了解了錯誤的原因,才能正確地改正錯誤。Microsoft 的MSDN Library(Microsoft 開發(fā)幫助文檔庫,如圖1-31)提供了查詢錯誤信息的功能。對于遇到的不明白的錯誤,同學們應該學習使用MSDN 幫助文檔庫進行錯誤信息查詢,獲得錯誤信息的解釋和可能的改正方法。具體方法如下:(1)選擇MSDN Library(如圖1-3

41、1)的索引屬性頁,在“鍵入要查找的關鍵字:”中輸入錯誤號(由錯誤前綴和編號組成),比如輸入C2065,如圖1-32 所示。圖 1-31 MSDN Library圖 1-32 在MSDN Library 中查找錯誤信息(2)、在索引列表框中雙擊選擇匹配的錯誤后,錯誤類型、可能原因、改正方法等信息則顯示在窗口的右邊部分。如圖1-32 所示:1.5 Visual C+ 6.0 調試工具使用在開發(fā)程序的過程中,需要不斷地調試自己的程序,或檢查錯誤,或測試程序的穩(wěn)定性,這就需要借助調試工具來進行。選擇一個好的調試工具并能夠熟練地使用它,將會使程序開發(fā)變得更加容易,從而大大提高程序開發(fā)的效率。目前有許多調

42、試工具,集成在 Visual C+中的調試工具便具有相當強大的功能。1.5.1 設置工程的調試屬性在 Visual C+中建立一個工程(Project)時,Visual C+都會自動創(chuàng)建一個Debug 目錄,在該目錄下存放在開發(fā)過程進行調試時生成的文件以及生成的可執(zhí)行文件(不同類型文件的解釋見1.3 節(jié) Visual C+ 6.0工程相關文件介紹),不妨將此時生成的可執(zhí)行文件稱為Debug版本。在Debug 版本當中,包含著Microsoft 格式的調試信息,而且不進行任何代碼優(yōu)化。一般情況下,在程序的開發(fā)過程中使用Debug 模式。在應用程序開發(fā)完成之后,要將程序發(fā)行時,需要編譯形成另一種版

43、本的可執(zhí)行文件,稱為Release 版本,在Release 版本中對可執(zhí)行程序的二進制代碼進行了優(yōu)化,其中不包含任何的調試信息。要建立Release 版本的可執(zhí)行文件,可以選擇菜單Project 中的Setting 命令,這時屏幕上面彈出Project Settings 對話框,如圖1-33 所示。在Settings For 下拉列表中選擇Release,按OK 按鈕退出。如果要在 Visual C+中調試程序,則工程的應設為Debug 版本。一般Visual C+建立一個工程(Project)時,默認采用Debug 版本。圖 1-33 設置工程的調試屬性1.5.2 學習設置斷點進行單步調試通

44、常,一個應用程序是連續(xù)運行的,但是在程序調試的過程中,往往需要在程序的運行過程的某一階段來觀測應用程序的狀態(tài),所以必須使程序在某一地點停下來。在Visual C+中,可以通過設置斷點來達到這樣的目的。在設置好斷點之后,當程序運行到設立斷點處時就停止運行,此時就可以利用各種工具來觀察程序的狀態(tài),也可以設置各種條件使程序按要求繼續(xù)運行,這樣就可以進一步觀測程序的流向。在 Visual C+中,可以設置多種類型的斷點,這些斷點起作用的方式各不相同,可以將它們分為三類,即:位置斷點、邏輯斷點以及與Windows 消息有關的斷點。下面我們只介紹簡單位置斷點的設置方法,其它高級斷點的設置可以在今后進一步學

45、習中掌握。1、設置位置斷點位置斷點,這是一類最簡單的斷點類型,其設置方法也最為簡單,只要把光標移到要設斷點的位置(當然這一行必須包含一條有效語句);然后按工具條上的add/remove breakpoint按鈕或按快捷鍵F9;如圖1-34:圖 1-34 設置斷點按鈕這時將會在屏幕上看到在這一行的左邊出現(xiàn)一個紅色的圓點,表示在該位置設立了一個斷點,如圖1-35 所示。如果你想取消斷點,將光標移動到設置斷點的代碼行,按F9。2、啟動調試按 F5 或者在Build 菜單中,選擇Start Debug 然后選擇Go,就可以啟動調試程序。程序會一直運行到需要用戶輸入或者有斷點的代碼處。如圖1-37 處的

46、小黃箭頭,表明程序運行到該處停止下來,等待下一步調試命令。3、查看變量值查看變量值有多種方式,你可以選擇你喜歡的方式進行。(1)你可以將鼠標移動到程序的變量名處,系統(tǒng)會自動為你顯示變量的值;(2)復雜變量(如對象)可以通過QuickWatch 查看,方法是:將光標定位到所要查看值的變量處,按鼠標右鍵,選擇QuickWatch 菜單,就可以看到變量值。(3)啟動調試程序后,屏幕下方將會出現(xiàn)兩個輸出窗口,一個是Watch,另一個是Variable。Watch 窗口顯示變量名和變量值,你可以在Watch 窗口中加上你想觀察值的變量名,也可以直接從源代碼中選擇變量名,并把它拖動到Watch 窗口中。V

47、ariable 窗口顯示程序當前運行上下文涉及的變量的值。如圖 1-37:圖 1-35 設置一個斷點圖 1-36 啟動調試圖 1-37 查看變量數(shù)據(jù)4、控制程序執(zhí)行你可以控制程序單步執(zhí)行(F10)、跟蹤到一個函數(shù)內部(F11)、從一個函數(shù)運行出來(shift+F11)、運行到光標所在位置(Ctrl+F10),以便方便地調試程序。這些命令用于在某個局部范圍詳細地調試程序。你也可以通過設置斷點(F9)然后用直接運行(GO 或者F5)來控制程序直接運行到斷點位置。如果你設置了多個斷點,程序將會在遇到的第一個斷點處停下來。要從斷點處繼續(xù)運行,可以用上面所說的各種命令(F5, F10, F11, Shi

48、ft+F11,Ctrl+F10)圖 1-38 調試控制工具條5、結束調試要結束調試,可以按 shift+F5 或者選擇菜單Debug|Stop Debugging。當結束調試后,所有調試窗口會自動關閉,Debug 菜單也會自動還原為Build 菜單。第二章C/C+實驗要求2.1 實驗的意義和目的程序設計是計算機專業(yè)的本,計算機專業(yè)大量的理論和實踐學習,比如,從數(shù)據(jù)結構、面向對象程序設計、操作系統(tǒng)到畢業(yè)設計,都會用到程序設計,而C+程序設計語言則是進行程序設計的基礎工具。正如我們在學習語言時,不能僅僅停留在“聽得懂”,而要學會能說會道,才能有效地和別人進行交流。類似的,學習C+程序設計不能僅滿足

49、于“懂得了”,滿足于了解語法和能看懂書上的程序,而應當掌握程序設計的全過程,即能獨立編寫源程序,獨立調試運行程序,獨立分析運行結果,學會利用C+程序設計語言和計算機進行交流。程序設計是一門實踐性很強的課程,必須以實踐為重,許多實踐知識不是靠聽課和看書學到的,而是通過長時間的實踐積累起來的,切忌只看書,不上機實踐。不僅要紙上談兵,更要沙場比試。正是如此,C+實驗給同學提供了一個實踐的機會。C+實驗的目的,絕不僅是為了驗證教材和講課的內容,或者驗證自己所編寫的程序正確與否。其目的更在于:1、加深對講授內容的理解,尤其是一些語法規(guī)定,光靠課堂講授,不足于掌握理解。通過多次上機,就能自然地、熟悉地掌握

50、,所謂熟能生巧。2、熟練掌握并使用C+程序開發(fā)的環(huán)境。3、學會獨立調試和運行程序。任何程序都不是一蹴而就的,需要多次的更改調試,對初學者來說更是如此。因此,要在調試過程中積累經驗,再利用經驗高效、快速地調試程序。調試程序的能力是每個程序設計人員應當掌握的一項基本功。4、養(yǎng)成良好的編程習慣,編寫良好風格的代碼。編寫程序應遵循良好的編程規(guī)范,使程序具有良好的可讀性、可維護性。正如寫文章一樣,不僅要寫得一手好字,更要格式規(guī)范,段落分明,思路清晰。5、培養(yǎng)獨立編寫程序的能力。程序設計最終的目的是使用計算機解決實際問題,問題是什么,如何解決,解決方法是什么,如何編寫程序解決問題才是核心。因此,在做實驗的

51、時候應多問為什么,多觀察,多分析,多動手。2.2 實驗過程總體要求2.2.1 實驗內容總體安排2.2.2 實驗前的準備工作1、預習、思考實驗內容;2、復習和掌握與本實驗有關的知識內容;3、準備好上機所需的程序代碼。實驗課內時間主要是解決問題、調試程序、運行程序、測試程序和分析結果的時間。切忌不編寫程序或抄襲別人程序去上機;4、填寫實驗報告中的如下內容:一、實驗目的二、實驗內容 1-4 點5、對程序中自己有不懂或疑問的地方,應做出記錄,以便在實驗課上集中解決;6、準備好調試和運行所需的數(shù)據(jù);2.2.3 上機實驗步驟上機實驗時應該是一人一組,獨立上機。上機過程中出現(xiàn)的問題,盡量先獨立思考和解決,尤

52、其是語法錯誤問題,應善于獨立分析判斷,這是提高程序調試能力最主要的途徑;對于難以解決的問題可以和同學交流或問老師。具體的上機步驟是:1、在磁盤上建立自己的工作目錄,比如D:張三C+實驗實驗一2、進入C+工作環(huán)境,如Visual C+ 6.0 集成開發(fā)環(huán)境;3、輸入自己編好的程序;4、檢查輸入是否有錯;5、編譯和連接。如果出現(xiàn)錯誤,首先記錄錯誤信息,然后根據(jù)提示的出錯信息查找出錯位置和原因,加以改正。再進行編譯,如此反復直到正確編譯和連接為止通過為止。6、運行程序,輸入測試數(shù)據(jù),記錄程序運行結果;7、分析結果是否正確,并改進程序;2.2.4 上機代碼編寫要求1、認真閱讀參考資料華為編程規(guī)范和范例

53、;2、實驗代碼書寫規(guī)范清晰,如縮進、空行、程序塊對齊等;3、書寫的代碼有必要的注釋;注意:代碼的規(guī)范性將作為實驗(過程和期末)考核的一個重要部分2.2.5 實驗報告編寫實驗后,應及時整理出實驗報告,實驗報告提交電子文檔,實驗報告具體內容見附錄A實驗報告。2.2.6 實驗數(shù)據(jù)提交1、提交內容每次實驗需要提交的數(shù)據(jù)主要有以下幾項:(1)、實驗報告:嚴格按照附錄A 給出的格式完成實驗報告。(2)、實驗代碼:實驗代碼必須規(guī)范編寫,不良代碼不予接收。(3)、實驗可執(zhí)行文件2、提交方法每次實驗的數(shù)據(jù)均需要按時提交到指導教師指定的服務器上。提交的方法如下:(1)、把實驗的內容(見1)統(tǒng)一放入一個文件夾中。文

54、件夾以學生的班級、學號、姓名組合命名,比如:計算機-20060405-張三。如下圖2-1:圖 2-1 實驗數(shù)據(jù)整理(2)、把(1)整理的個人實驗數(shù)據(jù)文件夾提交到服務器,具體服務器由指導教師根據(jù)實驗室環(huán)境情況確定。2.2.7 實驗參考資料1 華為編程規(guī)范2 林銳. 高質量C+C 編程指南. 2001, 73 譚浩強. C+ 程序設計. 北京:清華大學出版社. 20044 譚浩強. C+程序設計題解與上機指導. 北京:清華大學出版社. 20042.3 實驗考核2.3.1 平時實驗過程考核平時實驗過程考核主要是三個方面:1、上機實驗考勤。每次上機應主動在指導老師處簽到,冒簽等不誠信行為一旦發(fā)現(xiàn),取消本次實驗成績。累計缺席實驗課5 次及5 次以上者(共16 課),取消期末實驗上機考試資格。2、實驗數(shù)據(jù)提交。應根據(jù)指導教師要求按時提交每次實驗的數(shù)據(jù)(不知道提交什么?見2.2.6 實驗數(shù)據(jù)提交)。抄襲代碼或實驗報告等不誠信行為一旦發(fā)現(xiàn),取消本次實驗成績。實驗數(shù)據(jù)未交5 次及5 次以上者(共13 個實驗),取消期末實驗上機考試資格。3、指導教師每次實驗課根據(jù)實驗過程情況,隨

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論