C语言学习常见的18种错误.ppt

上传人:tia****nde 文档编号:11495329 上传时间:2020-04-25 格式:PPT 页数:19 大小:207.50KB
返回 下载 相关 举报
C语言学习常见的18种错误.ppt_第1页
第1页 / 共19页
C语言学习常见的18种错误.ppt_第2页
第2页 / 共19页
C语言学习常见的18种错误.ppt_第3页
第3页 / 共19页
点击查看更多>>
资源描述
C语言学习常见的18种错误,1.书写标识符时,忽略了大小写字母的区别main()inta=5;printf(%d,A);编译程序把a和A认为是两个不同的变量名,而显示出错信息。C认为大写字母和小写字母是两个不同的字符。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。,2.忽略了变量的类型,进行了不合法的运算。main()floata,b;printf(%d,a%b);%是求余运算,得到a/b的整余数。整型变量a和b可以进行求余运算,而实型变量则不允许进行“求余”运算。,3.将字符常量与字符串常量混淆。charc;c=a;在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。C规定以“0”作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包含两个字符:a和0,而把它赋给一个字符变量是不行的。,4.忽略了“=”与“=”的区别。在许多高级语言中,用“=”符号作为关系运算符“等于”。如在BASIC程序中可以写if(a=3)then但C语言中,“=”是赋值运算符,“=”是关系运算符。如:if(a=3)a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。,5.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1b=2编译时,编译程序在“a=1”后面没发现分号,就把下一行“b=2”也作为上一行语句的一部分,这就会出现语法错误。改错时,有时在被指出有错的一行中未发现错误,就需要看一下上一行是否漏掉了分号。z=x+y;t=z/100;printf(%f,t);对于复合语句来说,最后一个语句中最后的分号不能忽略不写(这是和PASCAL不同的)。,6.多加分号。对于一个复合语句,如:z=x+y;t=z/100;printf(%f,t);复合语句的花括号后不应再加分号,否则将会画蛇添足。又如:if(a%3=0);I+;本是如果3整除a,则I加1。但由于if(a%3=0)后多加了分号,则if语句到此结束,程序将执行I+语句,不论3是否整除a,I都将自动加1。,再如:for(I=0;I5;I+);scanf(%d,本意是先后输入5个数,每输入一个数后再将它输出。由于for()后多加了一个分号,使循环体变为空语句,此时只能输入一个数并输出它。,7.输入变量时忘记加地址运算符“这是不合法的。scanf函数的作用是:按照a、b在内存的地址将a、b的值存进去。“b=4.5;printf(%f%dn,a,b);编译时不给出出错信息,但运行结果将与原意不符。这种错误尤其需要注意。,11.输入数据时,企图规定精度。scanf(%7.2f,这样做是不合法的,输入数据时不能规定精度。,12.switch语句中漏写break语句。例如:根据考试成绩的等级打印出百分制数段。switch(grade)caseA:printf(85100n);caseB:printf(7084n);caseC:printf(6069n);caseD:printf(10时,二者结果就不同了。因为while循环是先判断后执行,而do-while循环是先执行后判断。对于大于10的数while循环一次也不执行循环体,而do-while语句则要执行一次循环体。,14.定义数组时误用变量。intn;scanf(%d,数组名后用方括号括起来的是常量表达式,可以包括常量和符号常量。即C不允许对数组的大小作动态定义。,15.在定义数组时,将定义的“元素个数”误认为是可使的最大下标值。main()staticinta10=1,2,3,4,5,6,7,8,9,10;printf(%d,a10);C语言规定:定义时用a10,表示a数组有10个元素。其下标值由0开始,所以数组元素a10是不存在的。,16.关系和逻辑表达式中常见的错误。如:表示x大于0并且小于10,用C语言表示为:0x10这种写法是错误的,是先计算0x得到的结果为1或则0;再用0,或1与10比较得到的总是真(为1)。所以一定要用:(0y?x:y;return(z);,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!