第03章程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境_第1頁
第03章程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境_第2頁
第03章程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境_第3頁
第03章程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境_第4頁
第03章程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計(jì)教學(xué)課題組語言程序設(shè)計(jì)教學(xué)課題組 www.BJXY.cn 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境高級語言與編譯器高級語言與編譯器程序設(shè)計(jì)過程程序設(shè)計(jì)過程C C語言開發(fā)環(huán)境語言開發(fā)環(huán)境常見的程序調(diào)試方法與技巧常見的程序調(diào)試方法與技巧 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境基本概念基本概念源程序源程序是用源語言寫的程序,源語言是用來編寫源是用源語言寫的程序,源語言是用來編寫源程序的語言,如程序的語言,如C C語言。語言。目標(biāo)程序目標(biāo)程序是源程序經(jīng)過編譯程序翻譯后生成的程序,是源程序經(jīng)過編譯程序翻譯后生成的程序,常用匯編語言表示。常用匯編語言表示。可執(zhí)行程序

2、可執(zhí)行程序是對目標(biāo)程序經(jīng)過鏈接后生成的可直接執(zhí)行是對目標(biāo)程序經(jīng)過鏈接后生成的可直接執(zhí)行的程序,用機(jī)器語言表示的。的程序,用機(jī)器語言表示的。 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境高級語言、源程序、編譯器和可執(zhí)行程序的關(guān)系高級語言、源程序、編譯器和可執(zhí)行程序的關(guān)系 高級語言如:C語言源程序計(jì)算機(jī)編譯程序可執(zhí)行程序計(jì)算機(jī)運(yùn)行程序運(yùn)行結(jié)果編譯階段運(yùn)行階段 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境基本過程基本過程 源程序編輯(源程序編輯(EDITEDIT) 用任何一種文本編輯程序?qū)⒃闯绦虼a輸入計(jì)算機(jī),用任何一種文本編輯程序?qū)⒃闯绦虼a輸入計(jì)算機(jī),形成源程序文件。如:形成源程

3、序文件。如:Hello.CHello.C編譯(編譯(COMPLIECOMPLIE) 將第(將第(1 1)步形成的源程序文件()步形成的源程序文件(Hello.CHello.C)作為編作為編譯程序的輸入,進(jìn)行編譯。編譯程序會自動分析、譯程序的輸入,進(jìn)行編譯。編譯程序會自動分析、檢查源程序的語法錯(cuò)誤。若存在錯(cuò)誤,則報(bào)告兩檢查源程序的語法錯(cuò)誤。若存在錯(cuò)誤,則報(bào)告兩類錯(cuò)誤類型:類錯(cuò)誤類型:警告(警告( WARNING WARNING )和嚴(yán)重錯(cuò)誤)和嚴(yán)重錯(cuò)誤(ERRORERROR),),并給出出錯(cuò)所在行和可能的原因。并給出出錯(cuò)所在行和可能的原因。用戶根據(jù)報(bào)告信息修改源程序,再編譯,直到程用戶根據(jù)報(bào)告信

4、息修改源程序,再編譯,直到程序語法正確。編譯成功后生成中間目標(biāo)程序文件,序語法正確。編譯成功后生成中間目標(biāo)程序文件,如記為:如記為:Hello.OBJHello.OBJ。 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境基本過程基本過程 鏈接(鏈接(LINKLINK) 使用鏈接程序,將(使用鏈接程序,將(2 2)步形成的目標(biāo)文件)步形成的目標(biāo)文件(Hello.OBJHello.OBJ)與所指定的庫文件和其他中間目標(biāo)文)與所指定的庫文件和其他中間目標(biāo)文件鏈接,這期間可能出現(xiàn)缺少庫函數(shù)等鏈接錯(cuò)誤,同件鏈接,這期間可能出現(xiàn)缺少庫函數(shù)等鏈接錯(cuò)誤,同樣鏈接程序會報(bào)告錯(cuò)誤信息。用戶根據(jù)錯(cuò)誤報(bào)告信息樣鏈

5、接程序會報(bào)告錯(cuò)誤信息。用戶根據(jù)錯(cuò)誤報(bào)告信息再修改源程序,再編譯,再鏈接,直到程序正確無誤再修改源程序,再編譯,再鏈接,直到程序正確無誤后,生成可執(zhí)行文件,如記為:后,生成可執(zhí)行文件,如記為:Hello.EXEHello.EXE。 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境基本過程基本過程 運(yùn)行(運(yùn)行(RUNRUN)第(第(3 3)步完成后,運(yùn)行可執(zhí)行文件()步完成后,運(yùn)行可執(zhí)行文件(Hello.EXEHello.EXE),),得到運(yùn)行結(jié)果。當(dāng)然也可能由于解決問題的算法問得到運(yùn)行結(jié)果。當(dāng)然也可能由于解決問題的算法問題而使源程序具有邏輯錯(cuò)誤,得到錯(cuò)誤的運(yùn)行結(jié)果。題而使源程序具有邏輯錯(cuò)誤,

6、得到錯(cuò)誤的運(yùn)行結(jié)果?;蛘哂捎谡Z義的錯(cuò)誤,例如程序運(yùn)行時(shí),出現(xiàn)用或者由于語義的錯(cuò)誤,例如程序運(yùn)行時(shí),出現(xiàn)用0 0做做除數(shù),導(dǎo)致運(yùn)行時(shí)錯(cuò)誤。這就需要檢查算法中問題,除數(shù),導(dǎo)致運(yùn)行時(shí)錯(cuò)誤。這就需要檢查算法中問題,重新從編寫源程序階段開始,修改源程序,直到運(yùn)重新從編寫源程序階段開始,修改源程序,直到運(yùn)行結(jié)果正確。行結(jié)果正確。 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境基本過程基本過程 調(diào)試和測試(調(diào)試和測試(DEBUG & TESTDEBUG & TEST)為確保編寫程序的正確性,需要設(shè)計(jì)合理且有效的為確保編寫程序的正確性,需要設(shè)計(jì)合理且有效的測試用例,進(jìn)行全面、細(xì)致而艱苦的

7、調(diào)試和測試工測試用例,進(jìn)行全面、細(xì)致而艱苦的調(diào)試和測試工作,必要時(shí)需進(jìn)行單步跟蹤程序運(yùn)行。作,必要時(shí)需進(jìn)行單步跟蹤程序運(yùn)行。 程序設(shè)計(jì)過程也是一個(gè)排除錯(cuò)誤的過程。錯(cuò)誤程序設(shè)計(jì)過程也是一個(gè)排除錯(cuò)誤的過程。錯(cuò)誤應(yīng)包括:語法錯(cuò)誤、功能錯(cuò)誤、運(yùn)行異常錯(cuò)誤。應(yīng)包括:語法錯(cuò)誤、功能錯(cuò)誤、運(yùn)行異常錯(cuò)誤。 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境三類程序錯(cuò)誤間的比較三類程序錯(cuò)誤間的比較 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境舉例說明(舉例說明(HelloHello程序?yàn)槔┏绦驗(yàn)槔?濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境舉例說明(舉例說明(HelloHello程序?yàn)槔?/p>

8、)程序?yàn)槔┑谌?程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境Visual C+ 6.0Visual C+ 6.0的安裝的安裝從網(wǎng)絡(luò)下載或安裝光盤上找到從網(wǎng)絡(luò)下載或安裝光盤上找到Setup.exeSetup.exe程序。雙擊程序。雙擊Setup.exeSetup.exe運(yùn)行,出現(xiàn)如啟動安裝界面。運(yùn)行,出現(xiàn)如啟動安裝界面。圖圖1 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境Visual C+ 6.0Visual C+ 6.0的安裝的安裝點(diǎn)擊點(diǎn)擊 按鈕,進(jìn)入圖按鈕,進(jìn)入圖2 2,選擇接受協(xié)議。,選擇接受協(xié)議。圖圖2 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過

9、程與C語言開發(fā)環(huán)境Visual C+ 6.0Visual C+ 6.0的安裝的安裝點(diǎn)擊點(diǎn)擊 按鈕,進(jìn)入圖按鈕,進(jìn)入圖3 3,輸入正確的產(chǎn)品序列號。,輸入正確的產(chǎn)品序列號。圖圖3 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境Visual C+ 6.0Visual C+ 6.0的安裝的安裝第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境點(diǎn)擊點(diǎn)擊 按鈕,進(jìn)入圖按鈕,進(jìn)入圖4 4,選擇安裝,選擇安裝Visual C+6.0Visual C+6.0中文企中文企業(yè)版。業(yè)版。圖圖4 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境Visual C+ 6.0Visual C+ 6.0的安裝的安裝點(diǎn)擊點(diǎn)擊 按鈕

10、,進(jìn)入圖按鈕,進(jìn)入圖5 5,進(jìn)行公用文件文件夾存儲位置,進(jìn)行公用文件文件夾存儲位置的選擇。的選擇。圖圖5 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境Visual C+ 6.0Visual C+ 6.0的安裝的安裝點(diǎn)擊點(diǎn)擊 按鈕,進(jìn)入圖按鈕,進(jìn)入圖6 6,關(guān)閉其他與安裝無關(guān)的程序。,關(guān)閉其他與安裝無關(guān)的程序。圖圖6 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境Visual C+ 6.0Visual C+ 6.0的安裝的安裝點(diǎn)擊點(diǎn)擊 按鈕,進(jìn)入圖按鈕,進(jìn)入圖7 7,進(jìn)行安裝方式和安裝目錄的選擇。,進(jìn)行安裝方式和安裝目錄的選擇。圖圖7點(diǎn)擊點(diǎn)擊圖標(biāo),就可順利圖標(biāo),就可順利地完成地完成

11、Visual C+6.0Visual C+6.0的安裝。的安裝。 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境開發(fā)環(huán)境和程序開發(fā)過程開發(fā)環(huán)境和程序開發(fā)過程第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境開發(fā)環(huán)境和程序開發(fā)過程開發(fā)環(huán)境和程序開發(fā)過程第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境開發(fā)環(huán)境和程序開發(fā)過程開發(fā)環(huán)境和程序開發(fā)過程 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境開發(fā)環(huán)境和程序開發(fā)過程開發(fā)環(huán)境和程序開發(fā)過程第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過

12、程與C語言開發(fā)環(huán)境開發(fā)環(huán)境和程序開發(fā)過程開發(fā)環(huán)境和程序開發(fā)過程第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境開發(fā)環(huán)境和程序開發(fā)過程開發(fā)環(huán)境和程序開發(fā)過程第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境開發(fā)環(huán)境和程序開發(fā)過程開發(fā)環(huán)境和程序開發(fā)過程第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境開發(fā)環(huán)境和程序開發(fā)過程開發(fā)環(huán)境和程序開發(fā)過程第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境開發(fā)環(huán)境和程序開發(fā)過程開發(fā)環(huán)境和程序開發(fā)過程第

13、三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境開發(fā)環(huán)境和程序開發(fā)過程開發(fā)環(huán)境和程序開發(fā)過程第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境開發(fā)環(huán)境和程序開發(fā)過程開發(fā)環(huán)境和程序開發(fā)過程 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境錯(cuò)誤類型錯(cuò)誤類型 在程序設(shè)計(jì)過程,會出現(xiàn)在程序設(shè)計(jì)過程,會出現(xiàn)語法錯(cuò)誤語法錯(cuò)誤和和功能錯(cuò)功能錯(cuò)誤誤等,對于語法錯(cuò)誤,編譯是通不過的。對于這等,對于語法錯(cuò)誤,編譯是通不過的。對于這一類錯(cuò)誤,主要是依據(jù)編譯器返回的錯(cuò)誤信息進(jìn)一類錯(cuò)誤,主要是依據(jù)編譯器返回的錯(cuò)誤信息進(jìn)行排除;建議準(zhǔn)備好

14、行排除;建議準(zhǔn)備好相應(yīng)的相應(yīng)的C C語言方面的書籍、語言方面的書籍、通過開發(fā)環(huán)境提供的在線幫助文檔或可上網(wǎng)的環(huán)通過開發(fā)環(huán)境提供的在線幫助文檔或可上網(wǎng)的環(huán)境境獲取獲取。 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境錯(cuò)誤類型錯(cuò)誤類型第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境語法錯(cuò)誤語法錯(cuò)誤 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境錯(cuò)誤類型錯(cuò)誤類型C C語言的編譯器功能強(qiáng):語言的編譯器功能強(qiáng):u 指出錯(cuò)誤的可能位置指出錯(cuò)誤的可能位置u 給出錯(cuò)誤的原因和相應(yīng)的建議給出錯(cuò)誤的原因和相應(yīng)的建議u 由于一個(gè)錯(cuò)誤,會導(dǎo)致許多相關(guān)的錯(cuò)誤,稱為連帶錯(cuò)由于一個(gè)錯(cuò)誤,會導(dǎo)致許多相關(guān)的錯(cuò)誤,稱為連帶錯(cuò)誤誤

15、思想準(zhǔn)備思想準(zhǔn)備 常出現(xiàn)程序就幾行,可錯(cuò)誤幾十行情況,這是非常正常出現(xiàn)程序就幾行,可錯(cuò)誤幾十行情況,這是非常正常的。初學(xué)者對語法不過熟悉,常出現(xiàn)拼寫錯(cuò)誤、中英文常的。初學(xué)者對語法不過熟悉,常出現(xiàn)拼寫錯(cuò)誤、中英文符號混淆、語句不按格式等。符號混淆、語句不按格式等。 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境程序測試和調(diào)試過程程序測試和調(diào)試過程可執(zhí)行程序(EXE)執(zhí)行測試用例期待結(jié)果運(yùn)行結(jié)果對比一致是下一個(gè)測試用例否程程序序測測試試跟蹤執(zhí)行導(dǎo)致出錯(cuò)的測試用例斷點(diǎn)設(shè)置、單步執(zhí)行等錯(cuò)錯(cuò)誤誤定定位位修修改改代代碼碼編譯鏈接調(diào)調(diào)試試與與跟跟蹤蹤用例測完否結(jié)束是 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過

16、程與C語言開發(fā)環(huán)境程序測試程序測試第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境前提條件:前提條件:可執(zhí)行程序,即無語法錯(cuò)誤的程序可執(zhí)行程序,即無語法錯(cuò)誤的程序關(guān)關(guān) 鍵:鍵:測試用例設(shè)計(jì),能發(fā)現(xiàn)程序錯(cuò)誤測試用例設(shè)計(jì),能發(fā)現(xiàn)程序錯(cuò)誤目目 標(biāo):標(biāo):盡可能找出程序中錯(cuò)誤盡可能找出程序中錯(cuò)誤過過 程:程:選擇一個(gè)選擇一個(gè)測試用例,測試用例,并準(zhǔn)備好期待的并準(zhǔn)備好期待的運(yùn)行結(jié)果;運(yùn)行結(jié)果;執(zhí)行程序,執(zhí)行程序,并輸入該測試用例,檢查程序輸出是否跟期并輸入該測試用例,檢查程序輸出是否跟期待的結(jié)果待的結(jié)果是否一致是否一致。若一致,則判定程序?qū)υ摐y試用例。若一致,則判定程序?qū)υ摐y試用例的執(zhí)行是正確的,檢查是否有其它測試用

17、例進(jìn)行驗(yàn)證。的執(zhí)行是正確的,檢查是否有其它測試用例進(jìn)行驗(yàn)證。若不一致,則說明已檢查出此程序有錯(cuò),需進(jìn)一步找出若不一致,則說明已檢查出此程序有錯(cuò),需進(jìn)一步找出出錯(cuò)的位置為止,并最終排除錯(cuò)誤。出錯(cuò)的位置為止,并最終排除錯(cuò)誤。 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境調(diào)試技術(shù)調(diào)試技術(shù)目標(biāo)目標(biāo):是排除程序中的錯(cuò)誤是排除程序中的錯(cuò)誤關(guān)鍵:關(guān)鍵:根據(jù)測試用例,確定錯(cuò)誤的位置根據(jù)測試用例,確定錯(cuò)誤的位置方法:方法:輸入發(fā)現(xiàn)程序錯(cuò)誤的測試用例,通過程序跟蹤技術(shù),輸入發(fā)現(xiàn)程序錯(cuò)誤的測試用例,通過程序跟蹤技術(shù),確定錯(cuò)誤的位置確定錯(cuò)誤的位置 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境跟蹤步驟跟蹤步驟 介紹介紹Visual C+6.0Visual C+6.0集成開發(fā)環(huán)境中程序調(diào)試工具的介紹集成開發(fā)環(huán)境中程序調(diào)試工具的介紹 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境跟蹤步驟跟蹤步驟 第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境 濱江學(xué)院濱江學(xué)院第三章 程序設(shè)計(jì)過程與C語言開發(fā)環(huán)境小結(jié)小結(jié)程序調(diào)試的重要性程序調(diào)試的重要性此工作必須程序員自己去完成此工作必須程序員自己去完成善于設(shè)計(jì)測試用例和期待的輸出善于設(shè)計(jì)測試用例

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論