ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:96.65KB ,
资源ID:7625450      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7625450.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(秋秋江苏计算机等级考试上机要点.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

秋秋江苏计算机等级考试上机要点.docx

1、秋秋江苏计算机等级考试上机要点【对2011年10月16日江苏省高校计算机等级考试C语言上机题的评价:】经过对C01和C02两套上机题的分析和考生现场考试状态观察,本次上机考试的难度与2011春相比有所下降,具体分析总结如下:1、 改错题难度下降幅度较大;2、 从考生上机完成的情况来看,C01试卷难度低于C02:C01考场,凡是经过江苏省高校计算机C上机题多次模拟练习者都提前完成了上机考试;C02考场,大多数对完成上机题感到有一定难度:对于改错题,由于命题违背了“不能增加其它语句,也不能删去整条语句”的命题规定,学生按照规定,调不出正确答案(见后分析);对于编程题,考生如果参考了网上“预测计算机

2、等级考试的C语言上机编程题(矩阵)_张柏雄.doc”一文,C02编程题采用比较简易的、占用内存较多的方法,就很快做出来了(见下面C02题解和说明);3、 与2011年秋全国计算机C语言的上机题(网上“2011年9月17日全国计算机等级考试C语言十道上机题及其解析_张柏雄.doc”)相比,难度差不多,但如果不熟悉全国计算机C语言的上机题命题思路,则感觉全国更难;同样,在高校“C语言程序”课中不对江苏省高校计算机考试C的上机题进行多次模拟练习,则对江苏省题也是一筹莫展,难以取得理想的成绩。【C01原始题目】江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷(2011秋)二级 C

3、语言(试卷代号C01)(本试卷完成时间 70分钟)一、 改错题(16分)【程序功能】验证猜想:当f为41,x分别取1、2、3、4、40时,由多项式x2-x+f产生的数均为素数。以下程序首先用多项式x2-x+f产生40个整数存放在a指向的数组中,然后判断a数组中各元素的值是否均为素数,如果是则输出“YES”,并将a指向的数组中的素数按每行10个数的形式输出“NO”。【测试数据与运行结果】屏幕输出:YES41 43 47 53 61 71 83 97 113 131151 173 197 223 251 281 313 347 383 421461 1033 1097 1163 1231 1301

4、 1373 1447 1523 1601【含有错误的源程序】#include #include int allprime(int n, int a) int i,j,b; for(i=0;in;i+) bi=1; for(j=1;jai/2;j+) if(ai%j=0) bi=0; for(i=0;in;i+) if(0=bi) return 0; return 1;void main() int i,j,x0=1,x1=40,f=41,a40; for(j=x0;j=x1;j+) aj-1=j*j-j+f; j-; if(allprime(j,a) printf(nYESn); for(i=

5、0;ij;i+) printf(%dt,ai); if(i+1)%10=0) printf(n); else printf(nNOn); getch(); 【要求】1. 打开T盘中myfl.c或将上述程序录入到myfl.c文件中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。3. 改正后的源程序(文件名myfl.c)保存在T盘的根目录中供阅卷使用,否则不予评分。二、编程题(24分)【程序功能】在已有的一份姓名登记表中删除重复出现的姓名,输出处理后和

6、姓名登记表。【编程要求】1、编写函数int del_name(char s20, int n)。函数功能:在s指向的数组前n行中存储的n个字符串中删除重复出现的字符串,只保留第一次出现的字符串,函数返回s指向的数组中剩余的字符串个数。2、编写函数main()。函数功能:声明name并用测试数据初始化,用name作实参调用函数del_name,将经过删除后name数组中剩余的字符输出到屏幕及数据文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。【测试数据与运行结果】测试数据:Ann,Belle,David,Ann,Mary,Belle,Ken,Ann,Mark,Mar

7、y屏幕输出: AnnBelleDevidMaryKenMark【要求】1. 源程序文件名为myf2.c,输出结果文件名为myf2.out。2. 数据文件的打开、使用、关闭均用C语言标准库中文件操作函数实现。3. 源程序文件和运行结果文件均需保存到T盘上,供阅卷使用。4. 不要复制扩展名为obj和exe的文件到T盘上。C语言(试卷代号C01)答案【C01改错题参考答案】#include #include /*库函数getch()需要而增加头文件*/int allprime(int n, int a) int i,j,b40; for(i=0;in;i+) bi=1; for(j=2;jai/2;

8、j+) /*错误1、判断素数时,用2到该数二分之一去除*/ if(ai%j=0) bi=0; for(i=0;in;i+) if(bi=0) /*错误2、逻辑判断表达式0=bi,应该用bi=0*/ return 0; return 1;void main() int i,j,x0=1,x1=40,f=41,a40; for(j=x0;j=x1;j+) aj-1=j*j-j+f; j-; if(allprime(j,a) /*错误3、函数调用的实参a错误,应该用数组首地址a*/ printf(nYESn); for(i=0;ij;i+) printf(%dt,ai); if(i+1)%10=0)

9、 printf(n); else printf(nNOn); getch();【C01编程题参考答案】【解题思路】C01编程题看起来比较容易,但隐藏杀机。如何实现实参数组name,逐步将重复项删除,函数返回值是不重复的剩余字符串个数。所以,解题时设置中间变量k,使它对字符串重复项删除的同时,自动减少。此外设置标志变量flag,每次设置为1,只要出现一个重复项,则flag变为0,以后的重复字符串,再不使改变函数返回值了。还有,不管第一次,还是以后出现重复项,在出现处都进行字符串向前移动动作:for(m=j;mk;m+) strcpy(sm,sm+1);。#include #include /*库

10、函数exit(0)需要*/#include #include /*库函数getch()需要*/int del_name(char s20, int n) int i,j,k=n,m,flag; for(i=0;i=k;i+) flag=1; for(j=i+1;j=k;j+) if(strcmp(si,sj)=0) if(flag=1) -k;flag=0; for(m=j;mk;m+) strcpy(sm,sm+1); return k;void main() int n=10,i,k; char name20=Ann,Belle,David,Ann,Mary,Belle,Ken,Ann,M

11、ark,Mary;FILE *fp; if(fp=fopen(myf2.out,w)=NULL) printf(nCant open the file!); exit(0); printf(n); fprintf(fp,n); k=del_name(name,n); for(i=0;ik;i+) printf(%sn,namei);fprintf(fp,%sn,namei); printf(nMy number is:1030107123n); fprintf(fp,nMy number is:1030107123n); fclose(fp); getch();【C02原始题目】江苏省高等学校

12、非计算机专业学生计算机基础知识和应用能力等级考试上机试卷(2011秋)二级 C语言(试卷代号C02)(本试卷完成时间 70分钟)二、 改错题(16分)【程序功能】核对密码。首先在用户输入的表示密码的字符串中,找到ASCII编码值最大的字符并在其后插入子串ve;然后再用加工后的密码字符串与程序内设置的密码作对比,若相同则输出“right”及用户输入的密码;若不相同则提示用户重新输入密码。用户三次输入的密码均不正确时终止程序的运行。【测试数据与运行结果】输入:love屏幕输出:wrong! you have 2 chances!输入:lo屏幕输出:right! your password id:l

13、o【含有错误的源程序】#include #include #include void insert(char str);void main() char str180,str280,password80= love; int i; for(i=0;imax) max=stri; j=i; for(i=strlen(str);i=j;i-) stri+2=stri; stri+1=v,stri+2=e;【要求】1 将上述程序录入到文件myfl.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命

14、令,但不能增加其它语句,也不能删去整条语句。3 改正后的源程序(文件名myfl.c)保存在T:盘的根目录中供阅卷使用,否则不予评分。二、编程题(24分)【程序功能】将一个n阶方阵(n为偶数)分为四个n/2阶子方阵,然后将4个子方阵按顺时钟方向轮转一次。如下图所示。1 2 3 4 5 6 19 20 21 1 2 37 8 9 10 11 12 25 26 27 7 8 913 14 15 16 17 18 31 32 33 13 14 15顺时钟轮转一次19 20 21 22 23 24 22 23 24 4 5 625 25 27 28 29 30 28 29 30 10 11 1231 3

15、2 33 34 35 36 34 35 36 16 17 18【编程要求】1. 编写函数void cycle(int a10, int m)。函数功能:将a指向的数组中存储的n阶方阵分成四个方阵(如上图所示),对矩阵做一次顺时钟轮转操作,轮转后的n阶方阵仍保存在a指向的数组中。2、编写main()。函数功能:声明一个10行10列二维数组,输入方阵阶数n(n10且为偶数),在二维数组中生成一个n阶方阵(数组元素的值按行顺序置为1-n2)。用二维数组作实参调用cycle函数。将二维数组中存储的经过轮转操作后的方阵输出到屏幕和数据文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.o

16、ut中。【测试数据与运行结果】输入: n=6屏幕输出:19 20 21 1 2 325 26 27 7 8 931 32 33 13 14 1522 23 24 4 5 628 29 30 10 11 1234 35 36 16 17 18【要求】1 源程序文件名必须取为myf2.c,输出结果文件名为myf2.out。2 数据文件的打开、使用、关闭均用C语言标准库中的文件操作函数实现。3 源程序文件和运行结果文件均需保存到T盘上,供阅卷使用。4 不要复制扩展名为obj和exe的文件到T盘上。【C02改错题参考答案】#include #include #include void insert(c

17、har str);void main() char str180,str280,password80= love; int i; for(i=0;imax) max=stri; j=i; for(i=strlen(str);i=j;i-) stri+2=stri; strj+1=v,strj+2=e,strj+3=0; /*2字符赋值错,缺少字符串结束符,违背了命题几项规定*/【C02改错题命题剖析】对于函数void insert(char str)段,命题者意即找出字符串最大值位置max及其下标j,以后将字符串结束符0后移两位,在最大值下标后加上ve,意获得love结果。但经过for(i=s

18、trlen(str);i=j;i-)程序段后i变为0,失去了原始命题的初衷,只能获得lveo错误结果(详见下图显示),此外,字符串结束符0不能作为字符进行移动处理!【C02编程题参考答案】#include #include /*库函数exit()需要*/#include /*库函数getch()需要*/void cycle(int a10, int n) /*取材于预测计算机等级考试的C语言上机编程题(矩阵)_张柏雄.doc第2题解*/ int i,j,b33=0; for(i=0;in/2;i+) /*方阵右上角33子方阵存入数组b*/ for(j=0;jn/2;j+) bij=aij+n/

19、2; for(i=0;in/2;i+) /*方阵左上角33子方阵存入方阵右上角33子方阵*/ for(j=0;jn/2;j+) aij+n/2=aij; for(i=0;in/2;i+) /*方阵左下角33子方阵存入方阵左上角33子方阵*/ for(j=0;jn/2;j+) aij=ai+n/2j; for(i=0;in/2;i+) /*方阵右下角33子方阵存入方阵左下角33子方阵*/ for(j=0;jn/2;j+) ai+n/2j=ai+n/2j+n/2; for(i=0;in/2;i+) /*方阵b方阵存入方阵右下角33子方阵*/ for(j=0;jn/2;j+) ai+n/2j+n/2

20、=bij;void main() int x1010=0,i,j,n=7; FILE *fp; if(fp=fopen(myf2.out,w)=NULL) printf(nCant open the file!); exit(0); printf(n); fprintf(fp,n); while(n%2!=0) /*要求输入数值是偶数*/ printf(n=);scanf(%d,&n); for(i=0;in;i+) /*取材于预测计算机等级考试的C语言上机编程题(矩阵)_张柏雄.doc第2题解*/ for(j=0;jn;j+) xij=i*n+j+1; cycle(x,n); printf(

21、n); fprintf(fp,n); for(i=0;in;i+) for(j=0;jn;j+) printf(%dt,xij),fprintf(fp,%dt,xij); printf(n);fprintf(fp,n); printf(nMy number is:1030107123n); fprintf(fp,nMy number is:1030107123n); fclose(fp); getch();江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷(2012春)二级 C语言(试卷代号C01)(本试卷完成时间 70分钟)三、 改错题(16分)【程序功能】以下程序中函数

22、void csort(char strN,int n)对str指向的二级数组前n行中存储的n个字符串分别做如下处理:从中间将字符串一分为二,左半部分字符子串按字符的ASCII码从大到小排序(若字符串长度为奇数,则中间字符不参加排序)。【测试数据与运行结果】测试字符串:”abcdefgh”,”123498765”屏幕输出:dcbaefgh432198765【含有错误的源程序】#include#include#include#define N 80void csort(char strN,int n); void main() char s2N=abcdefgh,123498765; int i;

23、 csort(s,2); for(i=0;i2;i+) puts(s); getch();void csort(char strN,int n) int i,j,k,len,half; char temp; for(i=0;in;i+) len=strlen(stri0); half=len/2; for(j=0;jhalf-1;j+) for(k=j+1;khalf-1;k+) if(strijstrik) temp=strij; strij=strik; strik=temp; 【要求】4. 打开T盘中myfl.c文件或将上述程序录入到myf1.c文件中,根据题目要求及程序中语句之间的逻辑

24、关系对程序中的错误进行修改。5. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。6. 改正后的源程序(文件名myfl.c)保存在T盘的根目录中供阅卷使用,否则不予评分。二、编程题(24分)【程序功能】对于所给的一个自然数n,查找并输出所有满足以下条件的等差数列:公差为1;数列中各项数值之和等于n。【编程要求】1、编写函数int found(int a30, int n)。函数功能:查找满足上述条件的所有等差数列并依次将其保存到a指向的数组中(一行保存一个数列),函数返回找到的数列个数。2、编写函数main()。函数

25、功能:声明一个二级整型数组用于保存查找结果,输入一个整数并保存到变量n中(n600)。用n和整型数组作实参调用found函数,将找到的所有等差数列输出到屏幕及数据文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。【测试数据与运行结果】输入m=500屏幕输出: 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 59 60 61 62 63 64 65 66 98 99 100 101 102 500My number is 11234567【要求】5. 源程序文件名为myf2.c,输出结果文件名为myf2.out。6. 数据文件的打开、使用、关闭均用C语言标准库中文件操作函数实现。7. 源程序文件和运行结果文件均需保存到T盘上,供阅卷使用。8. 不要复制扩展名为obj和exe的文件到T盘上。【改错题解答:myf1.c】#include#include#include#define N 80void csort(char strN,int n); void main() char

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1