下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言改错题常见错误归纳一、书写错误l:mian一(main)见彳列一2:print一(print。3:include<stdio.h>^(#include<stdio.h>)二、类型定义错误1:在主函数中,要注意计算时用到的与定义是否一致。(int是十进制整数,float是实数,double是双精度、只是较float更精确)见例四2:在子函数中注意大括号外定义类型与里面的要相同。见例三三、格式错误1:常见格式intT%d,long-%ld,float-%f,doubleT%lf2:所需输出结果与已定义类型不同,可以利用强制转换符。如定义sum为int,但要输出实数float,可以(float)sumo见例一四、固定语句格式错误1:for(; ;2:while(3:switch(){}j_(for,while,switch后面无分号)见例五4:do{Jwhile(足(do{}while结构后面有分号)五、赋值错误1:未赋初值。如求和时一般sum=O,求阶乘时一般n=1o见例一2:注意题中赋值是否正确。如究竟i是赋1还是0。见例五六、大小关系错误1:大于号和小于号与所求程序不符。见例一2:是否携带等号<=,>=七、返回值错误1:在子函数中,return(i)i是要返回到主函数的值。2:在子函数中,return(1)返回主函数是执行后yes的结果jeturn(O)返回执行后no的结果。见例二3:一般在主函数中很少涉及返回值的错误八、其他错误1、参数未定义:程序中出现的任何变量i或常量j=1,都要定义他们的类型。2、等号与赋值弄混好:==为等号,=为赋值号。见例二3、与scant搭配未加地址符,也不可加\n换行符在d后面,scanf("%d”,&i);4、行末未加分号,每行后面需要分号。5、子函数中形参为定义好。见例六经典例题例一:#include/zstdio.h〃mian() /*(1)主函数名拼写错误,应改为:main()*/(inta[10],i,k,sum;/*(2)变量sum应初始化,改为:sum=O;也可将变量声明为float并初始化,改为:…k;floatsum=0;*/printf(/z\nPleaseenter10numbers/');for(i=0;i<10;i++); /*(3)应去掉行末分号*/(scanf(〃%d〃,a[i]);/*(4)未加地址符,a[i]应改为&a[i]*/)printf(z,\nPleaseenteranothernumberk二〃);scanf(〃%d〃,&k);for(i=0;i<=k;i++) /*(5)循环条件应改为:i〈k*/(sum+=a[i];}printf("\nsum=%d,z,sum);/*(6)输出应改为:二%f〃,(float)sum/k若前述变量定义sum已声明为float,则仅改为:..二%f〃,sum/k*//*打印结果*/例二:#include<stdio.h>voidisSuShu(intnum)/*(1)函数类型void应改为int或short*/(intK二num/2;inti;for(i=2;i<=K;i++)(if(num%i=0)/*(2)等号写错,应改为:num%i=0*/return0;)return1;)voidmain()(intN,K,i,count=0;printf(〃请输入一个正整数:〃);scanf(〃%d”,&N);getchar();printf(〃请输入每行显示的数的个数:〃);scanf(〃断T,K); /*(3)未加地址符,k应改为&k*/getchar();printf(〃小于%d的素数如下:\n〃,N);for(i=2;i<N;i++)(if(isSuShu(i)==0)/*(4)条件表达错,应改为(isSuShu(i)=1)或(isSuShu(i))*/count=0;/*(5)本句应改为:count++;或count+=l;*/count=0;printf(〃%d\t〃,i);if(count%K=0)printf(〃\n〃);})例三:/*(1)函数类型错,/*(1)函数类型错,int应改为double*//*(2)等号写错,应改为:n=0*/doubleres=l.0;if(n=0)return1.0;while(n>l&&n<170);res*while(n>l&&n<170);res*=n——;res=l/res;returnres;/*(3)应去掉行末分号*/main();/*main();/*(4)应去掉行末分号*/intn;printf("InputN:〃);scanf(z,%dzz,n); /*(5)未加地址符,n应改为&n*/printf(/z\n%d!=%f\n,z,n,fun(n));/*(6)输出格式%£应改为%lf*/例四ttinclude^stdio.h〃main()inta[6],i,k,sum;sum=0;printf(''XnPleaseenter6numbers:");for(i=0;i<6;i++)scanf(,z%dz,,a[i]);/*(1)未加地址符,a[i]应改为&a[i]*/scanf(〃%d〃,scanf(〃%d〃,&k);for(i=l;i<=k;i++)/*(2)循环初值应改为:;0;*//*(3)循环条件应改为:i<k;*/sum+=a[i];printf(,z\nsum=〃,sum);/*(4)少了输出格式字符,应改为:〃\nsum=%d*/例五:ttinclude<stdio.h>main()inti,a[100]={90,80,70,80,59,53,40,75,80,90},b[6];for(i=0;i<6;i++)b[i]=0;/*(1)循环初值应改为:i=l;*/for(i=0;i<10;i++);/*(2)应去掉行末分号*/if(a[i]<60)a[i]=0;elsea[i]=a[i]/10;switch(a[i])case0:b[l]++;break;b⑵++;break;b[3]++;break;b[4]++;break;case9:b[5]++;default:b[5]++;/*(3)行首或上一行末应加大括号:{*//*(4)行末应加:break;*/printf(,zTheresultis:\n〃);for(i=l;i<6;i++)printf(〃%d0numberis:\n〃,i+4,b[i]);/*(5)少了一个输出格式字符,应改为:〃%d……is:%d\n〃*/printf(〃\n〃);例六ttdefine"stdio.h〃/*(1)ttdefine应改为:ttinclude*/fun(inta,b)/*(2)形参声明错,应改为:fun(inta,intb)*/return(a+b);)main(){intx=2;y=5;z=8;r;r=fun(fun(x,y),z)printf(〃%f\n〃,r);)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 14531-2026办公家具阅览桌、椅、凳
- 2025~2026学年贵州省黔西南布依族苗族自治州兴义市十校监考人教版三年级上册12月月考数学试卷【附答案】
- 2027届湖南长沙长郡芙蓉中学八年级数学第一学期期末质量跟踪监视试题含解析
- PHP程序员笔试真题(含详细答案)
- 2026年高校辅导员理论与实务试题及答案
- 玻璃边角废料收集处置规程
- 燃气站泄漏处置及消防联动演练方案
- 2026年节水知识竞赛题库及答案
- 2025-2026学年福建省晋江市南安市初中数学七年级期末下册模考创新思维题详细参考解析
- OSTA职业技能等级考核试题(基础岗)及详细答案解析
- 2026一级建造师《水利水电工程管理与实务》真题及答案解析(完整版含图表)
- 2026年福建省高考地理试卷真题(含答案)
- 2026年铅锌冶炼行业市场深度调研报告及未来五至十年技术路径与产业化前景
- 2026标准短视频拍摄合同律师审核修订版条款严谨权利义务对等公平合理可签
- 中国临床肿瘤学会(CSCO)胃癌诊疗指南(2026版)
- 有限空间作业监理实施细则(详细完-整版)
- 2026年烟花爆竹零售经营安全考试试题及答案
- (正式版)DB34∕T 3763-2020 《水泥生产企业化验室达标评价规范》
- 2026年产科急症多学科协作处置试题(含答案)
- 草原鼠虫害防治施工方案及技术措施
- 2026年广东高中学业水平合格性考试生物试卷试题(含答案详解)
评论
0/150
提交评论