實(shí)驗(yàn)一-VC環(huán)境下C程序的調(diào)試_第1頁(yè)
實(shí)驗(yàn)一-VC環(huán)境下C程序的調(diào)試_第2頁(yè)
實(shí)驗(yàn)一-VC環(huán)境下C程序的調(diào)試_第3頁(yè)
實(shí)驗(yàn)一-VC環(huán)境下C程序的調(diào)試_第4頁(yè)
實(shí)驗(yàn)一-VC環(huán)境下C程序的調(diào)試_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)一 VC環(huán)境下C程序的調(diào)試 1.1實(shí)驗(yàn)要求與目的1.熟悉掌握C程序設(shè)計(jì)編程環(huán)境Visual c+;2.掌握C源程序運(yùn)行的基本步驟(即,編輯、 編譯、連接和運(yùn)行)。3.掌握C語(yǔ)言程序設(shè)計(jì)的基本框架,能夠編寫(xiě)簡(jiǎn)單的c程序。4.掌握C源程序的編輯、保存和調(diào)用。1.2實(shí)驗(yàn)指導(dǎo)Visual C+6.0為用戶開(kāi)發(fā)C程序提供了一個(gè)集成環(huán)境,這個(gè)集成環(huán)境包括:源程序的輸入和編輯,源程序的編譯和連接,程序運(yùn)行時(shí)的調(diào)試和跟蹤,項(xiàng)目的自動(dòng)管理,為程序的開(kāi)發(fā)提供各種工具,并具有窗口管理和聯(lián)機(jī)幫助等功能。1. 啟動(dòng)Visual C+6.0集成開(kāi)發(fā)環(huán)境單擊“開(kāi)始”-“程序”-“Microsoft Visual stu

2、dio 6.0”-“Microsoft Visual C+ 6.0”命令,啟動(dòng)Visual C+,啟動(dòng)后主窗口界面如圖1.1所示,各功能描述如圖1.2所示。圖1. 1 Visual C+6.0集成開(kāi)發(fā)環(huán)境圖1. 2 窗口功能描述2. 新建一個(gè)文件單擊菜單欄的【File】,選擇【New.】,如圖1.3所示,彈出“新建”對(duì)話框,如圖1.3所示。圖1. 3 【File】菜單按下列操作步驟逐一操作:步驟1.選擇對(duì)話框【Files】頁(yè)面;步驟2.選擇【C+ Source File】選項(xiàng);步驟3.單擊對(duì)話框右邊【Location:】的按鈕,打開(kāi)選擇位置對(duì)話框,選擇C源程序保存的位置。步驟4.在對(duì)話框右邊【

3、File】下方輸入源程序的文件名。如輸入ex1_1.c。在VC環(huán)境下給源程序命名時(shí)若省略文件的擴(kuò)展名,則以.cpp為默認(rèn)擴(kuò)展名。步驟5.單擊【OK】按鈕。如圖1.4所示。圖1. 4 新建文件向?qū)?. 編輯源程序。【1.1】錄入下列程序,并熟悉C源程序的調(diào)試過(guò)程。程序文件名:ex1_1.c 。注意:源程序一定要在英文狀態(tài)下輸入,即字符標(biāo)點(diǎn)都要在半角狀態(tài)下,同時(shí)注意大小寫(xiě),一般都用小寫(xiě)。4. 保存源程序。輸完后單擊工具欄的保存按鈕,保存源程序文件。如圖1.5所示。圖1. 5 源程序編輯界面5. 編譯、連接和運(yùn)行C源程序文件是不能直接被計(jì)算機(jī)所執(zhí)行的,它需要通過(guò)編譯(Compile)和連接(Link

4、)兩個(gè)步驟,才能生成被計(jì)算機(jī)直接執(zhí)行的“可執(zhí)行文件”。如圖1.6所示。圖1. 6 C程序的編譯連接過(guò)程C源程序文件是文本文件,其后綴為“.c”,不能直接被計(jì)算機(jī)執(zhí)行。經(jīng)過(guò)編譯后,生成目標(biāo)文件(二進(jìn)制文件)后綴為“.obj”,也不能被計(jì)算機(jī)直接執(zhí)行。再經(jīng)過(guò)連接,生成可執(zhí)行文件(二進(jìn)制文件)后綴為“.exe”,此文件可以被計(jì)算機(jī)直接執(zhí)行。在VC環(huán)境下對(duì)C源程序進(jìn)行調(diào)試可通過(guò)兩種操作方法。操作方法一:【快捷工具欄】操作步驟。采用快捷工具欄上的按鈕,如圖1.7所示,可快速實(shí)現(xiàn)編譯、連接和執(zhí)行。圖1. 7 編譯、連接和運(yùn)行按鈕工具欄操作步驟,先選擇工具欄中的編譯按鈕,進(jìn)行編譯,若編譯結(jié)果信息區(qū)顯示編譯無(wú)

5、錯(cuò)誤,即“error(s)”與“warning(s)” 前的數(shù)是0時(shí),說(shuō)明編譯成功。其中“error(s)”代表語(yǔ)法錯(cuò)誤,“warning(s)”代表警告錯(cuò)誤,如圖1.8所示。若“error(s)”前的數(shù)字不是0,說(shuō)明程序有語(yǔ)法錯(cuò)誤,此時(shí)編譯失敗,無(wú)法進(jìn)入下一步的連接。需要修改程序中的錯(cuò)誤,并重新進(jìn)行編譯,直到編譯成功。圖1. 8 編譯無(wú)錯(cuò)誤提示信息然后,選擇工具欄中的組建按鈕執(zhí)行連接,若編譯結(jié)果信息區(qū)連接無(wú)錯(cuò)誤,如圖1.9所示。說(shuō)明連接成功。圖1. 9 連接無(wú)錯(cuò)誤提示信息最后選擇工具欄中的執(zhí)行按鈕。當(dāng)編譯和連接都無(wú)誤時(shí),點(diǎn)擊執(zhí)行按鈕,則在另一窗口顯示程序運(yùn)行結(jié)果,并顯示提示信息:“Press

6、 any key to continue”。此時(shí)按任意鍵返回VC6主窗口。如圖1.10所示。圖1. 10 程序運(yùn)行結(jié)果窗口操作方法二:【菜單欄】操作步驟:選擇【菜單欄】-【Build】菜單,先選擇【Compile ex1_1.c】進(jìn)行編譯,若編譯有錯(cuò)誤,修改源程序,再次選擇【Build】->【Compile ex1_1.c】重新編譯,直到編譯成功。當(dāng)編譯成功后,選擇【Build】->【Build ex1_1.exe】,進(jìn)行連接操作,當(dāng)連接有誤時(shí),重新修改源程序。修改完源程序后,仍然是先編譯,再連接。當(dāng)連接成功后,選擇【Build】->【Execute ex1_1.exe】,在

7、另一打開(kāi)的窗口中查看結(jié)果。6.關(guān)閉工作空間在完成一個(gè)程序的編寫(xiě)、編譯、連接和運(yùn)行后,如果要編寫(xiě)另一個(gè)C程序,則必須關(guān)閉當(dāng)前程序的編輯區(qū)及其工作空間。關(guān)閉工作空間可采用兩種操作方法。操作方法一,選擇菜單欄【File】菜單中的【Close Workspace】。如圖1.11所示。操作方法二,最簡(jiǎn)單直接的方法就是直接關(guān)閉整個(gè)VC。圖1. 11 【File】菜單的子菜單【Close Workspace】7.編輯另一個(gè)新文件編寫(xiě)一個(gè)新的C源程序前,必須確保當(dāng)前程序的編輯區(qū)及其工作空間都是關(guān)閉的。即應(yīng)為圖1.1所示的Micsoft Visual C+ 啟動(dòng)后主窗口界面。若不能確定,可以直接關(guān)閉整個(gè)VC,然

8、后重新啟動(dòng)Micsoft Visual C+?!?.2】在VC的環(huán)境下,錄入下列程序,程序文件名:ex1_2.c。錄入該程序后,通常情況下,先保存后編譯。但在VC環(huán)境下編譯時(shí),系統(tǒng)會(huì)詢問(wèn)是否保存文件,點(diǎn)擊是即可保存該C源程序文件。該程序編譯時(shí),編譯結(jié)果信息區(qū)顯示“ex1_1.obj - 1 error(s), 0 warning(s)”,提示信息error(s)前的數(shù)為1,說(shuō)明有1條錯(cuò)誤。如圖1.12所示。圖1. 12 編譯錯(cuò)誤提示信息若要想查看錯(cuò)誤在哪一行,以及錯(cuò)誤的原因,可拖動(dòng)信息框右邊的垂直滾動(dòng)條,將鼠標(biāo)移至錯(cuò)誤信息雙擊可查看錯(cuò)誤所在的行和錯(cuò)誤提示信息。如圖1.13所示。在程序編輯區(qū)有一

9、個(gè)藍(lán)色箭頭的位置便是程序錯(cuò)誤的所在的行,錯(cuò)誤提示信息為“missing '' before identifier 'printf'”其含義是在標(biāo)識(shí)符printf之前丟了分號(hào);。修改錯(cuò)誤繼續(xù)編譯。若無(wú)錯(cuò)誤,執(zhí)行連接,若無(wú)錯(cuò)誤,運(yùn)行該程序,顯示程序運(yùn)行結(jié)果。圖1. 13 錯(cuò)誤位置與錯(cuò)誤原因1.3 實(shí)驗(yàn)內(nèi)容【1.3】 按實(shí)驗(yàn)指導(dǎo)的步驟錄入并運(yùn)行下列程序,觀察其運(yùn)行結(jié)果。程序文件名:ex1_3.c【1.4】按實(shí)驗(yàn)指導(dǎo)步驟錄入并運(yùn)行下列程序,觀察其運(yùn)行結(jié)果。程序文件名:ex1_4.c【1.5】仿上例編寫(xiě)程序,程序運(yùn)行后輸出下列圖案。程序文件名:ex1_5.c。1.4 總結(jié)

10、編程時(shí)可能會(huì)出現(xiàn)各種錯(cuò)誤,程序設(shè)計(jì)中出現(xiàn)的錯(cuò)誤大致可分成四類: 編譯錯(cuò)誤。源程序編譯時(shí)主要是對(duì)源程序進(jìn)行詞法分析和語(yǔ)法分析,常稱為檢查語(yǔ)法錯(cuò)誤。如不符合規(guī)定的語(yǔ)句格式、數(shù)據(jù)類型說(shuō)明與使用不一致、不正確的分隔符或符號(hào)以及不完整語(yǔ)句結(jié)構(gòu)等。 連接錯(cuò)誤。連接用來(lái)把要執(zhí)行的程序與庫(kù)文件或其它已經(jīng)翻譯好的子程序,連接在一起,形成機(jī)器能執(zhí)行的程序。如函數(shù)名書(shū)寫(xiě)錯(cuò)誤、缺少包含文件或包含文件的路徑錯(cuò)誤等。 運(yùn)行錯(cuò)誤。所謂運(yùn)行期,即程序在編譯連接后產(chǎn)生可執(zhí)行文件后,執(zhí)行該文件。所以,運(yùn)行期錯(cuò)誤指可執(zhí)行程序執(zhí)行過(guò)程中發(fā)現(xiàn)的錯(cuò)誤。如在計(jì)算過(guò)程 中遇到了除數(shù)為零的錯(cuò)誤、求一個(gè)負(fù)數(shù)的平方根等等。編譯系統(tǒng)發(fā)現(xiàn)這類錯(cuò)誤后如

11、無(wú)特殊指示通常告知一些適當(dāng)信息,然后立即停止程序的執(zhí)行。當(dāng)然,為阻止這類錯(cuò)誤的出現(xiàn),程序設(shè)計(jì)者可在程序中編入一些由自己來(lái)檢查這類錯(cuò)誤的程序段,這可能更適合于自己的處理要求。 邏輯錯(cuò)誤。程序運(yùn)行后,其結(jié)果與問(wèn)題的結(jié)論有偏差,即沒(méi)有得到預(yù)期的結(jié)果。如表達(dá)式出錯(cuò)、運(yùn)算符出錯(cuò)或算法出現(xiàn)等。這類錯(cuò)誤,編譯器在編譯時(shí),無(wú)法檢測(cè),也不會(huì)對(duì)這類錯(cuò)誤提出錯(cuò)誤信息,因此邏輯錯(cuò)誤比較難排查。 警告錯(cuò)誤。警告錯(cuò)誤就是在經(jīng)過(guò)編譯器檢查后沒(méi)有出現(xiàn)語(yǔ)法錯(cuò)誤,但在程序中有些代碼編寫(xiě)不是非常恰當(dāng),不會(huì)影響程序編譯,在少數(shù)情況下會(huì)影響程序運(yùn)行。如源程序中發(fā)現(xiàn)一個(gè)已定義但從未使用過(guò)的變量、函數(shù)參數(shù)的數(shù)據(jù)類型說(shuō)明不一致等,這類錯(cuò)誤從

12、語(yǔ)法上講是正確的,因此一般不會(huì)停止編譯,在大多數(shù)情況下不會(huì)阻止目標(biāo)程序與可執(zhí)行程序的生成、連接和運(yùn)行。但是對(duì)這類錯(cuò)誤不應(yīng)掉以輕心,應(yīng)仔細(xì)檢查程序,這往往存在著某種潛在的運(yùn)行錯(cuò)誤。C語(yǔ)言程序設(shè)計(jì)的學(xué)習(xí)是循序漸進(jìn)的過(guò)程,程序設(shè)計(jì)中熟悉和看懂錯(cuò)誤提示信息是非常必要的。因此在學(xué)習(xí)程序設(shè)計(jì)時(shí),不斷地掌握錯(cuò)誤提示信息的含義。本次實(shí)驗(yàn)需掌握的錯(cuò)誤信息及其含義:1 syntax error : missing '' before (identifier) 'xxxx'含義:在(標(biāo)志符)“xxxx”前缺少分號(hào)“;”。錯(cuò)誤分析:當(dāng)出現(xiàn)這個(gè)錯(cuò)誤時(shí),往往所指的語(yǔ)句并沒(méi)有錯(cuò)誤,而是它的上一句語(yǔ)句發(fā)生了錯(cuò)

溫馨提示

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