本节书摘来自华章社区《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", 但有不少初学者会出现拼写错误。