c實驗指導(dǎo)書-目錄1_第1頁
c實驗指導(dǎo)書-目錄1_第2頁
c實驗指導(dǎo)書-目錄1_第3頁
c實驗指導(dǎo)書-目錄1_第4頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《C++程序設(shè)計基礎(chǔ)》

實驗指導(dǎo)書武漢大學(xué)珞珈學(xué)院計算機系TOC\o"1-5"\h\z\o"CurrentDocument"第一章C++實驗預(yù)備知識 6\o"CurrentDocument"VisualC++6.0的使用 6\o"CurrentDocument"VisualC++介紹 6\o"CurrentDocument"VisualC++的安裝和啟動 6\o"CurrentDocument"常用功能鍵及其意義 7\o"CurrentDocument"輸入和編輯源程序 8\o"CurrentDocument"建立和運行包含多個文件的程序的方法 19\o"CurrentDocument"VisualC++6.0工程相關(guān)文件介紹 26\o"CurrentDocument"VisualC++6.0錯誤信息 26\o"CurrentDocument"程序錯誤的類型 26\o"CurrentDocument"錯誤信息的查詢 28\o"CurrentDocument"VisualC++6.0調(diào)試工具使用 29\o"CurrentDocument"設(shè)置工程的調(diào)試屬性 29\o"CurrentDocument"學(xué)習(xí)設(shè)置斷點進行單步調(diào)試 30\o"CurrentDocument"第二章C++實驗要求 34\o"CurrentDocument"實驗的意義和目的 34\o"CurrentDocument"實驗過程總體要求 34\o"CurrentDocument"第三章實驗內(nèi)容與指導(dǎo) 35\o"CurrentDocument"實驗ー數(shù)據(jù)表示與程序控制 35\o"CurrentDocument"實驗類型:驗證、設(shè)計型實驗 6學(xué)時 35\o"CurrentDocument"實驗?zāi)康?35\o"CurrentDocument"知識點介紹 35\o"CurrentDocument"實驗內(nèi)容 36\o"CurrentDocument"題目1最簡單的C++程序 36\o"CurrentDocument"題目2閱讀并編譯、運行程序 37\o"CurrentDocument"題目3簡單應(yīng)用ー求圓柱體的體積 38顧4_計算公司員エ周工資 40\o"CurrentDocument"題目5設(shè)計一個計算+、ー、?、/的程序 42\o"CurrentDocument"題目6計算生日是星期幾 43\o"CurrentDocument"實驗2函數(shù)與數(shù)組 44\o"CurrentDocument"實驗類型:驗證、設(shè)計型實驗6學(xué)時 44\o"CurrentDocument"實驗?zāi)康?44\o"CurrentDocument"知識點介紹 44\o"CurrentDocument"實驗內(nèi)容 45\o"CurrentDocument"題目1分析程序運行結(jié)果 45\o"CurrentDocument"題目2函數(shù)的遞歸調(diào)用和多文件結(jié)構(gòu) 46\o"CurrentDocument"題目3排序查找 48題目4矩陣相乘 49\o"CurrentDocument"題目5字符串連接 49\o"CurrentDocument"實驗三指針與引用 50\o"CurrentDocument"實驗類型:設(shè)計型實驗6學(xué)時 50\o"CurrentDocument"實驗?zāi)康?50\o"CurrentDocument"知識點介紹 51\o"CurrentDocument"實驗內(nèi)容 51\o"CurrentDocument"題目1程序分析 51\o"CurrentDocument"題目2班級課程成績計算 53題目3排序查找 54\o"CurrentDocument"實驗四結(jié)構(gòu)體與鏈表 54\o"CurrentDocument"實驗類型:設(shè)計型實驗6學(xué)時 54\o"CurrentDocument"實驗?zāi)康?54\o"CurrentDocument"知識點介紹 55\o"CurrentDocument"實驗內(nèi)容 55\o"CurrentDocument"題目1日期計算 55\o"CurrentDocument"題目2學(xué)生成績管理 55\o"CurrentDocument"題目3結(jié)構(gòu)體鏈表 57\o"CurrentDocument"題目4通信錄 59\o"CurrentDocument"題目5計算器 59\o"CurrentDocument"實驗五類和對象 59\o"CurrentDocument"351實驗類型:設(shè)計型實驗6學(xué)時 59\o"CurrentDocument"實驗?zāi)康?59\o"CurrentDocument"知識點介紹 60\o"CurrentDocument"實驗內(nèi)容 61\o"CurrentDocument"題目1圖形類設(shè)計 61\o"CurrentDocument"題目2學(xué)生類設(shè)計 62\o"CurrentDocument"題目3人員,目理 63\o"CurrentDocument"實驗六繼承與派生 64\o"CurrentDocument"實驗類型:設(shè)計型實驗6學(xué)時 64\o"CurrentDocument"實驗?zāi)康?64\o"CurrentDocument"知識點介紹 64\o"CurrentDocument"實驗內(nèi)容 66\o"CurrentDocument"題目1圖形類 66\o"CurrentDocument"題目2教師干部類 66\o"CurrentDocument"題目3小型公司人員管理 67\o"CurrentDocument"實驗七運算符重載 68\o"CurrentDocument"實驗類型:驗證型實驗6學(xué)時 68\o"CurrentDocument"實驗?zāi)康?68\o"CurrentDocument"知識點介紹 68\o"CurrentDocument"實驗內(nèi)容 69\o"CurrentDocument"題目1重載<,>,== 69\o"CurrentDocument"題目2重載時間加減法 69\o"CurrentDocument"題目3:重載類對象作參數(shù) 70\o"CurrentDocument"實驗八多態(tài)與虛函數(shù) 70\o"CurrentDocument"實驗類型:設(shè)計型實驗6學(xué)時 70\o"CurrentDocument"實驗?zāi)康?70\o"CurrentDocument"實驗內(nèi)容 72\o"CurrentDocument"題目1圖形類 72\o"CurrentDocument"題目2員エ管理 73\o"CurrentDocument"實驗九文件操作 73\o"CurrentDocument"實驗類型:設(shè)計型實驗6學(xué)時 73\o"CurrentDocument"實驗?zāi)康?73\o"CurrentDocument"知識點介紹 73\o"CurrentDocument"實驗內(nèi)容 74\o"CurrentDocument"題目1二進制文件操作 74題目2人貝]鼻息保存 75\o"CurrentDocument"題目3文件合并 75\o"CurrentDocument"3.1〇.實驗十面向?qū)ο蟪绦蛟O(shè)計實踐 77\o"CurrentDocument"實驗類型:綜合型實驗6學(xué)時 77\o"CurrentDocument"驗?zāi)康?77\o"CurrentDocument"識點介紹 77\o"CurrentDocument"驗內(nèi)容 77\o"CurrentDocument"題目1堆棧與簡單語法檢查 77\o"CurrentDocument"題目2成績管理系統(tǒng) 78\o"CurrentDocument"題目3通信錄管理系統(tǒng) 78\o"CurrentDocument"題目4理系統(tǒng) 79第一章C++實驗預(yù)備知識VisualC++6.0的使用VisualC++介紹VisualC++是Microsoft公司的VisualStudio開發(fā)工具箱中的ー個C++程序開發(fā)包。isualStudio提供了一一整套開發(fā)Internet和Windows應(yīng)用程序的工具,包括VisualC++,isualBasic,VisualFoxPro,VisualInterDev,VisualJ++以及其他輔助工具,如代碼管理工具VisualSourceSafe和聯(lián)機幫助系統(tǒng)MSDN。VisualC++包中除包括C++編譯器外,還包括所有的庫、范例和為創(chuàng)建Windows應(yīng)用程序所需要的文檔。從最早期的1.0版本發(fā)展6。版本,到最新的.NET版本,VisualC++已經(jīng)有了很大的變化,在界面、功能、庫支持方面都有許多的增強。6.0版本在編譯器、MFC類庫、編輯器以及聯(lián)機幫助系統(tǒng)等方面都比以前的版本做了較大改進。VisualC++ー般分為三個版本:學(xué)習(xí)版、專業(yè)版和企業(yè)版,不同的版本適合于不同類型的應(yīng)用開發(fā)。實驗中可以使用這三個版本的任意ー種。VisualC++的安裝和啟動応MicrosoftVisualStudio6.0如果計算機未安裝VisualC++6.0,則應(yīng)先安裝VisualC++6.0。VisualC++是VisualStudio的一部分,因此需要VisualStudio的光盤,執(zhí)行其中的setup.exe,并按屏幕上的提示安裝即可。安轉(zhuǎn)完畢后,在Windows的“開始”菜單的程序子菜單中會出現(xiàn)“MicrosoftvisualStudio”子菜單,如圖1?応MicrosoftVisualStudio6.0,コMicrosoftVisualStudio6.0Tools,ハ,MicrosoftVisualC++6.0圖1-1MicrosoftvisualStudio啟動子菜單在需要使用VisualC++時,只需從桌面上順序選擇“開始”程序“MicrosoftvisualStudio"VisualC++6.0命令即可,此時屏幕上在短暫顯示VisualC++6.0的版權(quán)頁面后,出現(xiàn)VisualC++6.0的由窗口、工具條、菜單、工具及其他部分組成的一個主界面。通過這個界面,用戶可以創(chuàng)建、測試、調(diào)試應(yīng)用程序。如圖

圖1-2VisualC++6.0界面常用功能鍵及其意義為了使程序員能夠方便快捷地完成程序開發(fā),開發(fā)環(huán)境提供了大量快捷方式來簡化ー些常用操作的步驟。鍵盤操作直接、簡單,而且非常方便,因而程序員非常喜歡采用鍵盤命令來控制操作。下面是ー些最常用的功能鍵,希望在實驗中逐步掌握。操作類型功能鍵對應(yīng)菜單含義文件操作Ctrl+NFile|New創(chuàng)建新的文件、項目等Ctrl+OFile|Open打開項目、文件等Ctrl+SFile|Save保存當前文件編軻操作Ctrl+XEdit|Cut剪切Ctrl+CEdit|Copy復(fù)制Ctrl+VEdit|Paste粘貼Ctrl+ZEditlUndo撤消上一個操作Ctrl+YEdit|Redo亜復(fù)ヒー個操作Ctrl+AEdit|SelectAll全選DelEdit|Del刪除光標后面的ー個字符建立程序操作Ctrl+F7Build|Con屮ilercurrentfile編譯當前源文件Ctrl+F5Build|Runexe運行當前項目F7Build|Buildexe建立可執(zhí)行程序F5Build|StartDebugging啟動調(diào)試程序調(diào)試F5Debug|Go繼續(xù)運行F11Debug|Stepinto進入函數(shù)體內(nèi)部shift+FllDebuglStepout從函數(shù)體內(nèi)部運行出來F10Debug|Stepover執(zhí)行一行語句F9設(shè)宜/清除斷點Ctrl+F10Debug|Runtocursor運行到光標所在位置shift+F9DebugIQuickWatch快速査看變風(fēng)或表達式的值Shift-F5Debug|Stopdebugging停止調(diào)試

說明:快捷鍵命令都有對應(yīng)的菜單和工具條按鈕,如圖1.3:圖1, 柳楠犍念今司:助4格切輸入和編輯源程序先介紹最簡單的情況,即程序只由一個源程序文件組成,即單文件程序(有關(guān)對多文件程序的操作在本章的稍后介紹)。1、新建一個C++源程序的方法如果要新建一個C++源程序,可采取以下的步驟:在VisualC++主窗口的主菜單欄中選擇File(文件)命令,然后選擇New(新建)命令,如圖1-4。圖1-4選擇File菜單中的New操作

圖1-5創(chuàng)建一個C++源文件這時,屏幕上出現(xiàn)一個New(新建)對話框,單擊此對話框的上方的Files(文件)屬性頁,在列表中選擇“C++SourceFile”項,表示要建立新的C++源程序文件,然后在對話框右半部分的Location(目錄)文本框中輸入準備編輯的源程序文件的存儲路徑(假設(shè)為D:'計算機ー班張華、實驗ー),表示準備編輯的源程序文件將存存放在"D:'計算機ー班張華、實驗ー”子目錄下。在其上方的File(文件)文本框中輸入準備編輯的源程序文件的名字(輸入MyFirstC),如圖1-5。這樣,即將進行輸入和編輯的源程序就以MyFirstC.cpp為文件名存放在D盤的“ロ:\計算機ー班張華、實驗ー”目錄下。在單擊OK按鈕后,回到VisualC++主窗口,由于在前面已指定了路徑(D:'計算機ー班張華、實驗ー)和文件名(MyFirstC.cpp),因此在窗口的標題欄中顯示出MyFirstC.cpp??梢钥吹焦鈽嗽诔绦蚓庉嫶翱陂W爍,表示程序編輯窗口已激活,可以輸入和編輯源程序了。這里輸入如圖1-6窗口中所示的程序。檢查無誤后,則將源程序保存在前面指定的文件中,方法是:在主菜單欄中選擇File(文件)命令,并在其下拉菜單中選擇Save(保存)命令。也可以用快捷鍵Ctrl+S來保存文件。如果不想將源程序存放到原先指定的文件中,可以不選擇Save命令,而選擇SaveAs(另存為)命令,并在彈出的SaveAs(另存為)對話框中指定文件路徑和文件名。圖1-6C++程序源代碼輸入2、打開一個已有的程序如果已經(jīng)編輯并保存過C++源程序,而希望打開所需要的源程序文件,并對它進行修改,方法是:(1)在“資源管理器”或“我的電腦”中按路徑打到已有的C++程序名(如Cl-l.cpp)〇(2)雙擊此文件名,則進入VisualC++集成環(huán)境,并打開了該文件,程序已顯示在編輯窗口中。也可以用Ctrl+O或單擊工具欄中的小圖標來打開文件。(3)如果修改后仍想保存在原來的文件中,可以選擇File(文件)-Save(保存)命令,或用快捷鍵Ctrl+S,或單擊工具欄中的小圖標來保存文件。3、通過已有的程序建立一個新程序如果已編輯并保存過ー個C++源程序(而不是第一次在該計算機上使用VisualC++),則可以通過一個已有的程序來建立一個新程序,這樣做比重新輸入ー個新文件省事,因為可以利用原有程序的部分內(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ū)進行編譯。編譯、連接和運行第一章C++實驗預(yù)備知識TOC\o"1-5"\h\zVisualC++6.0的使用 6VisualC++介紹 6VisualC++的安裝和啟動 6常用功能鍵及其意義 7輸入和編輯源程序 8建立和運行包含多個文件的程序的方法 19VisualC++6.0工程相關(guān)文件介紹 26VisualC++6.0錯誤信息 26程序錯誤的類型 26錯誤信息的查詢 28VisualC++6.0調(diào)試工具使用 29設(shè)置工程的調(diào)試屬性 29學(xué)習(xí)設(shè)置斷點進行單步調(diào)試 30第二章C++實驗要求 34實驗的意義和目的 34實驗過程總體要求 34第三章實驗內(nèi)容與指導(dǎo) 35實驗ー數(shù)據(jù)表示與程序控制 35實驗類型:驗證、設(shè)計型實驗 6學(xué)時 35實驗?zāi)康?35\o"CurrentDocument"知識點介紹 353.1.4實驗內(nèi)容 36題目1最簡單的C++程序 36題目2閱讀并編譯、運行程序 37題目3簡單應(yīng)用ー求圓柱體的體積 38\o"CurrentDocument"題目4計算公司員エ周工資 40題目5設(shè)計一個計算+、ー、?、/的程序 42題目6計算生日是星期幾 43實驗2函數(shù)與數(shù)組 44實驗類型:驗證、設(shè)計型實驗6學(xué)時 44實驗?zāi)康?44知識點介紹 44實驗內(nèi)容 45題目1分析程序運行結(jié)果 45題目2函數(shù)的遞歸調(diào)用和多文件結(jié)構(gòu) 46題目3排序查找 48題目4矩陣相乘 49題目5字符串連接 49實驗三指針與引用 50實驗類型:設(shè)計型實驗6學(xué)時 50實驗?zāi)康?50知識點介紹 51實驗內(nèi)容 51題目1程序分析 51題目2班級課程成績計算 53題目3排序查找 54實驗四結(jié)構(gòu)體與鏈表 54實驗類型:設(shè)計型實驗6學(xué)時 54實驗?zāi)康?54知識點介紹 55實驗內(nèi)容 55題目1日期計算 55題目2學(xué)生成績管理 55題目3結(jié)構(gòu)體鏈表 57題目4通信錄 59題目5計算器 59實驗五類和對象 59實驗類型:設(shè)計型實驗6學(xué)時 59實驗?zāi)康?59知識點介紹 60實驗內(nèi)容 61題目1圖形類設(shè)計 61題目2學(xué)生類設(shè)計 62題目3人員宣理 63實驗六繼承與派生 64實驗類型:設(shè)計型實驗6學(xué)時 64實驗?zāi)康?64知識點介紹 64實驗內(nèi)容 66題目1圖形類 66題目2教師干部類 66題目3小型公司人員管理 67實驗七運算符重載 68實驗類型:驗證型實驗6學(xué)時 68實驗?zāi)康?68知識點介紹 68實驗內(nèi)容 69題目1重載<,>,== 69題目2重載 時間加減法 69題目3:重載類對象作參數(shù) 70實驗八多態(tài)與虛函數(shù) 70實驗類型:設(shè)計型實驗6學(xué)時 70實驗?zāi)康?70實驗內(nèi)容 72題目1圖形類 72題目2員エ管理 73實驗九文件操作 73實驗類型:設(shè)計型實驗6學(xué)時 73實驗?zāi)康?73知識點介紹 73實驗內(nèi)容 74題目1二進制文件操作 74\o"CurrentDocument"題目2人員信息保存 75題目3文件合并 75.實驗十面向?qū)ο蟪绦蛟O(shè)計實踐 77實驗類型:綜合型實驗6學(xué)時 77實驗?zāi)康?77知識點介紹 77實驗內(nèi)容 77題目1堆棧與簡單語法檢查 77題目2成績管理系統(tǒng) 78題目3通信錄管理系統(tǒng) 78題目4學(xué)生管理系統(tǒng) 791、程序的編譯在編輯和保存了源文件以后,需要對該源文件進行編譯。單擊主菜單欄中的Build(編譯),在其下拉菜單中選擇CompileMyFirstC.cpp(編譯MyFirstC.cpp)命令。由于建立(或保存)文件時已指定了源文件的名字MyFirstC.cpp,因此在Build菜單的Compile命令中顯示了現(xiàn)在要編譯的源文件名MyFirstC.cpp。見圖1-7:

圖1-7編譯C++程序在選擇"編譯"命令后,屏幕上出現(xiàn)ー個對話框,內(nèi)容是"Thisbuildcommandrequiresanactiveprojectworkspace.Wouldyouliketocreateadefaultprojectworkspace?"(此編悻命令要求一個有效的項目工作區(qū)。你是否同意建立一個默認的項目工作區(qū)),見圖1-8。單擊Yes(是)按鈕,表示同意由系統(tǒng)建立默認的項目工作區(qū),然后開始編譯。也可以不用選擇菜單的方法,而用Ctrl+ド7或小圖標來完成編譯。圖1-8建立默認工作區(qū)提示在進行編譯時,編譯系統(tǒng)檢查源程序中有無語法錯誤,然后在主窗口下部的調(diào)試信息窗口輸出編譯的信息,如果有錯,就會指出錯誤的位置和性質(zhì),見圖1-9。圖1-9編譯錯誤信息提示2、程序的調(diào)試程序調(diào)試的任務(wù)是發(fā)現(xiàn)和改正程序中的錯誤,使程序能正常運行。編譯系統(tǒng)能檢查出程序中的語法錯誤。語法錯誤分兩類:ー類是致命錯誤,以error表示,如果程序中有這類錯誤,就通不過編譯,無法形成目標程序,更談不上運行了:另ー類是輕警告信息,以warning(警告)表示,這類錯誤不影響生成目標程序和可執(zhí)行程序,但有可能影響運行的結(jié)果。因此也應(yīng)當盡量改正,使程序既無error,又無warning。在圖1-9中的調(diào)試信息窗口中可以看到編譯的信息,指出源程序有一個error和一個warning。第7行有致命錯誤,錯誤的種類是:在''}”之前漏了“二”。檢查圖1-9中的程序,會發(fā)現(xiàn)在第6行末漏了分號。同學(xué)們可能要問:"明明是第6行有錯,怎么在報錯時說成是第7行的錯呢?”這是因為C++允許將ー

個語句分寫成幾行,因此檢查完第6行末尾無分號時還不能判定該語句有錯,必須再檢查下一行,直到發(fā)現(xiàn)第7行的“}”前都沒有“:”,才能判定出錯。因此在第7行報錯。在根據(jù)編譯報錯信息修改程序時,應(yīng)檢查其上下行。此外編譯信息指出第7行還有一個warning,指出main函數(shù)需要有一個返回值,程序中缺少ー個‘'return0:”語句。進行改錯時,雙擊調(diào)試信息窗口中的某個報錯信息的第1行,光標就自動移到程序窗口中被報錯的程序行,并用粗箭頭指向該行。見圖1-10。圖!-11錯誤修改再選擇CompileMyFirstC.cpp命令重新編譯,此時編譯信息提示:"Oerror(s),0waming(s)",即沒有致命錯誤(error)和警告性錯誤(warning),編譯成功,這時產(chǎn)生一個MyFirstC.obj文件。見圖1-12中的下部調(diào)試信息窗口。

圖!-12語法編譯通過3、程序的連接在得到目標程序后,就可以對程序進行連接了。此時應(yīng)選擇Build(構(gòu)建)-BuildMyFirstC.exe(構(gòu)建MyFirstC.exe)命令,見圖1-13。表示要求連接并建立一個可執(zhí)行文件MyFirstC.exe〇圖1-13連接建立可執(zhí)行文件?.exe在執(zhí)行連接后,在調(diào)試輸出窗ロ顯示連接時的信息,說明沒有發(fā)現(xiàn)錯誤,生成了一個可執(zhí)行文件MyFirstC.exe。見圖1-14。圖!-14可執(zhí)行文件建立成功以上介紹的是分別進行程序的編譯與連接,也可以選擇Build一命令(或按F7鍵)一次完成編譯與連接。對于初學(xué)者來說,還是建議分步進行程序的編譯與連接,有利于對程序編譯、解釋、連接過程的理解。經(jīng)過ー個階段的學(xué)習(xí),積累一定經(jīng)驗后,可以ー步完成編譯與連接。4、程序的執(zhí)行在得到可執(zhí)行文件MyFirstC.exe后,就可以直接執(zhí)行MyFirstC.exe了。選擇Build-[Executetest.exe(執(zhí)行MyFirstC.exe)命令。見圖1-15。BuildToolsWindowHelp,CompileMyFirstCpp.cppCtrl+F7BuildMyFirstCpp.exe FT對RebuildAllBatchBuild...CleanStartDebug ?DebuggerRemoteConnection...ExecuteMyFirstCpp.exeCtrl+F5SetActiveConfiguration...Configurations...Profile...圖1-15運行程序可執(zhí)行文件在選擇“!Executetest.exe命令后,即開始執(zhí)行MyFirstC.exe。也可以不通過選擇菜單命,直接用復(fù)合鍵CW+F5來完成執(zhí)行程序的指令。程序執(zhí)行后,屏幕切換到輸出結(jié)果的窗口,顯示出運行結(jié)果,見圖1?16。CA.D:ゝ計覚機05Q1-20060405-張三,實豊ーexeiThisisaC++program~PressanykeytocontinueEL I 2n圖!-16程序運行結(jié)果可以看到,在輸出結(jié)果的窗口中的第1行是程序的輸出結(jié)果:ThisisaC++program.第2行“Pressanykeytocontinue”并非程序所指定的輸出,而是VisualC++在輸出運行結(jié)果后由VisualV++6.0系統(tǒng)自動加上的一行信息,通知用戶“按任ー鍵繼續(xù)”。當按下任一鍵后,輸出窗口消失,回到VisualC++的主窗口,可以繼續(xù)對源程序進行修改、補充或進行其他工作。如果已完成對ー個程序的操作,不再對它進行其他處理,應(yīng)當選擇File(文件)-CloseWorkspace(關(guān)閉窗口)命令,以結(jié)束對該程序的操作。1.1.6建立和運行包含多個文件的程序的方法上面介紹的是最簡單的情況,ー個程序只包含一個源程序文件。如果ー個程序包含多個源程序文件,則需要建立一個項目文件(projectfile),在這個項目文件中包含多個文件(包括源文件和頭文件)。項目文件放在項目工作區(qū)(Workspace)中并在項目工作區(qū)的管理之下工作的,因此需要建立項目工作區(qū),ー個項目工作區(qū)可以包含一個以上的項目。在編譯時,先分別對每個文件進行編譯,然后將項目文件中的文件連接成為ー個整體,再與系統(tǒng)的有關(guān)資源連接,生成一個可執(zhí)行文件,最后執(zhí)行這個文件。在實際操作時有兩種方法:ー種是由用戶建立項目工作區(qū)和項目文件;另一種是用戶只建立項目文件而不建立項目工作區(qū),由系統(tǒng)自動建立項目工作區(qū)。1、由用戶建立項目工作區(qū)和項目文件(1)、先用前面介紹的方法分別編輯好同一程序中的各個源程序文件,并存放在自己指定的目錄下,例如有一個程序包括filel.cpp和file2.cpp兩個源文件,并已把它們保存在"D:、計算張三、實驗ー”子目錄下。(2)、建立一個項目工作區(qū)。在如圖1-4所示的VisualC++主窗口中選擇File(文件)

-New(新建)命令,在彈出的New(新建)對話框中選擇上部的選擇在工作區(qū)屬性頁Workspacename(工作區(qū)名字),表示要建立一個新的項目工作區(qū)。在對話框中右部Workspacename(工作區(qū)名字)文本框中輸入指定的工作區(qū)的名字(如wsl),見圖1-17。圖1-17建立工作區(qū)然后單擊右下部的OK按鈕。此時返回VisualC++主窗口,見圖1-18。圖1-18ー個空的工作區(qū)可以看到在左部的工作區(qū)窗口中顯示了“Workspacews1:0project(s)”,表示當前的エ作區(qū)名是wsl,其中有。個project(沒有在其中放入項目文件)〇(3)、建立項目文件。選擇File(文件)-New(新建)命令,在彈出的New(新建)對話框中選擇上部的選擇屬性頁Projects(項目,中文VisualC++把它譯為“工程”),表示要建立一個項目文件。見圖1-19。圖1-19建立一個新的項目在對話框中左部的列表項中選擇“Win32consoleApplication”項,并在右部的location(位置)文本框中輸入項目文件的位置(即文件路徑),在Projectname(中文界面中顯示為"工程”)文本框中輸入指定的項目文件名,假設(shè)輸入project上在窗口右部選中Addtocurrentworkspace(添加至現(xiàn)有工作區(qū))單選鈕,表示新建的項目文件是放到剛オ建立的當前工作區(qū)中的。然后單擊0K(確定)按鈕。此時彈出ー個如圖1-20所示的對話框,在其中選中Anemptyproject單選鈕,表示新建立的是ー個空的項目。

圖1-2I項目類型選擇單擊Finish(完成)按鈕。系統(tǒng)彈出ー個NewProjectInformation(新建工程信息)對話框(圖1-22),顯示了剛オ建立的項目的有關(guān)信息。圖1-22新建項目的信息在其下方可以看到項目文件的位置(文件路徑)。確認后單擊0K(確定)按鈕。此時又回到VisualC++主窗口,可以看到:左部窗口中顯示了“Workspace'wsl':1project(s)"其下一行為"project1files",表示已將項目文件project1加到項目工作區(qū)wsl中,見圖1-23。

圖!-23文件加入到項目中在選擇"Files…”命令后,屏幕上出現(xiàn)InsertFilesintoProject對話框。在上部的列表框中按路徑找到源文件filel.cppfllfile2.cpp所在的子目錄,并選中filel.cpp和file2.cpp,見圖1-24。圖1-24加入文件選擇單擊OK(確定)按鈕,就把這兩個文件添加到項目文件projectl中了。(5)、編譯和連接項目文件。由于已經(jīng)把filel.cpp和file2.cpp兩個文件添加到項目文件projectl中,因此只須對項目文件projectl進行統(tǒng)一的編譯和連接。方法是:在VisualC++主窗口中選擇Build(編譯)-Buildprojectl.exe(構(gòu)建projectl.exe)命令。在選擇Build

projectl.exe命令后,系統(tǒng)對整個項目文件進行編譯和連接,在窗ロ的下部會顯示編譯和連接的信息。如果程序有錯,會顯示出錯信息,如果無錯,會生成可執(zhí)行文件projectl.exe。見圖1-25。圖1-25項目的編譯和連接執(zhí)行可執(zhí)行文件。選擇Build(編譯)Executeproject1.exe(執(zhí)行projectl.exe)命令,即可。2、用戶只建立項目文件上面介紹的方法是先建立項目工作區(qū),再建立項目文件,步驟比較多。可以采取簡化的方法,即用戶只建立項目文件,而不建立項目工作區(qū),由系統(tǒng)自動建立項目工作區(qū)。在本方法中,保留上一節(jié)中介紹的第(1)、(4)、(5)、(6)步,取消第(2)步,修改第(3)步。具體步聚如下:(1)分別編輯好同一程序中的各個源程序文件。同上一節(jié)中的第(1)步。(2)建立一個項目文件(不必先建立項目工作區(qū))。在VisualC++主窗口中選擇File(文件)-New(新建)命令,在彈出的New(新建)對話框中選擇上部的選項卡projects(項目),表示要建立一個項目文件。見圖1-26。在對話框中左部的列表中選擇"Win32consoleApplication”項,在projectname(中文VisualC++中顯示為“工程”)文本框中輸入指定的項目文件名(project1)?可以看到:在右部的中間的單選鈕處默認選定了Createnewworkspace(創(chuàng)建新工作區(qū)),這是由于用戶未指定工作區(qū),系統(tǒng)會自動開辟新工作區(qū)。

圖!-26建立一個新的Win32consoleApplication項目單擊OK(確定)按鈕,出現(xiàn)“Win32consoleApplication-step1of1”對話框,選中右部的Anemptyproject單選鈕,單擊Finish(完成)按鈕后,出現(xiàn)"Newprojectinformation”(新建工程信息)消息框。從它的下部可以看到項目文件的路徑。單擊0K(確定)按鈕,在彈出的VisualC++主窗口的左部窗口的下方單擊FileView按鈕,窗口中顯示"Workspace'project1':1project(s)”,見圖1-27。說明系統(tǒng)已自動建立了一個工作區(qū),由于用戶未指定工作區(qū)名,系統(tǒng)就將項目文件名projectl同時作為工作區(qū)名。圖1-27建立新項目成功向此項目文件添加內(nèi)容。步驟與方法一中的第(4)步相同。編譯和連接項目文件。步

驟與方法一中的第(4)步相同。執(zhí)行可執(zhí)行文件。步驟與方法一中的第(6)步相同。顯然,這種方法比前ー種方法簡單ー些。在介紹單文件程序時,為了盡量簡化手續(xù),這里沒有建立工作區(qū),也沒有建立項目文件,而是直接建立源文件,實際上,在編譯每ー個程序時都需要ー個工作區(qū),如果用戶未指定,系統(tǒng)會自動建立工作區(qū),并賦予它一個默認名(此時以文件名作為工作區(qū)名VisualC++6.0工程相關(guān)文件介紹序號文件名描述1?dswVC工作區(qū)文件2?dsp(DeveloperStudioProject)項目文件,文本格式。不熟悉的話不要手工修改3?neb無編譯瀏覽文件。當自動完成功能出問題時,可以刪除此文件,編譯エ程后會自動生成。4?opt工程關(guān)J開發(fā)環(huán)境的參數(shù)文件,如VC工具條位置信息等。5?hC/C++程序頭文件,可用文本編輯器打開6*.cppC++源程序文件,可用文本編輯器打開7?exe程序可執(zhí)行文件8*plg編譯信息文件。編譯時的error和warning信息文件(實際上是ー個htnil文件),一般用處不大?在Took今Options今Build里面的選項可以控制這個文件的生成.9?pch(Pre-CompiledFile)是預(yù)編譯文件。可以加快編譯速度,但是文件非常大10?pdb(ProgramDatabase)記錄了程序有關(guān)的ー些數(shù)據(jù)和調(diào)試信息,在調(diào)試的時候有用11?,obj源程序文件的目標文件.編譯后生成12?ilk源程序文件的連接文件.連接后生成注在VC下建立一個工程后,會自動產(chǎn)生17類型的文件。加入?.h、?epp文件編譯后產(chǎn)生7T2類型的文件。其中b12類型的文件位「工程目錄下的Debug目錄下。類型的文件都是工程相關(guān)的文件,一般不要刪除,因為刪除后,必須手動的亜新建セ工程(126詳細描述了如何建小一個工程)。対廣大型項目來說.刪除這些文件的后果很嚴敗。5y類型的文件還有什么可說的.不僅不能刪除這些文件,還要備份這些文件。失去這些文件是災(zāi)難性的。7~12類型的所有文件都是可以刪除的,因為再次編譯連接運行程序時,會再次自動生成這些文件。VisualC++6.0錯誤信息程序錯誤的類型1、嚴重錯誤(fatalerror)很少出現(xiàn),通常是內(nèi)部編譯器出錯。造成編譯立即停止。2、語法錯誤(error)語法錯誤是指源程序中存在不符合C/C++語言語法規(guī)定的語句,例如將int寫成Int,括號不匹配等。這些錯誤不改正是不能通過編譯的。如圖1-28

Configuration:projectl-Win32Debug ±Compiling...file1.cppD:、甘萇和一養(yǎng)三、實驗ー、ws1\project1\file1.cpp(6):errorC2065:"coutt':undeD:'計算機。5G1-2GG6叫。5-強三、實驗ー、ws1\project1\file1.cpp(6):errorC2297:,?,:illegalEjectl.exe-2error(s),0warning(s)▼ZUKBuildズ言好スFindinFil81ス卜|I圖!-28語法錯誤3、警告錯誤(warning)對于ー些在語法上有輕微毛病但不影響程序運行的錯誤(如定義了變量但始終未使用),編譯時會發(fā)出警告信息,雖然程序能通過編譯、連接、運行,但警告類的錯誤常常帶來程序非法操作、運行錯誤等問題。所以,盡量改正警告錯誤。如圖1-29 Configuration:projectl-Win32Debug Conpiling...file1.cppD:、計笄機0501-2。060405-張三、實驗ー'ws1\projectl'Filel.cpp(6):warningC4101:'f:unreferencedlocalvariableLinking projectl.exe-0error(s),1warning(s)|?Build/Debug\FindinFiles1X-T4II圖!-29警告錯誤4、連接錯誤(Linkerror)程序語法上沒有問題,但是在連接時出現(xiàn)錯誤。這類問題常常是因為程序依賴函數(shù)、庫不匹配造成的。如圖1-30 Configuration:projectl-Win32Debug -1Compiling???filel.cppLinking... LIBCD.lib(crt0.obj):errorLNK2001:unresoluedexternalsymbol_mainDebug/projectl.exe:fatalerrorLNK1120:1unresoluedexternalsErrorexecutinglink.exe.~project1.exe-2_error(s),0warning(s) ▼d?KBuildDebugスFindinFiles1X_T<11 >「圖1-30連接錯誤5、邏輯錯誤邏輯錯誤指程序存在語法錯誤,雖然能正常運行,但結(jié)果不對。這類錯誤常常是設(shè)計算法時的錯誤,計算機無法檢查出來。邏輯錯誤是最難改正的錯誤之ー,引起錯誤的原因往往可能很不起眼,比如就是ー個變量沒有初始化等,所以改正這類錯誤常常需要投入大量的精カ。6、運行錯誤有時程序既無語法和邏輯錯誤,但是程序就是不能正常運行。多數(shù)情況下是輸入數(shù)據(jù)和程序要求的數(shù)據(jù)不匹配造成的,也可能是系統(tǒng)的支持問題。在C++中,語法、連接錯誤相對較為容易改正。而邏輯錯誤是最隱蔽的錯誤,比較難以改正。運行錯誤則主要是在程序強壯性、兼容性上可能存在問題,可以通過提高程序的適應(yīng)能力來修正。而最容易讓程序開發(fā)人員忽略的就是警告錯誤了,因為警告錯誤不一定會影響程序的運行,但是正是這種不確定性也傳遞給了程序的執(zhí)行,你不知道程序什么時候會出問題,也許永遠不會有問題,也許問題馬上出現(xiàn),也許問題n年后出現(xiàn),不確定。所以,一定要重視警告錯誤。表1-1是C++錯誤的前綴描述,在遇到錯誤時可以根據(jù)其前綴就知道錯誤等級了。

錯謖等級錯謖前綴錯謖編號范圍示例嚴近錯誤C1001-999編譯錯誤C2001-999C2065:Tliespecifiedidentifierwasnotdeclared.(標識符,比如一個變量,未申明).如圖1-29,coutt沒有申明過.警告錯誤C4001-999C4101:'main':unreferencedlocalvanable(局部變早:申明后從未使用過).如圖1-30,其中的1變賦從未使用過.鏈接錯誤LNK1000-6026LNK2001:unresolvedexternalsymbol“symbol”.(連接指定的函數(shù)或庫異常)。如圖1-31,程序找不到main函數(shù)。錯誤信息的査詢只有詳細地了解了錯誤的原因,才能正確地改正錯誤。Microsoft的MSDNLibrary(Microsoft開發(fā)幫助文檔庫,如圖L32)提供了查詢錯誤信息的功能。對于遇到的不明白的錯誤,同學(xué)們應(yīng)該學(xué)習(xí)使用MSDN幫助文檔庫進行錯誤信息查詢,獲得錯誤信息的解釋和可能的改正方法。具體方法如下:(1)選擇MSDNLibrary(如圖1-32)的索引屬性頁,在“鍵入要查找的關(guān)鍵字:“中

輸入錯誤號(由錯誤前綴和編號組成),比如輸入C2065,如圖1-33所示。ipBSBILibrary-Oct?b?r2001文件の*他a)査看9跳轉(zhuǎn)⑹相助qp田IS ,ゆ陸部集合) 3目錄《)案引め|搜索⑤)|書簽9|健入田IS ,ゆ陸部集合) 3目錄《)案引め|搜索⑤)|書簽9|健入要查找的關(guān)鍵字篁)msdnWelcometotheOctober2001releaseoftheMSDNLibrary~(BitwiseNOT)-(cornnert)[SQLServer?T-SQL] SI_(douUetrderscore)identifefnaming(mnussign小BooksOnline)(Negative)(negative)(SQLServer-T-SQL](Subtract)~(?de)one'scomplementoperatorspecifyingdestructors_(underscore)constantnamesvanabienames_(wMcardmatchonecharacter)(SQLServer?T__unafegnedkeywordonAlpha_constantnames■decrementoperator?opefatoroperatoroperatof?operator(BITNOTinSQLServer)?opetator(SQLServe<-T-SQL]subtract(SQLServer?T-SQL]Usdnpodaderptoperty(SQLServer]_vanabienamesIHdata納)1(exclamationpomt) ZjTheMSDNLibraryistheessentialreferencefordevelopers,withmorethan1.5gigabytesoftechnicalprogramminginformation,samplecode,documentation,technicalarticles,theMicrosoftDeveloperKnowledgeBase,andanythingelseyoumightneedtodevelopsolutionsthatimplementMicrosofttechnology.What'sNewOnlineResourcesDVD-ROMInfoTheMSDNLibraryWhat'sNewpagecontainsacomprehensivelistofallnewandrevisedcontentfortheOctober2001release.ContinuereadingthispageforhighlightsofnewcontentintheLibrary.CominginJanuary2002TheMSDNLibraryisgettinganewlook.WiththereleaseoftheJanuary2002Library,youwillseeacompletelynewdesignthatwillgiveyoutheabilitytofindwhatyouneedasquicklyandeasilyaspossible.Forapreview,seeCom;nqinJanuarv2002:ANe'wMSDNLibrary.Micros。代WindowsDDKDocumentationThisLibraryreleasecontainsallthenewestinformationontheMicrosoftWindowsDverDeveloomentKit.Thisdocumentationwillguideyouthroughthe圖1-32MSDNLibrary(2)、在索引列表框中雙擊選擇匹配的錯誤后,錯誤類型、可能原因、改正方法等信息則顯示在窗口的右邊部分。如圖1-33所示:|pBS?ILibrary-Octob?r2001文件9剛fid)査看9跳轉(zhuǎn)⑥鉗助Qp囲もGゆ定位上一步下一歩后退前進活動子集集とI隹部集合)目錄素引⑨搜索⑤)書筌復(fù))pilerErrorC2065'identifier,:undeclaredidentifiercifiedidentifierwasnotdecla誤解釋顯示&)囲もGゆ定位上一步下一歩后退前進活動子集集とI隹部集合)目錄素引⑨搜索⑤)書筌復(fù))pilerErrorC2065'identifier,:undeclaredidentifiercifiedidentifierwasnotdecla誤解釋顯示&)鍵入要查找的關(guān)鍵字置):|C2065y 粕]穴'5占]俁行Avariabld^^iypemustbespecifiedinadeclarationbeforeitcanbeused.Theparametersthatafunctionusesmustbespecifiedinadeclaration,or■prototype,beforethefunctioncanbeused.TipsMakesureanyincludefilecontainingtherequireddeclarationisnotomitted.MakesureyouareincludinganynecessaryheaderfilesifyouhavedefinedVJEXTRALEAN,WIN32_LEAN_AND_MEAN,orWIN32_EXTRA_LEAN.Definingthesesymbolsexcludessomefunctionality(certainheaderfilesareexcluded)fromwindows.handafxv_w32.h(forMFCapplications)tospeedcompiles.Searchwindows.handafxv_w32.hforthesesymbolsforthemostup-to-datedescriptionofwhatisexcluded.Makesuretheidentifiernameisspelledcorrectly.Makesuretheidentifierisusingthecorrectupper-andlowercaseletters.Makesureallstringconstantshaveclosingquotes.Thiserrorcanbecausedbyhavinganewlinecharacterinastringconstantwithoutacontinuationcharacter.Forexample:ZJ圖!-33在MSDNLibrary中查找錯誤信息VisualC++6.0調(diào)試工具使用在開發(fā)程序的過程中,需要不斷地調(diào)試自己的程序,或檢查錯誤,或測試程序的穩(wěn)定性,這就需要借助調(diào)試工具來進行。選擇ー個好的調(diào)試工具并能夠熟練地使用它,將會使程序開發(fā)變得更加容易,從而大大提高程序開發(fā)的效率。目前有許多調(diào)試工具,集成在VisualC++中的調(diào)試工具便具有相當強大的功能。設(shè)置工程的調(diào)試屬性在VisualC++中建立一個工程(Project)時,VisualC++都會自動創(chuàng)建一個Debug目錄,在該目錄下存放在開發(fā)過程進行調(diào)試時生成的文件以及生成的可執(zhí)行文件(不同類型文件的解釋見1.3節(jié)VisualC++6.0工程相關(guān)文件介紹),不妨將此時生成的可執(zhí)行文件稱為Debug版本。在Debug版本當中,包含著Microsoft格式的調(diào)試信息,而且不進行任何代碼優(yōu)化。一般情況下,在程序的開發(fā)過程中使用Debug模式。在應(yīng)用程序開發(fā)完成之后,要將程序發(fā)行時,需要編譯形成另ー種版本的可執(zhí)行文件,稱為Release版本,在Release版本中對可執(zhí)行程序的二進制代碼進行了優(yōu)化,其中不包含任何的調(diào)試信息。要建立Release版本的可執(zhí)行文件,可以選擇菜單Project中的Setting命令,這時屏幕上面彈出ProjectSettings對話框,如圖1-34所示。在SettingsFor下拉列表中選擇Release,按OK按鈕退出。如果要在VisualC++中調(diào)試程序,則工程的應(yīng)設(shè)為Debug版本。一般VisualC++建立一個エ程(Project)時,默認采用Debug版本。圖1-34設(shè)置工程的調(diào)試屬性學(xué)習(xí)設(shè)置斷點進行單步調(diào)試通常,ー個應(yīng)用程序是連續(xù)運行的,但是在程序調(diào)試的過程中,往往需要在程序的運行過程的某ー階段來觀測應(yīng)用程序的狀態(tài),所以必須使程序在某ー地點停下來。在VisualC++中,可以通過設(shè)置斷點來達到這樣的目的。在設(shè)置好斷點之后,當程序運行到設(shè)立斷點處時就停止運行,此時就可以利用各種工具來觀察程序的狀態(tài),也可以設(shè)置各種條件使程序按要求繼續(xù)運行,這樣就可以進ー步觀測程序的流向。在VisualC++中,可以設(shè)置多種類型的斷點,這些斷點起作用的方式各不相同,可以將它們分為三類,即:位置斷點、邏輯斷點以及與Windows消息有關(guān)的斷點。下面我們只介紹簡單位置斷點的設(shè)置方法,其它高級斷點的設(shè)置可以在今后進一步學(xué)習(xí)中掌握。1、設(shè)置位置斷點位置斷點,這是ー類最簡單的斷點類型,其設(shè)置方法也最為簡單,只要把光標移到要設(shè)斷點的位置(當然這一行必須包含一條有效語句);然后按工具條上的add/removebreakpoint按鈕或按快捷鍵F9;如圖1-35:?(SIHL&1設(shè)置斷點圖!-35設(shè)置斷點按鈕這時將會在屏幕上看到在這一行的左邊出現(xiàn)ー個紅色的圓點,表示在該位置設(shè)立了一個斷點,如圖1-36所示。如果想取消斷點,將光標移動到設(shè)置斷點的代碼行,按F9。Test-licresoftVisualC++-[Test,cpp]-!□!xlI-Ln7?Coll [REC[COL[OVR[READ圖1-36設(shè)置ー個斷點2、啟動調(diào)試按F5或者在Build菜單中,選擇StartDebug然后選擇Go,就可以啟動調(diào)試程序。程序會一直運行到需要用戶輸入或者有斷點的代碼處。如圖1-37處的小黃箭頭,表明程序運行到該處停止下來,等待下ー步調(diào)試命令。圖1-37啟動調(diào)試3、查看變量值查看變量值有多種方式,可以選擇喜歡的方式進行。(1)將鼠標移動到程序的變量名處,系統(tǒng)會自動顯示變量的值;(2)復(fù)雜變量(如對象)可以通過QuickWatch查看,方法是:將光標定位到所要查看值的變量處,按鼠標右鍵,選擇QuickWatch菜單,就可以看到變量值。(3)啟動調(diào)試程序后,屏幕下方將會出現(xiàn)兩個輸出窗口,ー個是Watch,另一個是Variable。Watch窗ロ顯示變量名和變量值,可以在Watch窗口中加上要觀察值的變量名,也可以直接從源代碼中選擇變量名,并把它拖動到Watch窗口中。Variable窗口顯示程序當前運行上下文涉及的變量的值。如圖1-38:1-38查看變量數(shù)據(jù)圖1-38查看變量數(shù)據(jù)圖4、控制程序執(zhí)行跟蹤到ー個函數(shù)內(nèi)部(F11)、從ー個函數(shù)運行出來(Ctrl+F10),跟蹤到ー個函數(shù)內(nèi)部(F11)、從ー個函數(shù)運行出來(Ctrl+F10),以便方便地調(diào)試程序。這些命令用于在某個局部范圍詳細地調(diào)試程序。也可以通過設(shè)置斷點(F9)然后用直接運行(GO或者F5)來控制程序直接運行到斷點位置。如果設(shè)置了多個斷點,程序?qū)谟龅降牡谝粋€斷點處停下來。要從斷點處繼續(xù)運行,可以用上面所說的各種命令(F5,F10,Fil,Shift+Fll,DebugCtrl+FlO)。Debug兇肥國咼目中物?。ⅴ?以Q回口比眉圖1-39調(diào)試控制工具條5、結(jié)束調(diào)試耍結(jié)束調(diào)試,可以按shift+F5或者選擇菜單Debug|StopDebugging。當結(jié)束調(diào)試后,所有調(diào)試窗口會自動關(guān)閉,Debug菜單也會自動還原為Build菜單。第二章C++實驗要求2.1實驗的意義和目的程序設(shè)計是計算機專業(yè)的根本,計算機專業(yè)大量的理論和實踐學(xué)習(xí),從《數(shù)據(jù)結(jié)構(gòu)》、《面向?qū)ο蟮南到y(tǒng)分析與設(shè)計》、《操作系統(tǒng)》到畢業(yè)設(shè)計,都會用到程序設(shè)計,而C++程序設(shè)計語言則是進行程序設(shè)計的基礎(chǔ)工具。學(xué)習(xí)C++程序設(shè)計不能僅滿足于’‘懂得了”,滿足于了解語法和能看懂書上的程序,而應(yīng)當掌握程序設(shè)計的全過程,即能獨立編寫源程序,獨立調(diào)試運行程序,獨立分析運行結(jié)果,學(xué)會利用C++程序設(shè)計語言和計算機進行交流。程序設(shè)計是ー門實踐性很強的課程,必須以實踐為重,許多實踐知識不是靠聽課和看書學(xué)到的,而是通過長時間的實踐積累起來的,切忌只看書,不上機實踐。C++實驗的目的,絕不僅是為了驗證教材和講課的內(nèi)容,或者驗證自己所編寫的程序正確與否。其目的更在于:I、加深對講授內(nèi)容的理解,尤其是ー些語法規(guī)定,只靠課堂講授,不足于掌握理解。通過多次上機,就能自然地、熟悉地掌握,所謂熟能生巧。2、熟練掌握并使用C++程序開發(fā)的環(huán)境。3、學(xué)會獨立調(diào)試和運行程序。任何程序都不是一蹴而就的,需要多次的更改調(diào)試,對初學(xué)者來說更是如此。因此,要在調(diào)試過程中積累經(jīng)驗,再利用經(jīng)驗高效、快速地調(diào)試程序。調(diào)試程序的能力是每個程序設(shè)計人員應(yīng)當掌握的ー項基本功。4、養(yǎng)成良好的編程習(xí)慣,編寫良好風(fēng)格的代碼。編寫程序應(yīng)遵循良好的編程規(guī)范,使程序具有良好的可讀性、可維護性。正如寫文章一樣,不僅要寫得一手好字,更要格式規(guī)范,段落分明,思路清晰。5、培養(yǎng)獨立編寫程序的能力。程序設(shè)計最終的目的是使用計算機解決實際問題,問題是什么,如何解決,解決方法是什么,如何編寫程序解決問題オ是核心。因此,在做實驗的時候應(yīng)多問為什么,多觀察,多分析,多動手。2.2實驗過程總體要求實驗內(nèi)容總體安排序號實驗名稱實驗類型實驗學(xué)時題目數(shù)1數(shù)據(jù)表示與程序控制驗證、設(shè)計64+22函數(shù)與數(shù)組驗證、設(shè)計64+23指針與引用驗證、設(shè)計62+14結(jié)構(gòu)體鏈表驗證、設(shè)計62+15面向過程的程序設(shè)計設(shè)計型636類和對象驗證型62+17運算符重載驗證型62+18繼承與派生驗證型62+19多態(tài)與虛函數(shù)驗證型62+110模板與文件操作驗證型62+1設(shè)計型121I 面向?qū)ο蟮某绦蛟O(shè)計設(shè)計型12注2+1中的1指擴展選作題第三章實驗內(nèi)容與指導(dǎo)實驗ー數(shù)據(jù)表示與程序控制實驗類型:驗證、設(shè)計型實驗 6學(xué)時實驗?zāi)康?、熟悉并學(xué)習(xí)使用C++程序編譯平臺VC6.0;2、掌握如何在編譯平臺下編輯、編譯、連接和運行一個簡單的C++程序;3、掌握C++語言基礎(chǔ)數(shù)據(jù)類型,熟悉變量定義和賦值方法;4、學(xué)會使用C++算術(shù)運算符和算術(shù)表達式:5、掌握C++程序的賦值和輸入輸出語句的使用方法;6、掌握C++程序控制的3種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的實現(xiàn):7、掌握簡單C++程序的編寫和調(diào)試知識點介紹1、C++程序的結(jié)構(gòu)。ー個C++程序有多個程序單位構(gòu)成,每ー個程序單位作為ー個文件,編譯系統(tǒng)分別對每個程序文件分別編譯,然后連接起來形成可執(zhí)行程序。在ー個程序單位中包含以下幾部分:預(yù)處理命令全局聲明部分函數(shù)(有函數(shù)首部和函數(shù)體組成),ー個C++必須有一個(而且只能有一個)main()函數(shù)。2、C++數(shù)據(jù)類型和表達式C++有多種數(shù)據(jù)類型,數(shù)據(jù)類型隱含著該類數(shù)據(jù)的表示、存儲及處理規(guī)則。C++運算符豐富,使用十分靈活。有運算符和括號將運算對象(操作數(shù))連接起來,構(gòu)成表達式。表達式中混合運算式要注意運算符的優(yōu)先級和結(jié)合性。此外,不同數(shù)據(jù)類型運算時,存在類型轉(zhuǎn)換(隱式自動轉(zhuǎn)換和強制轉(zhuǎn)換)。3、C++程序的編寫實現(xiàn)用C++語言編寫程序ーー對源程序文件進行編譯聲稱目標文件ーー對目標文件連接形成可執(zhí)行程序ーー運行程序得到結(jié)果ーー分析結(jié)果。4關(guān)系運算、邏輯預(yù)算,關(guān)系表達式和邏輯表達式。5、程序的三種結(jié)構(gòu):順序、選擇和循環(huán)。6,選擇結(jié)構(gòu):if語句,switch語句的應(yīng)用。7、循環(huán)結(jié)構(gòu):while語句、do-while語句、for語句的應(yīng)用。實驗內(nèi)容題目1最簡單的C++程序按提示的操作步驟,輸入下面程序代碼,編譯連接并執(zhí)行。ttinclude<iostrean>usingnamespacestd;intmain()(cout?*'Hello,thisismyFirstC++program!"<<endl;return0;> 34[實驗提示]1、按照1.2.4、1.2.5節(jié)操作步驟創(chuàng)建第一個應(yīng)用:(1)編輯第一個C++源程序(2)保存源文件(3)編譯、連接得到可執(zhí)行程序(4)改正源程序中的錯誤(5)運行第一個程序2、有三種方式運行程序:(1)在開發(fā)環(huán)境中運行程序選擇BuildIExecutehello.exe(或者Ctrl+F5),在開發(fā)環(huán)境中執(zhí)行程序。程序運行以后將顯示ー個類似于DOS的窗口,在窗口中輸出一行"hello",緊接著在下面顯示"Pressanykeytocontinue",是系統(tǒng)提示用戶按任意鍵退出當前運行的程序,回到開發(fā)環(huán)境中。按任鍵,

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論