- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二级c语言改错题总结
二级c语言改错题总结
二级C语言上机改错题型汇总
张家界实用电脑学校二级C语言上机改错题型汇总
第一部分 改错题题型汇总
注意:一般是两至三处错误,在/*************found**************/下面第一行找错误,注意只能在出错行进行修改,不能改动程序行的顺序,更不能自己另编程序
改错题做题思路(扫雷推敲法):
1.不看题,找到found下错误行,看是否为常见错误,若是迅速改正测试,看是否与答案相符;
2.答案不相符或找不出错误的,可先测试后看错误栏提示;
3.找准意图,一般不会很难,找不出错误的再看题,认真推敲;
4.答案相符则接着做程序设计题,全部做完后再检查,看题意。
一、函数格式类
函数定义:
函数返回值类型(或void或为空) 自定义函数名(形参类型1 形参名1,形参类型2 形参名2?)
{函数体;
return 表达式;(或 return (表达式); 或为void或空 则return省略或return 0;或return ;) }
函数调用:
自定义函数名(实参1,实参2);
1. 形参类型错误 普通变量类型,还是地址指针类型?
解题技巧:可先看函数调用时实参的格式,若实参为地址或数组时,定义时也应为指针或数组,而且也应保持类型的一致。
例1:/************found************/
void fun (long s, long t) /*调用时第二个实参为地址,则定义为指针 void fun(long s,long *t)*/
{long sl=10;
s /= 10;
*t = s % 10;
/************found************/
while ( s 0) /*根据题意,大小写取反 while(s0)*/
{ s = s/100;
*t = s%10*sl + *t;
sl = sl * 10; }}
main() {??fun(s, amp;t);??}
例2:/*************found**************/
void fun(int a)/*调用时实参为数组a[M],定义时为指针 void fun(int *a)*/
{ int I,j,k,m;
printf(Enter 4 number: );
for(I=0;IM;I++) scanf(%d,amp;a[I]);
printf(\n\nThe result :\n\n );
for(I=M;I0;I--)
{ k=a[M-1];
for(j=M-1;j0;j--)
/*************found**************/
a[j]=a[j+1]; /*根据题意 a[j]=a[j-1];*/
a[0]=k;
for(m=0;mM;m++) printf(%d ,a[m]);
printf(\n );}}
void main(){ int a[M]; fun(a); printf(\n\n );}
2. 返回值类型错误;
解题技巧:首先看有没有返回值(void定义 无返回值或return 0;),若无,则不需返回值类型,若有,则按return 变量或表达式的类型来设置返回值类型。
例1:/*************found**************/
f(double x) /* return表达式类型为double 型,则返回值类型 double f(double x)*/ { if(x==0.0||x==2.0)
return 0.0;
else if(x0.0)
return(x-1)/(x-2);
else
return(x+1)/(x-2);}
double fun(int n)
{int i; double s=0.0,y;
for(i=-n; i=n;i++)
{ y=f(1.0*i); s+=y;}
/*************found**************/
return s } /*缺少分号 return s;*/
例2: /************found************/
void fun ( int n )/*有return 且表达式类型为double 则定义为:double fun(int n) */ {int a, b, c, k; double s;
s = 0.0; a = 2; b = 1;
for ( k = 1; k = n; k++ ) {
/************found************/
s = s + (Double)a / b;/*关键词名称错误,一般为小写字母 s=s+(double)a/b;*/ c = a; a = a + b;
您可能关注的文档
最近下载
- 苏教版数学四年级下册知识点.docx VIP
- 基于DRG的医院精细化管理实践.pdf VIP
- 公务员辞去公职申请表word版本.doc
- 4.4.4 -已完成优势病种——腰椎间盘突出症诊疗方案(实施情况分析、总结和评价)2013-2018.docx VIP
- 火电工程勘察设计招标文件范本.doc
- 【推荐】山东省建筑工程消耗量定额-交底培训资料.pdf
- 国家开放大学《管理英语4》边学边练Unit 1-4(答案全).docx VIP
- 移动通信技术电子教学案.pdf VIP
- 2020 2021 2022 2023 2024 新版个人征信报告明细版 可编辑(仅供交流,切勿非法使用,后果自负!!!).doc
- DLT 1518-2016 变电站噪声控制技术导则.pdf
文档评论(0)