全国计算机等级考试二级C语言资料机试Word文档下载推荐.docx
- 文档编号:15385322
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:57
- 大小:65.28KB
全国计算机等级考试二级C语言资料机试Word文档下载推荐.docx
《全国计算机等级考试二级C语言资料机试Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言资料机试Word文档下载推荐.docx(57页珍藏版)》请在冰豆网上搜索。
若试算的结果与给出的输出结果不同,就应进一步检查程序中的逻辑错误。
(5)修改完成,得到正确结果后,一定不要忘记把修改后的程序存盘。
二、程序修改题
【解析】该类型主要考察学员对C程序部分结构或算法的分析和理解能力。
因此,对学员的知识把握能力要求不高,通常可以借助计算机帮我们改错(仅限语法错误)。
若非语法错误,则需对程序边调试边找错,分析输出结果,找出错误所在并改正。
(1)上机改错的试题中通常包含两个(或三个)错误需要修改。
来提示在下一行(或下面第二行)有错。
(3)错误的性质基本分语法错误和逻辑错误两种,也有些试题要求把语句添加在下划线处。
(4)特别注意:
只能在出错的行上进行修改,不要改动程序行的顺序,更不要自己另编程序。
(1)首先仔细审题,了解试题的要求,看清楚试题给出的输入和输出例示,以便检验改错后程序运行的结果是否正确。
(3)先对测试程序进行检查是否有语法错误。
(5)当程序存在逻辑错误时,首先应当理解题意、读懂程序的算法,必要时可按步检查数据的流程,以便确定错误所在。
例如,题目要求数据按由小到大排序,而结果数据是按由大到小进行了排序,问题可能出现在条件判断上。
又如,输出的字符串比预期的短,就有可能字符串的结束标志放错了位置。
再如做循环的时候数组上限下限错误了,下标是从0开始而不是1开始的。
修改程序中的逻辑错时,要求考生认真读懂程序代码。
(6)修改完成,得到正确结果后,一定不要忘记把修改后的程序存盘。
三、程序设计题
【解析】主要考察学员对C语言综合理解能力和上机实践能力,能够对所给问题,运用所学知识,按照程序设计的步骤独立编写出一段程序,学会用计算机语言描述日常生活中所见到的现象和拟题,通过实际上机操作积累经验,锻炼用C语言描述问题的逻辑思维能力。
(1)首先仔细审题,了解试题的要求,记下试题给出的输入和输出例示,以便检验在完成指定的函数后程序运行的结果是否正确。
(2)调出源程序后,应对照函数首部的形参,审视主函数中调用函数时的实参内容,以便明确在函数中需要处理的数据对象。
(3)理解试题的要求,审视主函数中调用函数的方式,若在表达式中调用函数(如把函数值赋给某个对象),则要求有函数值返回,需注意函数的类型,并在函数中用return语句返回函数值;
若主函数中仅用语句形式调用函数,则需要通过形参间接地返回所得结果。
(4)选择适当的算法进行编程,输入程序语句。
不要忘记及时存盘!
(5)编译程序,直到没有语法错误。
(6)调试程序,利用试题中给出的例示数据进行输入(若要求输入的话),运行程序,用示例的输出数据检验输出结果,直到结果相同。
特别要注意:
程序设计题要求完全设计正确才会给分,因此,要么是40分,要么是0分,不会给中间分。
那么想通过机试,程序填空题和程序修改题通常来说必须全部正确才能容易通过,否则不容易通过。
上机改错题重点题型归类分析
分类一:
简单语法错误
◆题型一:
符号遗漏
1、下列程序的功能是:
读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。
例如,若输入整数:
2310,则应输出:
2、3、5、7、11。
请改正程序中的语法错误,使程序能得出正确的结果。
注意:
不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include“conio.h”
#include“stdio.h”
/**************found**************/
IsPrime(intn);
{inti,m;
m=1;
for(i=2;
i<
n/i++)
if!
(n%i)
{m=0;
break;
}
return(m);
}
main()
{intj,k;
clrscr();
printf(“nPeaseenteranintegernumberbetween2and10000:
”);
scanf(“%d”,&
k);
printf(“nnTheprimefactor(s)of%dis(are):
”,k);
for(j=2;
j<
=k;
j++)
if((!
k%j))&
&
(IsPrime(j))}
printf(〃n%4d〃,j);
printf(〃n〃);
【参考答案】
(1)IsPrime(intn)
(2)if(!
(n%i))
【解题技巧】常见的符号遗漏问题包括以下两种:
(1)分号问题
●遗漏分号:
k++——>
k++;
break——>
break;
returnsum——>
returnsum;
●分号多余:
if(k>
1);
{}——>
1){}
while(k>
1){}
switch();
switch(){}
(2)遗漏括号
ifk>
1——>
if(k>
1)if!
(n%i)——>
if(!
(n%i))
whilek>
while(k>
1)
◆题型二:
符号出错
2、给定程序MODI1.C中函数fun的功能是:
用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止:
π111
┄┄≈1-┄┄+┄┄-┄┄+...
4357
例如,程序运行后,输入0.0001,则程序输出3.1414。
请改正程序中的错误,使它能输出正确的结果。
注意:
不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include<
math.h>
stdio.h>
floatfun(floatnum)
{ints;
floatn,t,pi;
t=1;
pi=0;
n=1;
s=1;
while(t>
=num)
{
pi=pi+t;
n=n+2;
s=-s;
t=s%n;
pi=pi*4;
returnpi;
main()
{floatn1,n2;
printf("
Enterafloatnumber:
"
);
scanf("
%f"
&
n1);
n2=fun(n1);
%6.4f\n"
n2);
(1)while((fabs(t))>
=num)
(2)t=s/n
3、下列给定程序中,函数fun的功能是:
从低位开始取出长整型变量s中偶数位上的数,一次构成一个新数放在t中。
例如,当s中的数为7654321时,t是的数为642。
请改正程序中的错误,使程序能得出正确的结果。
注意,不要改多main函数,不得增行或删行,也不得更改程序的结构!
conio.h>
/************found************/
voidfun(longs,longt)
{longsl=10;
s/=10;
*t=s%10;
while(s<
0)
{s=s/100;
*t=s%10*sl+*t;
sl=sl*10;
main()
{longs,t;
clrscr();
nPleaseenters:
"
);
%ld"
&
s);
fun(s,&
t);
Theresultis:
%ldn"
t);
(1)voidfun(longs,long*t)
(2)while(s>
【解题技巧】符号出错会表现在以下七个方面:
(1)“%”和除号“/”混淆,如inti=j/k;
——>
inti=j%k;
有时候反过来考,将“%”改为“/”
(2)赋值号“=”和等号“==”混淆
如if(i=j)——>
if(i==j)while(i=j)——>
while(i==j)
(3)复合赋值出错,如:
i\=10——>
i/=10,除号是左下的斜线
(4)强制转换出错,如inti=int(f)——>
inti=(int)f强制转化是在类型上加括号
(5)大小写问题,如IF(){}—>
if(){}或For(){}—>
for(){}注:
所有的关键字都是小写字母
(6)条件判断时的符号问题(要根据具体题意来修改)
如if(fabs(n-m)<
0.0001)——>
if(fabs(n-m)>
0.0001)if(*s<
*p)——>
if(*s>
*p)
for(;
j<
=n;
)——>
n;
)int*a[10]——>
int(*a)[10]
(7)浮点数不能比较大小,只能用绝对值来比较
◆题型三:
变量定义出错
4、程序的功能更是求方程2x3-4x2+3x-6=0的一个根,求要求绝对误差不超过0.001。
例如,若给m输入-100,给n输入90,则函数求得的一个根值为2.000。
请改正程序中的错误,使它能得出正确结果。
不要改动main
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 语言 资料