二级C语言上机改错题技巧总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二级C上机改错题技巧总结

一、改错题之方法步骤

1.上机考试中改错题占30分,一般有两个地方有错误,题型简单

2.做改错题时先看出错的地方,分析语法错误,如果能用C语言的语法判断出错误,改之即可

3.没有语法错误即分析逻辑错误,逻辑错误可以从几个方面分析:

(1)从题目的要求中找到错误,例如:题目要求计算s=1+1/2+1/3+…+1/n,那么循环的范围就应该是for(i=0;i<=n;i++),但是考试中经常将其写为:for(i=0;i

(3)重点注意函数的调用、函数的返回值类型,函数的形参,这个是上机考试中的重点

(4)注意细节,请参考以下为考生总结的知识

(5)多练习,多思考,多总结

二、改错题之语法错误

1.关键字出错

(1)关键字出错,指的是C语言中的关键字出错。C语言的关键字都是小写字母,并且在VC++6.0中以蓝色字体显示,如果常见的关键字是黑色字体,可以断定关键字出错;

(2) if关键字出错

1)举例:上机题库P79第6题

/************found************/

If(substr[k+1]=='\0')

2)类似题目:12、35题

(3) double关键字出错

1)举例:上机题库P86第23题

/**********found**********/

double fun(double a, dounle x0)

2)类似题目:36、51

(4) while关键字出错

1)举例:上机题库P77第2题

/**********found**********/

wihle( q>p )

2)类似题目:

(5) return关键字出错

1)举例:上机题库P101第54题

/************found************/

Return(Value);

2)类似题目:86

2.格式出错

(1) C语言中的语句、基本结构、函数等都有相应的规范格式,程序中将这些格式书写错误,将导致编译器无法识别程序,因此导致出错;

(2)语句末尾少分号

1)分号是语句结束的标志,每个语句都必须以分号结尾

2)举例:上机题库P77第2题第一个出错点

/**********found**********/

q=p+i

3)类似的题目:28题第一空、29题第1空、34题第2空、37题第2空、48题第2空,49第1空,59第2空、70、79、97

(3) for结构格式出错

1)for结构的格式:for(表达式1;表达式2;表达式3){ 循环体语句 },for结构体中表达式必须以分号隔开,改错题中经常出现将for结构中分号错写为逗号的情

况;

2)举例:上机题库P77第3题第2个出错点

/************found************/

for( i = 100, i <= m, i += 100 )

3)类似的题目:6题第一空、14题第二空、53第1空、73、86第1空(4) if结构格式出错

1)if结构的格式:if(表达式),if后面必须加上小括号

2)举例:P93第37第1个出错点

if n = = 0

3)类似题目:59题第1空

(5)数组格式出错

1)一维数组的定义形式:类型名数组名[常量表达式],谨记[]是数组的独有特征

2)举例:P89第28题第2个出错点

/**********found**********/

t(k)=b(j);

3)举例2:P97第1个出错点(二维数组不能省略列下标)

/************found************/

int fun(int n, int xx[][])

4)类似题目:95题第1空

(6)函数格式出错

1)记住函数名后面一定是花括号,不能是方括号,方括号只有在数组下标中用到

2)举例:P86第22题第1出错点

/**********found**********/

n=strlen[ aa ];

3)scanf(输入控制,输入数据列表),scanf函数中输入数据列表要求为变量的地址

4)举例2:P95第41题第2出错点

/*********found**********/

scanf("%d",a[i][j]);

5)类似题目:第80题第1空

(7)命令行格式错误

1)#include “stdio.h”,include和define前面都必须有#

2)举例:P84第17题第1出错点

/************found************/

include (stdio.a)

3.使用了未定义的变量:变量必须先定义后执行

(1)0(零)和o(字母欧)的区别

1)区别:零像鸡蛋,字母欧像乒乓球

2)举例:上机题库P85第19题第一个出错点

a2=k/1o;

3)类似题目:19题第一空、23题第二空、43题第二空、51题第二空、77、98、(2)P(大)和p(小)的区别

1)区别:一般在定义时候p为小写,但是在使用的时候变为大写P,做题时候一定要细心

2)举例:上机题库P91第33题第一出错点

fun(int *a,int n,int x)

{ int p=0,i;

a[n]=x;

while( x!=a[p] )

p=p+1;

/**********found**********/

if(P==n) return -1;

3)类似题目:33题第一空、82

(3)普通变量大小写的区别

1)定义时候和使用时候变量的大小写不一致,违背了变量必须“先定义后执行”的原则

2)举例:18题第2空

int fun ( float *s, int n, float *aver )

{ float ave, t = 0.0 ;

int count = 0, k, i ;

for ( k = 0 ; k < n ; k++ )

/**************found**************/

t = s[k] ;

ave = t / n ;

for ( i = 0 ; i < n ; i++ )

if ( s[ i ] < ave ) count++ ;

/**************found**************/

*aver = Ave ;/*分析:定义时候float ave, t = 0.0 ;ave为小写,但是此时使用时候却是Ave大写,因此出错*/

return count ;

}

3)类似题目:18题第2空、22题第2空、38题第1空、54题第2空

三、改错题之逻辑错误

相关文档
最新文档