二级C语言 机考 操作指南 02.docx
《二级C语言 机考 操作指南 02.docx》由会员分享,可在线阅读,更多相关《二级C语言 机考 操作指南 02.docx(13页珍藏版)》请在冰豆网上搜索。
![二级C语言 机考 操作指南 02.docx](https://file1.bdocx.com/fileroot1/2023-1/7/0953bca5-5b83-44b9-9c19-c54be21e820e/0953bca5-5b83-44b9-9c19-c54be21e820e1.gif)
二级C语言机考操作指南02
2010年3月考试专用
上机考试指导
1上机考试介绍
全国计算机等级考试二级C语言的上机考试时间为90分钟,考试时间从考生点击“开
始考试并倒计时”按钮考试,由考试系统自动倒计时。
倒计时结束前5分钟,考试系统会自
动报警题型考生考试即将结束并注意存盘。
当倒计时结束,考试系统将自动锁定计算机,考
生将不能再进行任何操作。
当考生点击“交卷”按钮后,考试系统也会自动锁定计算机。
注意:
无论由于什么原因,考试系统在锁定计算机后,考生都要举手报告监考老师,由监考
老师输入密码后,方可离开考场。
上机考试的满分为100分,由一道填空题(30分)、一道改错题(30分)以及一道编程
题(40分)组成。
90分(含90分)以上为“优秀”,80分(含80分)以上为良好,60分
(含60分)以上为及格。
上机考试的题目由计算机随机从题库中抽取,因此每个考生的题
目与其附近考生的题目都不一样。
考试系统只能够正常登录一次,在考生第一次正常登录后,
无论是由于什么原因导致考试系统退出,考生都不能再次登录,除非由监考老师输入二次登
录密码。
因此,在考试过程中,如果出现计算机死机、显示器断电、鼠标键盘失灵等意外情
况,考生切勿自行处理,而应立即举手报告监考老师,由监考老师进行处理。
注意:
考生只能抽取一次试题,不要试图通过重新登录考试系统、重启计算机等非常手段来
重新抽取试题。
2解题要求
各题型的解题要求如下:
(1)填空题:
填空题的源程序文件名为“blank1.c”,要求根据题意在程序中挖出的空
中填上正确答案即可,不要求运行。
但一定要注意保存,否则不得分。
(2)改错题:
改错题的源程序文件名为“modi1.c”,要求根据题意在指定的若干行程
序中找出错误并改正,不要求运行。
但一定要注意保存,否则不得分。
(3)编程题:
编程题的源程序文件名为“prog1.c”,要求将程序中fun()函数的函数体
补充完成,实现题目中所要求的功能。
需要注意的是,编程题一定要运行,必须要有运行结
果。
因为编程题的评分不是根据考生填写的程序,而是根据程序的运行结果给分。
3上机考试流程及各题型解题方法
下面以完全仿真的上机考试模拟演示系统为平台,演示上机考试的流程及填空题、改错
题和编程题的解题方法。
上机考试的整个过程可以分为:
登录、答题和交卷三个阶段。
请读者一定要注意每个细
节,并反复进行练习,不要出现错漏。
3.1登录
(1)双击桌面上的上机考试系统的图标后,弹出图1所示的界面。
上机考试指导
图1登录界面
(2)单击“开始登录”按钮后,转入考试登录界面。
如图2所示。
图2准考证号输入与验证界面
(3)在“准考证号”一栏输入考生的准考证号码,然后单击“考号验证”按钮(或按
Enter键)。
如果准考证号码输入正确,考试系统随即会弹出一个提示框,显示考生的准考证
号码、姓名和身份证号码三种信息,如图3所示;如过准考证号码输入错误,考试系统也会
弹出一个提示框,显示错误信息(如图4所示),提醒考生重新输入准考证号码。
2010年3月考试专用
图3考生信息核对提示框
图4错误信息提示框
(4)在核对“准考证号码”、“姓名”和“身份证号码”三种无误后,单击提示框上的
“是(Y)”按钮,考试系统开始随机抽取试题。
抽取试题结束后,弹出“考试须知”界面(如
图5所示),考生须注意阅读。
尤其要注意:
图5“考试须知”界面
注意:
到目前为止的所有操作所花的时间都不会计入考试时间,因此考生可以从容操作,仔
细阅读“考试须知”,切勿出错。
(5)在单击“开始答案并倒计时”按钮后,随即弹出考试界面(如图6所示),考试正
式开始并倒计时。
图6考试界面
3.2答题
(1)考试界面分成“状态信息条”(图7)和“试题内容查阅窗口”(图8)两个部分。
“状态信息条”用于显示考生的准考证号码、考试科目、考试剩余时间等信息。
单击“隐藏
窗口”按钮可以将“试题内容查阅窗口”最小化,再单击一次则会恢复。
注意,在确认已经
完成所有试题之前,切勿点击“交卷”按钮。
上机考试指导
图7状态信息条
图8试题内容查阅窗口
(2)“试题内容查询窗口”用于显示填空题、改错题和编程题的题目内容。
单击“程序
填空题”按钮,则下方的“内容显示窗口”就会显示填空题的题目;单击“程序改错题”按
钮,则下方的“内容显示窗口”就会显示填空题的题目;单击“程序设计题”按钮,则下方
的“内容显示窗口”就会显示编程题的题目。
当“试题内容查询窗口”中显示上下或左右滚
动条时,表示该窗口中的试题尚未完全显示,此时考生可用鼠标操作显示余下的试题内容,
防止因漏做试题二影响考试成绩。
“考生文件夹”下面的路径即属于该考生的文件夹,考生可以根据该路径从“我的电脑”
中找到自己的考生文件夹(如图9所示)。
该文件中有4个文件,分别是“blank1.c”(填空
题的程序)、modi1.c”(改错题的程序)、prog1.c”(编程题的程序)和“in.dat”。
需要说明
的是,有些计算机不会显示文件的后缀名。
图9考生文件夹
注意:
考生一定要在属于自己的考生文件夹下的程序中作答,否则将不会得分。
为了不找错文件夹,考生也可以使用“试题内容查询窗口”中的“答题”菜单栏。
单击
2010年3月考试专用
“答题”菜单栏,会弹出一个下拉菜单(如图10)所示。
单击“Blank1.c”,考试系统就会
自动调用VC打开考生文件下的程序“blank1.c”;单击“Modi1.c”,考试系统就会自动调用
VC打开考生文件下的程序“modi1.c”;单击“Prog1.c”,考试系统就会自动调用VC打开考
生文件下的程序“prog1.c”。
使用这种方法,就不会找错考生文件夹。
图10“答题”下拉菜单
注意:
有的考试系统中,单击“答题”菜单栏弹出的下拉菜单显示的是“填空题”、“改错
题”和“编程题”,这不会有影响。
(3)做程序填空题时,首先单击“程序填空题”按钮,阅读题目,理解题意。
程序填
空题的题目如图11所示。
图11程序填空题题目
然后使用VC打开考生文件下的程序“blank1.c”,该题的程序如下所示:
#include
#include
#defineN8
typedefstructlist
{
intdata;
structlist*next;
}SLIST;
SLIST*creatlist(int*);
voidoutlist(SLIST*);
intfun(SLIST*h)
{
SLIST*p;
上机考试指导
ints=0;
p=h>next;
while(p)
{
/**********found**********/
s+=___1___
/**********found**********/
p=___2___
}
returns;
}
main()
{
SLIST*head;
inta[N]={12,87,45,32,91,16,20,48};
head=creatlist(a);outlist(head);
/**********found**********/
printf("\nsum=%d\n",fun(___3___));
}
SLIST*creatlist(inta[])
{
SLIST*h,*p,*q;inti;
h=p=(SLIST*)malloc(sizeof(SLIST));
for(i=0;i{q=(SLIST*)malloc(sizeof(SLIST));
q>data=a[i];p>next=q;p=q;
}
p>next=0;
returnh;
}
voidoutlist(SLIST*h)
{
SLIST*p;
p=h>next;
if(p==NULL)printf("ThelistisNULL!
\n");
else
{printf("\nHead");
do
{printf(">%d",p>data);p=p>next;}
while(p!
=NULL);
printf(">End\n");
}
}
在每一个注释行“/********found********/”的下方,都有一个形如“___x___”(x代
表数字1、2或3)的空。
考生要做的就是将“___x___”删去,然后填上正确的答案,如下
所示:
………………………………
2010年3月考试专用
………………………………
………………………………
intfun(SLIST*h)
{
SLIST*p;
ints=0;
p=h>next;
while(p)
{
/**********found**********/
s+=p>data;
/**********found**********/
p=p>next;
}
returns;
}
main()
{
SLIST*head;
inta[N]={12,87,45,32,91,16,20,48};
head=creatlist(a);outlist(head);
/**********found**********/
printf("\nsum=%d\n",fun(head));
}
………………………………
………………………………
………………………………
注意:
程序填空题不要求运行,但一定要保存。
出于保险考虑,考生可以运行程序查看结果。
程序填空题是否被运行,不影响考生的得分。
(4)做程序改错时,首先单击“程序修改题”按钮,阅读题目,理解题意。
程序修改
题的题目如图12所示。
图12程序修改题题目
然后使用VC打开考生文件下的程序“modi1.c”,该题的程序如下所示:
#include
上机考试指导
doublefun(intm)
{
doublet=1.0;
inti;
for(i=2;i<=m;i++)
/**********found**********/
t+=1.0/k;
/**********found**********/
________
}
main()
{
intm;
printf("\nPleaseenter1integernumber:
");
scanf("%d",&m);
printf("\nTheresultis%lf\n",fun(m));
}
在每一个注释行“/********found********/”的下方,都有一行或几行程序,其中有一
个(类)错误,考生须找出这个错误并改正,例如第一个注释行“/********found********/”
的下方只有一行程序“t+=1.0/k”,应将其改为“t+=1.0/i”。
有的注释行
“/********found********/”下方会出现这样的行“_____________”,这实际上就是一个填
空题,考生要做的就是把“_____________”删去,然后填上正确答案。
例如第二个注释行
“/********found********/”的下方就有一个“_____________”,将其删去,然后填上“return
t;”,改正后的程序如下所示:
#include
doublefun(intm)
{
doublet=1.0;
inti;
for(i=2;i<=m;i++)
/**********found**********/
t+=1.0/i;
/**********found**********/
returnt;
}
main()
{
intm;
printf("\nPleaseenter1integernumber:
");
scanf("%d",&m);
printf("\nTheresultis%lf\n",fun(m));
}
程序中有多少行“/********found********/”,就说明程序中有多少个(类)错误,因
为每个“/********found********/”下方的程序中都有一个(类)错误。
一类错误是指相同的错误,例如:
/********found********/
if(a>b)
2010年3月考试专用
{
t=a
a=b
b=a
}
上面的程序中,/********found********/”下面的几行程序中有三个地方少了分号(;)
但都属于同一类错误。
任何一个“/********found********/”下方的程序中都不会出现多类错误。
注意:
程序修改题同样不要求运行,但一定要保存。
出于保险考虑,考生可以运行程序查看
结果。
程序修改题是否被运行,不影响考生的得分。
(5)做编程题时,首先单击“程序设计题”按钮,阅读题目,理解题意。
程序设计题
的题目如图13所示。
图13程序设计题题目
然后使用VC打开考生文件下的程序“prog1.c”,该题的程序如下所示:
#include
#include
voidNONO();
doublefun(intm)
{
}
main()
{
printf("%f\n",fun(20));
NONO();
}
voidNONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/
FILE*fp,*wf;
inti,n;
doubles;
上机考试指导
fp=fopen("C:
\\WEXAM\\24010001\\in.dat","r");
wf=fopen("C:
\\WEXAM\\24010001\\out.dat","w");
for(i=0;i<10;i++){
fscanf(fp,"%d",&n);
s=fun(n);
fprintf(wf,"%f\n",s);
}
fclose(fp);
fclose(wf);
}
编程题要求将fun()函数的函数体填充完整,以实现题目的要求。
程序可以编写如下:
#include
#include
voidNONO();
doublefun(intm)
{
inti;
doubles=0.0;
for(i=1;i<=m;i++)
s=s+log(i);
s=sqrt(s);
returns;
}
………………………………
………………………………
………………………………
但是,仅仅把fun()函数的函数体填充完整是不够的,即使你所填写的程序时正确的。
因为编程题并不是根据考生所填写的程序来评分的,而是根据程序的运行结果是否正确来评
分的。
因为在编写好程序后,还必须运行程序。
经编译运行后,弹出如图14所示的界面。
图14程序运行界面
有不少考生做到了这一步,但结果却一分都没有得到。
原因在于此时尽管程序已经开始
运行,但并没有运行结束。
图14所示的界面中,程序正在等待输入考生输入数据(m的值)。
因此应该从键盘上敲入一个正整数(例如20),然后按回车键。
程序随即继续运行,输出运
算结果,如图15所示。
图15程序运行结果
程序输出的结果是:
6.506583。
从题目中的例子可以得知,当m的值为20时,运算结
2010年3月考试专用
果确实是6.506583,因此可以肯定程序时正确的。
到这里为止,这个程序才算是运行结束了。
我们注意到,运行界面的最后一行是“Pressanykeytocontinue”。
这行信息并不是由程序输
出,而是VC在一个程序运行结束后,自动添加的提示信息。
因此,只有当运行界面的最末
行出现了“Pressanykeytocontinue”,一个程序才算是运行结束。
否则可能是由于程序等待
数据输入或陷入了死循环。
注意:
编程题在做好后,一定要运行并且要运行结束才可能得分。
如果程序不运行,不没有
运行结束,那么一分也得不到。
3.3交卷
至此,全部试题都解答完毕。
考试过程中,考试系统会为考生自动进行倒计时。
当考试
时间只剩下5分钟时,会弹出提示框,如图16所示。
考生单击“确认”按钮后可以继续作
答。
图16倒计时提示框
当考生时间结束,考试系统会自动锁定计算机,考生不能再进行任何操作。
考生也可以
通过单击“状态信息条”上的“交卷”按钮,提前交卷。
单击“交卷”按钮后,考试系统会
弹出提示框,如图17所示。
图17交卷提示框
考生单击“确认”按钮后,考试系统会自动锁定计算机,如图18所示。
图18考试系统锁定计算机的界面
注意:
考试系统锁定计算机后,考生还不能离开考场,切记要请监考老师来输入结束密码,
并得到监考老师的允许后方可离开考场。
请务必遵守!