c语言switch循环语序,C语言初学者常见错误统计.doc

C语言初学者常见错误统计.doc

C语言初学者常见错误统计

被偏爱程度触犯人次错误类型 ★★★★17使用未定义的变量★★★★16变量值溢出★★★9一行C语句后面漏掉;★★★8语序颠倒★★★6混淆字符常量和字符串常量★★4以为将字符型变量用单引号括起来就成了字符常量★★4函数的声明部分与执行部分有交叉★★3对算术表达式使用++,--运算符★★3注释标识误输入★★3定义变量时漏掉;★2将执行语句写在函数的外面★2定义变量时数据类型关键字与变量名之间无空格★2混淆字符零和数值零★2混合算术运算没有进行必要的强制类型转换★1对于float型变量使用%运算符★1main函数后面漏掉 ★1对表达式进行强制类型转换时漏掉了 ★1 的左边使用表达式★1用’\’表示\★1使用关键字作为变量名★★★★★23利用scanf函数输入变量的值时漏掉取地址符&★★★★16Printf函数输出时格式控制与表达式类型不一致★★★5以为scanf可以用来输入一个句子★1调用scanf函数输入浮点数时规定了精度★1对算术表达式取地址★★★★★35在关系表达式中误用 来代替 ★★★★★30case分语句漏掉break★★★★★22if语句后多了;★★★14复合语句漏掉了 ★★★8表达式中 的不配对,复合语句中 不配对★★★7case后面跟着变量表达式★★3两个关系表达式连用★2将 ,&&,||误输入为 ,&,|★1用! 表示不大于等于★1 ,! , , 运算符中间多了空格★★★9循环语句中未规定循环结束条件而造成死循环★★★6用,代替for语句中的;★★★5do while语句漏掉;★★3循环语句中循环控制变量无变化而造成死循环★★★★★36数组越界操作★★★★★27对数组变量直接赋值★★★★18对字符数组直接赋值★★★9用数组变量名代表数组单元的全部★★★7利用 比较字符串是否相等★★★6字符串操作越界★★★5定义数组变量时使用其它变量指定大小★★4定义局部变量或函数参数时重名★★4错误定义和引用二维数组变量★★3定义数组变量时未指定大小★★3利用 代替[]来引用数组单元★★3以为数组a的第n的元素是a[n]★2利用 来复制字符串★2利用字符数组存放字符串时没有以0结尾★2利用变量表达式为数组赋初值★★★★★26以为改变形参的值可以改变实参★★★11函数调用与函数定义不一致★★★9在调用函数之前没有声明函数原型★★★5声明函数原型时漏掉;★★★5递归函数没规定出口★★4定义函数时 后面多了;★★3调用函数时,在实参前面多了类型标识符★2在函数中利用循环语句依次返回数组各单元的值★2函数的局部变量与参数重名★2函数原型与函数的定义不一致★2按照定义多个变量的方式定义函数参数列表★2定义函数时与标准库函数重名★1函数return的表达式的类型与返回值类型不一致★1在函数内部定义另一个函数★1用break代替return从函数中返回★1定义函数时不指定参数的类型★★★5定义符号常量时多了;★★★★★35指针变量未正确赋值之前就引用★★4以为int **p, int *p[10], int *p [10]是一回事★★4返回指针的函数return了局部变量的地址 ★1利用 来比较字符型指针与某字符串是否相等★1利用指针型变量输入数据时多了&★1指针变量相乘★★★5对结构体类型标识符赋值★★4定义结构体类型时,在 后漏掉了;★★4利用malloc分配的内存不释放★2对结构体变量进行整体赋值★2将结构体变量进行整体输入输出★1指针被释放后仍被引用★1typedef语句漏掉;

使用未定义的变量

初学者经常忘记定义变量,而在函数的执行部分直接使用没有定义过的变量。比如:

main a 1;b a+2;//a,b 未定义

printf “%d,%d”,a,b ; 变量值溢出

任何类型的变量都会有它的数值区间,比如,int型变量的数值区间是[-32768..32767]。但初学者在使用变量时经常忘记变量的数值区间,而给变量任意赋值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值