计算机等级考试上机

上传人:tian****1990 文档编号:249983761 上传时间:2024-10-31 格式:PPT 页数:32 大小:202.16KB
收藏 版权申诉 举报 下载
计算机等级考试上机_第1页
第1页 / 共32页
计算机等级考试上机_第2页
第2页 / 共32页
计算机等级考试上机_第3页
第3页 / 共32页
资源描述:

《计算机等级考试上机》由会员分享,可在线阅读,更多相关《计算机等级考试上机(32页珍藏版)》请在装配图网上搜索。

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,计算机等级考试,上机指导,上机考试评分原理分析,上机考试是由计算机对考生的答题结果进行判断的,而不是人为阅卷,即计算机评分!,等级考试的上机考试是分批进行的,在相邻两批考次之间,由监考人员做该批考次结束前的“收分”工作(实际上是由计算机完成的)。也就是说,当你考完机试后,你的上机成绩就已经出来了,只是我们不知道结果罢了。当然,监考人员也不知道,因为最后分数是加密的!,评分程序在评改你的上机成绩,先从对应的考生文件夹中读取考生的答题文件,再对这些文件按照评分程序进行对比,然后给出相应的分数,最后,系统

2、自动将你的考生文件中的所有文件全部删除!,上机考试评分原理分析,对于题空题和改错题,评分程序先是读取考生文件夹下的BLAN.C和MODI.C文件,再找到其中需要填空和改错的代码所在的行数,最后与评分程序中的提供的数据进行对比。需要提醒考生注意的是,填空题和改错题的要求中明确声明:不得删减或增加程序行,就是这个道理;,对于编程题,评分程序先是读取考生文件夹下的扩展名为.DAT的文件,再其中的数据与评分程序中的提供的数据进行对比,因此,考生在编程后,一定要运行程序,以生成扩展名为.DAT的输出文件!,上机考试评分原理分析,评分程序是按照最终生成的文件给分的!由上述结论可以推出如下事实:,1.只要考

3、生能生成最终答案文件,均可得分!,2.很多最终答案文件只有少数若干行数据,分数由正确答案的行数决定!例如,真考题库中有这样一道题,要求用迭代方法计算cos(x)-x=0的一个近似根,其答案是0.739085,最终要求生成的文件OUT.DAT中只有一行数据。有这个文件,并且该文件只有一行数据0.739085的话,就可以得到100分!无所谓你是否编写了程序!当然,有多行答案的文件的格式是由程序中的输出部分决定的(而这个部分是不允许考生修改的!),考生必须能够看懂输出程序段的输出格式,否则会适得其反!,上机考试两点重要注意事项,注意事项1:,大家做上机的填空、改错、编程题的时候请务必做到两件事情:,

4、一是编译运行确认无误!,二是切记一定要保存!,特别提醒:,a、如果没有保存,无论是填空、改错还是编程题你都不能得分,相当于没有做。,b、如果编程题没有运行即使保存了都有可能不得分,所以“编译并运行”和“保存”两件事情请大家都务必办到。,c、万一有些同学不能完整的做完某一个题目无论是填空、改错还是编程,也就是说你根本无法运行这个程序,也请你把你会做的那部分填上去并保存,或许运气好会有步骤分,就当“死马当活马医”嘛,因为上机考试的评分是以机器评分为主、人工评分为辅结合进行的),上机考试两点重要注意事项,注意事项2:,很多同学在做完了前一题(例如填空BLANK1.C或改错MODI1.C等)没有关闭工

5、作区就直接打开下面的题目做(即使你点击blank1.c文件右上角的叉叉关闭了这个文件也不行,必须关闭整个工作区),这样你运行的时候永远不会正确,所以大家做完了前一题后务必关闭工作区再做下一题(操作步骤为:打开主菜单:文件-关闭工作区,很简单的),当然,如果你万一不会关闭工作区,干脆做完一题就把整个VC6.0关闭,然后重新启动VC6.0再打开下一题做也行的。,1、填空题,请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。,例如:str1=“How do”,str2=“you do?”,结果输出:How do you do?,注意:部分源程序给出如下。

6、,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。,试题程序:,#include,#include,#define N 40,void fun(char*str1,char*str2),int i=0;,char*p1=str1;,char*p2=str2;,while(【1】),i+;,for(;【2】;i+),*(p1+i)=【3】;,*(p1+i)=0;,main(),char str1N,str2N;,clrscr();,printf(*Input the string str1&,str2*n);,printf(nstr1:);,ge

7、ts(str1);,printf(nstr2:);,gets(str2);,printf(*The string str1,puts(str1);,puts(str2);,fun(str1,str2);,printf(*The new string*n);,puts(str1);,答案及评析:,【1】*(p1+i),【2】*p2,【3】*p2+,【解析】填空1:变量i用来记录字符串str1的长度,当指针指到字符串str1结束标志符0时,while循环结束,变量i停止累加。,填空2:指针p2指向字符串str2,通过for循环将字符串str2接在str1后面,循环结束的条件是指针p2所指的字符是字

8、符串结束标志符0。,填空3:指针p2最初指向字符串str2的首字符,通过自加1,使指针p2依次向后移动,指向str2的各个字符,实现将字符串str2接在str1后面的功能。,请补充函数fun(),该函数的功能是求一维数组xN的平均值,并对所得结果进行四舍五入(保留两位小数)。例如:当x10=15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0,结果为:avg=15.030000。,注意:部分源程序给出如下。,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。,试题程序:,#include,#inclu

9、de,double fun(double x10),int i;,long t;,double avg=0.0;,double sum=0.0;,for(i=0;i10;i+),【1】;,avg=sum/10;,avg=【2】;,t=【3】;,avg=(double)t/100;,return avg;,main(),double avg,x10=15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0;,int i;,clrscr();,printf(nThe original data is:n);,for(i=0;i10;i+),printf(%

10、6.1f,xi);,printf(nn);,avg=fun(x);,printf(average=%fnn,avg);,答案及评析:,【1】sum+=xi,【2】avg*1000,【3】(avg+5)/10,【解析】填空1:通过for循环求出10个数的累加和,存于变量sum中。填空2:为了实现四舍五入保留两位小数的功能,应将平均值先扩大1000倍。填空3:将平均值加上5,再除以10,实现四舍五入的功能。,请补充函数fun(),该函数的功能是:从a到z统计一个字符串中所有字母字符各自出现的次数,结果保存在数组alf中。注意:不区分大小写,不能使用字符串库函数。,例如,输入:“A=abc+5*c”

11、,结果为:a=2,b=1,c=2。,注意:部分源程序给出如下。,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。,试题程序:,#include “stdio.h”,#include “,#define N 100,void fun(char*tt,int alf),int i;char*p=tt;,for(i=0;i=A&*p=a&*p=z),alf*p-a+;,【3】;,main(),char strN;,char a=a;,int alf26,k;,clrscr();,printf(nPlease enter a char string:)

12、;,scanf(%s,str);,printf(n*The original string*n);,puts(str);,fun(str,alf);,printf(n*The number of letter*n);,for(k=0;k26;k+),if(k%5=0),printf(n);,printf(%c=%d,a+k,alfk);,printf(n);,答案及评析:,【1】alfi=0,【2】*p+=32,【3】p+,【解析】填空1:数组alf26用来存放字母字符出现的次数,在使用之前需要清零。填空2:题目要求不区分大小写,所以可以先将所有的大写字母都转换为对应的小写字母,然后一并记录出

13、现的次数。将大写字母转换为对应的小写字母,只需将ASCII码加上32就可以了。填空3:指针p指向字符串tt,通过p自加1来移动指针,访问字符串中的所有字符。,请补充函数fun(),该函数的功能是:分类统计一个字符串中元音字母和其他字符的个数(不区分大小写)。,例如,输入aeiouAOUpqrt,结果为A:2 E:1 I:1 O:2 U:2 other:4。,注意:部分源程序给出如下。,请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。,试题程序:,#include,#include,#define N 100,void fun(char*st

14、r,int bb),char*p=str;,int i=0;,for(i=0;i6;i+),【1】;,while(*p),switch(*p),case A:,case a:bb0+;break;,case E:,case e:bb1+;break;,case I:,case i:bb2+;break;,case O:,case o:bb3+;break;,case U:,case u:bb4+;break;,default:【2】;,【3】,main(),char strN,ss6=AEIOU;,int i;,int bb6;,clrscr();,printf(Input a string:

15、n);,gets(str);,printf(the string is:n);,puts(str);,fun(str,bb);,for(i=0;i=A)&(tti=A)&(tti=a)&(tti=z),【解析】错误1:函数的返回值是字符串的首地址,是指针类型,所以在函数名前要加*号。,错误2:题目要求将小写字母改为大写字母,所以if语句的判断条件是小写字母。,下列给定程序中,函数fun()的功能是:先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之积。,请改正函数fun()中的错误,使它能得出正确的结果。,注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。,

16、试题程序:,#include,int fun(),int a33,mul;,int i,j;,mul=1;,for(i=0;i3;i+),/*found*/,for(i=0;j3;j+),scanf(%d,for(i=0;i3;i+),/*found*/,mul=mul*aij;,printf(Mul=%dn,mul);,main(),fun();,答案及评析:,(1)错误:for(i=0;j3;j+),正确:for(j=0;j0),/*found*/,s=s%100;,*t=s%10*s1+*t;,s1=s1*10;,main(),long s,t;,clrscr();,printf(nPlease enter s:);,scanf(%ld,fun(s,printf(The result is:%ldn,t);,答案及评析:,(1)错误:int fun(long s,long*t),正确:void fun(long s,long*t),(2)错误:s=s%100;,正确:s=s/100;,【解析】错误1:函数由指针来完成参数的传递,所以没有返回值,应定义函数的类型为void。,错误2

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  sobing.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!