天天看點

《C語言程式設計:問題與求解方法》——3.9節常見程式設計錯誤

本節書摘來自華章社群《c語言程式設計:問題與求解方法》一書中的第3章,第3.9節常見程式設計錯誤,作者:何 勤,更多章節内容可以通路雲栖社群“華章社群”公衆号檢視

3.9 常見程式設計錯誤

通常,程式設計錯誤可以分為以下幾類:

文法錯誤:可以在編譯期間由編譯程式找出的錯誤。

運作時錯誤:程式在運作時才能發現的錯誤。

算法錯誤:在編譯和運作時都不能發現的,隻有通過事先(編譯前)或事後(程式試運作後)分析、檢查結果才能發現的錯誤。

注意:程式設計時,首先要想方設法避免的是算法錯誤,因為對于一個規模較大的程式,如果在算法上有根本性的錯誤,有可能造成前功盡棄的嚴重後果。這就要求程式員在編寫算法時仔細慎重,并掌握一些驗證算法是否正确的方法。

下面列出了初學者極易犯的一些錯誤,在上機實驗前讀者要認真看一看;上機出現錯誤時,也可借助它來排除錯誤。

1)使用非法的或錯誤的辨別符。比如,将main()寫成mian(),将printf()寫成了print(),或寫出sin(2α)、cosΦ、πrr 等。

2)變量未經定義就使用。

3)變量類型使用不當(取值範圍不夠大、本該用整型而用了實型、精度不夠等)。

4)變量未經初始化就在表達式中使用。

5)語句或定義結束缺少分号(或誤用分号,比如複合語句結束後面不需要分号)。

6)表達式中漏寫了必要的乘号。例如,将3xy+5 錯寫成3xy+5。

7)表達式中缺少必要的圓括号,或圓括号不比對,或者用花括号{}、方括号取代了圓括号。

8)忘記了注釋的結束符/。正确的注釋方式應當是以“/”開始,以“/”結束,所用的兩個符号“”和“/”之間不能用空格隔開。

9)在該用小寫字母的地方,卻用了大寫字母(例如,把main寫成了main、把scanf寫成了scanf;定義變量名是小寫,但在程式中卻用了大寫的變量名,其中s,c,x,k,z最易用錯,比如s1寫成了s1、ch寫成了ch)。

10)在語句之間對變量進行了定義。正确方法是在函數體中将所有定義放在所有語句之前。

11)編寫代碼(程式)時就特别要注意:避免程式在運作時用0作為除數。

12)在字元串或輸入輸出格式控制串外的其他地方,用了非法的标點符号(除了英文半角輸入法外,其他輸入方式下的标點符号都是不對的)。

13)漏寫函數體結束時的花括号,或者花括号不配對。

14)分隔符使用不正确。比如,inta,b c .d; 應為int a,b,c,d;。

15)程式中調用了庫函數,但忘記包含相應的頭檔案(比如要包含頭檔案math.h)。

16)标準輸入輸出頭檔案包含時出錯,正确的是#include或者#include "stdio.h", 但有不少初學者會出現拼寫錯誤。

繼續閱讀