版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
關(guān)于C語(yǔ)言程序的調(diào)試前言:
C語(yǔ)言程序的調(diào)試主要是為了排除程序的邏輯錯(cuò)誤,在程序運(yùn)行的結(jié)果與預(yù)期的結(jié)果不一致的情況下進(jìn)行。
C語(yǔ)言程序調(diào)試的手段有多種:1.最簡(jiǎn)單的一種是”單步調(diào)試”,使用”stepover”
.一步一步地執(zhí)行.可在“變量窗口”(Variables)觀察和分析變量的變化。2.使用設(shè)置(或取消)斷點(diǎn),再使用運(yùn)行到斷點(diǎn).可在“變量窗口”(Variables)觀察和分析變量的變化。然后決定是繼續(xù)單步執(zhí)行,還是運(yùn)行到下一個(gè)斷點(diǎn)。C++6.0的界面窗口如下:3.運(yùn)行到光標(biāo)處:
先定位好光標(biāo)的位置,再使用(runtocursor)運(yùn)行
到光標(biāo)處。
然后決定是繼續(xù)單步執(zhí)行,還是運(yùn)行到下一個(gè)斷點(diǎn)。輸出窗口工作窗口編輯窗口可在菜單欄空白處右擊.選擇要顯示的窗口和工具條。調(diào)試工具條的顯示:方法:使用右鍵:在菜單欄空白處右擊.調(diào)試程序示例1:
計(jì)算分段函數(shù):1/xx≠0f(x)=0x=0#include<stdio.h>voidmain(){floatx,y;printf("inputx:\n");scanf("%f",x)if(x!=0) y=1/x;else y=0;printf("f(%.2f)=%.1f\n",x,y);}注:在進(jìn)行調(diào)試前,首先要正常通過(guò)編譯和連接,排除所有語(yǔ)法錯(cuò)誤.點(diǎn)擊此按鈕進(jìn)行編譯.1.“輸出窗口”顯示出錯(cuò)信息說(shuō)明及大致行數(shù).3.黑色箭頭指示錯(cuò)誤的大致位置.2.雙擊某行錯(cuò)誤信息.一.單步調(diào)試:
主要是解決程序的邏輯錯(cuò)誤:運(yùn)行結(jié)果與期望值不一致.開(kāi)始單步調(diào)試:
單擊”單步執(zhí)行”(StepOver(F10))變量窗口.顯示或隱藏變量窗口.顯示或隱藏觀察窗口.觀察(wacth)窗口.可以輸入變量和表達(dá)式,觀察它們的值.當(dāng)運(yùn)行到輸入語(yǔ)句時(shí),任務(wù)標(biāo)上會(huì)出現(xiàn)小圖標(biāo).點(diǎn)擊之.在輸入窗口輸入數(shù)據(jù).2.停止調(diào)試:
單擊”終止調(diào)試”(StopDebuging)終止調(diào)試.二.設(shè)置斷點(diǎn)調(diào)試:
調(diào)試程序示例2:計(jì)算累加和,程序有錯(cuò)。#include<stdio.h>voidmain(){inti,sum;for(i=1;i<=100;i++)sum=sum+i;printf("sum=%d\n",sum);}排除語(yǔ)法錯(cuò)誤,運(yùn)行后發(fā)現(xiàn)其結(jié)果顯然不對(duì)。如下圖所示,設(shè)置一斷點(diǎn)。使用此按鈕,
運(yùn)行到斷點(diǎn)處.在變量窗口發(fā)現(xiàn)sum的值有問(wèn)題!這時(shí)應(yīng)想到是變量沒(méi)賦初值。注:如果程序代碼多,可設(shè)多個(gè)斷點(diǎn),。調(diào)試程序示例2:
輸入一個(gè)5~10之間的整數(shù)n,求:1!+2!+…..n!.#include<stdio.h>voidmain(){intn=0,i=1,s,k=1;printf("請(qǐng)輸入5-10之間任意數(shù):\n");scanf("%d",&n);while(i<n){s+=k;i++;k*=i;}printf("1!+2!+..%d!=%d\n",n,s);}三.運(yùn)行到光標(biāo)處:
排除語(yǔ)法錯(cuò)誤,運(yùn)行后發(fā)現(xiàn)其結(jié)果顯然不對(duì)。先定位好光標(biāo)。1.使用此按鈕(runtocursor),
運(yùn)行到光標(biāo)處.2.輸入數(shù)據(jù)后,
運(yùn)行到光標(biāo)處.使用單步調(diào)試,
一步一步執(zhí)行。同時(shí)觀察變量的變化。說(shuō)明:
1.可以使用”單步”,”斷點(diǎn)”,”運(yùn)行到光標(biāo)處”等手段互相
組合來(lái)進(jìn)行.2.在調(diào)試時(shí),也可利用”監(jiān)視窗口”,輸入變量或表達(dá)式,觀察其值的變化.
輸入變量或表達(dá)式,同時(shí)觀察其值的變化。調(diào)試示例:求二數(shù)的最小公倍數(shù)和最大公約數(shù).#include<stdio.h>voidmain(){intm,n,j,k;printf("inputm,n:\n");scanf("%d%d",&m,&n);while(m<0&&n<0) ;j=m;while(j/n!=0) j=j+m;k=(m*n)/j;printf("最小公倍數(shù)是%d\n最大公約數(shù)是%d\n",j,k);}Inputmn:37(回車(chē))首先排除所有語(yǔ)法錯(cuò)誤后,運(yùn)行程序:輸出結(jié)果:最小公倍數(shù)是:3最大公約數(shù):7
答案不對(duì)!調(diào)試方法:1.首先要排除語(yǔ)法錯(cuò)誤.點(diǎn)擊此按鈕進(jìn)行編譯.當(dāng)排除所有語(yǔ)法錯(cuò)誤后,進(jìn)行下步操作:(在光標(biāo)所在行)點(diǎn)擊此圖標(biāo)設(shè)斷點(diǎn)(再點(diǎn)擊即取消).根據(jù)需要可以設(shè)置多個(gè)斷點(diǎn).調(diào)試開(kāi)始:點(diǎn)擊此圖標(biāo)(GO),運(yùn)行到斷點(diǎn)處.中間有一輸入語(yǔ)句,輸入數(shù)據(jù):-37程序運(yùn)行到第一個(gè)斷點(diǎn).在”變量窗口”觀察到:m=-3,n=7.再次點(diǎn)擊此圖標(biāo)(GO),運(yùn)行到第二個(gè)斷點(diǎn)處.在”變量窗口”觀察到:m=-3,n=7.在此處發(fā)現(xiàn)問(wèn)題…….什么問(wèn)題?
是因?yàn)閿?shù)據(jù)輸入不對(duì)!程序要求不允許輸入負(fù)數(shù),二個(gè)數(shù)必需為正數(shù),否則程序不能往下走.單擊”終止調(diào)試”(StopDebuging)終止調(diào)試.把循環(huán)條件:(M<0&&n<0)改為:
(M<0||n<0)關(guān)閉工作區(qū)間,重新編譯,設(shè)置二個(gè)斷點(diǎn).點(diǎn)擊圖標(biāo)(GO),運(yùn)行.如輸入:-37.再點(diǎn)擊圖標(biāo)(GO),程序不向下走.說(shuō)明有問(wèn)題:輸入數(shù)據(jù)不對(duì)!
重新輸入正確數(shù)據(jù):37.點(diǎn)擊圖標(biāo)(GO),運(yùn)行到第二個(gè)斷點(diǎn).然后可以執(zhí)行”單步調(diào)試”,運(yùn)行到printf()處.發(fā)現(xiàn):j=3k=7.答案也不對(duì)!
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貨車(chē)司機(jī)安全生產(chǎn)制度
- 行政復(fù)議案件評(píng)查制度
- 落實(shí)信息工作相關(guān)制度
- 雷電預(yù)防科普動(dòng)態(tài)
- 2026廣東佛山順德區(qū)容桂幸福陳占梅小學(xué)招聘語(yǔ)文數(shù)學(xué)臨聘教師招聘2人備考考試題庫(kù)附答案解析
- 2026甘肅嘉峪關(guān)市文化館開(kāi)發(fā)公益性崗位招聘2人備考考試題庫(kù)附答案解析
- 2026四川涼山州金陽(yáng)縣公安局招聘35人備考考試題庫(kù)附答案解析
- 2026山東事業(yè)單位統(tǒng)考煙臺(tái)萊陽(yáng)市招聘138人參考考試試題附答案解析
- JIS B 9650-2-2011 食品加工機(jī)械安全及衛(wèi)生通.用設(shè)計(jì)準(zhǔn)則.第2部分-衛(wèi)生通.用設(shè)計(jì)準(zhǔn)則
- 2026杭州市金融投資集團(tuán)控股國(guó)有企業(yè)招聘工作人員17人備考考試題庫(kù)附答案解析
- 交通事故培訓(xùn)
- 2026年醫(yī)保藥品目錄調(diào)整
- 2026四川雅安市漢源縣審計(jì)局招聘編外專(zhuān)業(yè)技術(shù)人員2人筆試備考試題及答案解析
- 食品銷(xiāo)售業(yè)務(wù)員培訓(xùn)課件
- 2026年學(xué)校意識(shí)形態(tài)工作計(jì)劃
- 2025年銀行信息科技崗筆試真題及答案
- 山西電化學(xué)儲(chǔ)能項(xiàng)目建議書(shū)
- GB/T 46392-2025縣域無(wú)障礙環(huán)境建設(shè)評(píng)價(jià)規(guī)范
- DB32-T 4285-2022 預(yù)應(yīng)力混凝土空心方樁基礎(chǔ)技術(shù)規(guī)程
- 刺殺操課件教學(xué)課件
- 福建省廈門(mén)市雙十中學(xué)2026屆數(shù)學(xué)九年級(jí)第一學(xué)期期末復(fù)習(xí)檢測(cè)模擬試題含解析
評(píng)論
0/150
提交評(píng)論