visualc6.0中的調(diào)試工具使用及常見錯(cuò)誤

visualc6.0中的調(diào)試工具使用及常見錯(cuò)誤

ID:8891787

大小:276.00 KB

頁數(shù):11頁

時(shí)間:2018-04-10

visualc6.0中的調(diào)試工具使用及常見錯(cuò)誤_第1頁
visualc6.0中的調(diào)試工具使用及常見錯(cuò)誤_第2頁
visualc6.0中的調(diào)試工具使用及常見錯(cuò)誤_第3頁
visualc6.0中的調(diào)試工具使用及常見錯(cuò)誤_第4頁
visualc6.0中的調(diào)試工具使用及常見錯(cuò)誤_第5頁
資源描述:

《visualc6.0中的調(diào)試工具使用及常見錯(cuò)誤》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、C語言常見錯(cuò)誤及解決方法(注:紅色粗體是常見的錯(cuò)誤,請(qǐng)大家檢查自己的程序,并注意盡量不要犯這些常見的錯(cuò)誤。其余它體是避免錯(cuò)誤的方法和正確的寫法)一、基礎(chǔ)知識(shí)和數(shù)據(jù)類型、表達(dá)式1、拼寫錯(cuò)誤,尤其是include,main,void,float等詞。C語言的32個(gè)關(guān)鍵字與基本含義如下:double:聲明雙精度變量或函數(shù)int:聲明整型變量或函數(shù)char:聲明字符型變量或函數(shù)float:聲明浮點(diǎn)型變量或函數(shù)void:聲明函數(shù)無返回值或無參數(shù),聲明無類型指針(基本上就這三個(gè)作用)auto:聲明自動(dòng)變量一般不使用struct:聲明結(jié)構(gòu)體變量或函數(shù)break:跳

2、出當(dāng)前循環(huán)else:條件語句否定分支(與if連用)long:聲明長(zhǎng)整型變量或函數(shù)switch:用于開關(guān)語句case:開關(guān)語句分支enum:聲明枚舉類型register:聲明積存器變量typedef:用以給數(shù)據(jù)類型取別名(當(dāng)然還有其他作用)extern:聲明變量是在其他文件正聲明(也可以看做是引用變量)return:子程序返回語句(可以帶參數(shù),也看不帶參數(shù))union:聲明聯(lián)合數(shù)據(jù)類型const:聲明只讀變量short:聲明短整型變量或函數(shù)unsigned:聲明無符號(hào)類型變量或函數(shù)continue:結(jié)束當(dāng)前循環(huán),開始下一輪循環(huán)for:一種循環(huán)語句(可意

3、會(huì)不可言傳)signed:生命有符號(hào)類型變量或函數(shù)default:開關(guān)語句中的“其他”分支goto:無條件跳轉(zhuǎn)語句sizeof:計(jì)算數(shù)據(jù)類型長(zhǎng)度volatile:說明變量在程序執(zhí)行中可被隱含地改變do:循環(huán)語句的循環(huán)體while:循環(huán)語句的循環(huán)條件static:聲明靜態(tài)變量if:條件語句2、{},[],(),‘’,“”不配對(duì)。解決這個(gè)問題最好的方法就是每當(dāng)寫這些符號(hào)的時(shí)候就先寫成一對(duì),然后再在中間加內(nèi)容。3、忘記在語句的末尾加分號(hào),或在預(yù)處理命令后多加分號(hào)。記?。好恳粋€(gè)語句的后邊都要加分號(hào),而預(yù)處理命令并不是語句,所以不加分號(hào),他們必須每行一條,不能

4、把多個(gè)命令寫在一行。1、混淆/和;注釋對(duì)應(yīng)的符號(hào)是/**/,而轉(zhuǎn)義字符是以開頭,除號(hào)是/。2、printf()和scanf()的參數(shù)設(shè)置有誤,主要表現(xiàn)在以下幾方面:l類型不匹配的問題。(例如:有floata=3.5,但輸出的時(shí)候printf(“a=%d”,a);則屏幕上會(huì)顯示出a=0.00000或者提示其它運(yùn)行錯(cuò)誤)?;驹瓌t是:float對(duì)應(yīng)%f,int對(duì)應(yīng)%d,char對(duì)應(yīng)%c。l個(gè)數(shù)不匹配。無論是哪個(gè)函數(shù),都可以有n個(gè)參數(shù),第一個(gè)永遠(yuǎn)是“”括起來的內(nèi)容,表示輸出格式。剩下的n-1個(gè)是輸出的變量或者輸入的變量的地址。需要注意的是,如果后邊有n

5、-1個(gè)參數(shù),那么前邊一定對(duì)應(yīng)n-1個(gè)%f一類的格式說明符。lscanf()中變量前忘了加&。記住:scanf()中變量前要有&(但后邊學(xué)到的字符數(shù)組名和指針前不用加)3、定義標(biāo)識(shí)符的時(shí)候經(jīng)常出現(xiàn)使用非法字符的情況,例如:標(biāo)識(shí)符中不能用空格,也就是說不能有這樣的定義:intradiumofcircle;一般情況下可用下劃線將三個(gè)單詞連接在一起。4、在使用變量前未定義,或未初始化。例如:若下邊的sum未定義,則在編譯時(shí)會(huì)提示相應(yīng)的錯(cuò)誤信息,而若未初始化為0,則求和的結(jié)果一定是錯(cuò)誤的?!oidmain(){intI,a[10],sum=0;/*只要下邊要

6、用,這個(gè)定義就必須要有,一般情況下也要有初始值*/for(I=0;I<10;I++)sum+=a[I];printf(“%d”,sum);}5、符號(hào)常量定義錯(cuò)誤。例如:#definePI=3.14159,這里的=應(yīng)該換成空格。6、計(jì)算錯(cuò)誤。主要注意:++,――和其它運(yùn)算符一起運(yùn)算時(shí),除根據(jù)優(yōu)先級(jí)進(jìn)行計(jì)算時(shí),還要考慮先后位置的特殊含義;數(shù)據(jù)類型不一致時(shí)發(fā)生的自動(dòng)轉(zhuǎn)換也會(huì)導(dǎo)致計(jì)算的誤差;還要注意求模結(jié)果的符號(hào)與被除數(shù)相同;某些特殊情況下 使用懶惰求值法。7、不能除以0,要做合法性檢查;8、類型溢出。記住每種數(shù)據(jù)類型的取值范圍,確保數(shù)據(jù)在所定義類型范圍之內(nèi)

7、;9、數(shù)學(xué)表達(dá)式的格式有誤。常見的有:(1)數(shù)學(xué)與C語言運(yùn)算表達(dá)式的混淆(例如:=表示賦值,而==才表示我們數(shù)學(xué)中的相等關(guān)系)。(2)、忽略了運(yùn)算的優(yōu)先級(jí)。解決這個(gè)問題的最好方法就是寫數(shù)學(xué)表達(dá)式時(shí)不要從左到右,而是按優(yōu)先級(jí)的順序?qū)?,寫完?yōu)先級(jí)高的一個(gè)表達(dá)式后加上()再寫下一級(jí)的表達(dá)式,例如:計(jì)算梯形的面積時(shí),要s=((a+b)*h)/2,不要1/2*a+b*h.(3)忽略了計(jì)算和賦值時(shí)的自動(dòng)轉(zhuǎn)換。例如:floathalf=1/2;這樣,因?yàn)椋接疫吺钦麛?shù)相除的結(jié)果為整數(shù)0,不會(huì)得到0.5存入half,進(jìn)而會(huì)影響下邊的計(jì)算結(jié)果。要想不在這兒絆跟頭,當(dāng)計(jì)算

8、不同類型的數(shù)據(jù)時(shí),一定注意會(huì)不會(huì)出現(xiàn)引起錯(cuò)誤的自動(dòng)轉(zhuǎn)換,建議最好加上強(qiáng)制轉(zhuǎn)換。(4)賦值號(hào)左邊不是變量,例如

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。