c语言程序设计的一般错误的是,《C语言程序设计》第十章 程序常见错误分析.pdf...
第十章 程序常見錯誤分析
第十章 程序常見錯誤分析
C 語言是一種方便靈活、功能性很強的程序設計語言,但是對于初學者很難掌
握,尤其是出了錯還不知道錯誤在哪兒,這是由于 c 編譯程序對語法的檢查不如其
他高級語言那樣嚴格,往往要求設計者自己設法保證程序的正確性,因此調試一個
c 語言程序是不容易的,需要設計者不斷積累經驗,提高程序設計和調試的水平。
本章將初學者容易犯的錯誤集中列舉出來,供初學者參考,另外,還介紹了調
試程序的一般方法,以便于初學者提高調試程序的能力。
10.1 常見錯誤分析
程序出錯通常有兩種情況:
一、語法錯誤。這種錯誤通常 c 語言編譯程序會給出“出錯信息”,并且告訴你
在哪一行出錯,程序
設計者只要細心,會很快發現并排除這類錯誤。
二、邏輯錯誤。這種錯誤通常 c 語言編譯程序不會檢查出來,因此它比語法錯
誤更難檢查,這就要求
程序設計者必須要有豐富的經驗,才能很快的解決。有時可能設計者忘記加某種符
號,例如,復合語句的花括號,而導致程序出錯,這種錯誤經過仔細檢查,還是可
以發現的。但是,如果程序從算法上就有問題,那修改和檢查起來就非常困難了,
像這種錯誤,在這里不作贅述。
下面將程序中常見的錯誤列舉出來,供初學者參考,并以此為鑒。
1.沒有定義變量
在 c 語言程序中,變量一般是先定義后使用。
例如:
main ()
{int x=10,y=2;
s=x*y+3;
printf(“%d\n”,s);
}
編譯后,編譯程序在程序第三行給出出錯信息“Undefined symbol 's' in function
main ”,意思是在 main 函數中第三行有未定義的符號‘s ’,如果在程序開頭這樣寫
“int x=10,y=2,s; ”上面的程序就順利通過編譯程序了。
再如:
127
第十章 程序常見錯誤分析
main ()
{int x=10;y=2;
printf (“%d\n”, x*y+3);
}
編譯后,編譯程序在程序第一行給出出錯信息“Undefined symbol 'y' in function
main ”,在定義類型一致的多個變量時,變量之間用逗號隔開,如果用分號隔開說明
這句定義語句結束,后面的變量就沒有被定義,如果將“y =2 ;”這句前的分號改成
逗號,程序就不會出錯了。這種錯誤是初學者最愛犯的錯誤。
2 .未注意數據的數值范圍
各種不同類型的數據類型表示數的范圍不同,例如,int 類型的數占 2 個字節,
表示范圍-32768~
32767,如果所表示的數超過這個范圍,結果就會出錯,如下面的程序段:
int num;
num=89101;
printf(“%d”,num);
程序運行結果是 23565 ,而不是 89101,原因是 89101 已超過了32767,兩個字節容
不下 89101,則將高位截取。見圖 12.1
00 00 00 00 00 00 00 01 01 01 11 00 00 00 11 01 89101:
23565 :
01 01 11 00 00 00 11 01
3 .輸入輸出的數據類型與所用格式說明符不一致
輸入輸出的數據類型應與所用格式說明符匹配,否則將會導致運行結果與原意
不符。
例如下面的程序段:
int a=3;
float b=4.5;
printf(“%f,%d\n”,a,b);
總結
以上是生活随笔為你收集整理的c语言程序设计的一般错误的是,《C语言程序设计》第十章 程序常见错误分析.pdf...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 尼康d300s按键图解(尼康d300s相
- 下一篇: c语言程序设计实践教程张卫国,C语言程序