二级c语言改错题总结.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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;

文档评论(0)

1045141460 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档