欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    江苏省高校计算机专业等级考试二级C语言上机真题的答题要点1doc.docx

    • 资源ID:13652591       资源大小:56.45KB        全文页数:29页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    江苏省高校计算机专业等级考试二级C语言上机真题的答题要点1doc.docx

    1、江苏省高校计算机专业等级考试二级C语言上机真题的答题要点1doc【上机题命题及答题要点】1、 近年来江苏省高校上机题目难度有所下降。本轮上机命题的难度系数与全国计算机等级考试二级C语言接近。2、 改错题通常有34个错误。错误分为两大类,一类是语法出错,这类错误比较查错和容易修改,即在编译时报的错误 。另一类是结果出错,即程序的算法出错,这类错误需认真审题。3、 编程题必须掌握C语言的文件,应熟悉文件指针的定义,文件的打开及文件的输入输出。编程题的固定框架。必须记忆。以C01的编程为例。#include /*库函数exit(0)需要*/#include /*定义文件指针时需要的头文件*/.int

    2、 palindrome(char *str, char *r) void main() FILE *fp; 所有数据类型的说明和定义 if(fp=fopen(t:myf2.out,w)=NULL) printf(nCant open the file!); exit (0); 函数调用(具体问题具体分析) 结果输出 printf(nMy number is:120992340n); fprintf(fp,nMy number is:1292340n); fclose(fp); 4、 必须熟悉常用算法。5、 江苏省高校计算机二级C语言上机编程题常考问题:字符串相关问题、素数相关问题、回文数相关问

    3、题、矩阵(二维数组)相关问题、特殊数问题(如,合数、真因子或质因子之和、水仙花数、亲密数、完数、数制转换、哥德巴赫猜想等)。6、掌握文件输出操作标准形式。【2013年3月江苏省等考上机真题解析】江苏省高等学校非计算机专业学生(C01)计算机基础知识和应用能力等级考试上机试卷二级 C语言(试卷代号C01)(本试卷完成时间 70分钟)一、 改错题(16分)【程序功能】判断一个NN方阵(N为奇数)是否为魔方阵。魔方阵的判定条件是:方阵中每行、每列、主对角线及副对角线上的数据之和均相等。例如,以下方阵中,主对角线的数据是8、5、2之和是15,副对角线上的数据6、5、4之和也是15,并且每行、每列数据之

    4、和15,因此该项方阵是魔方阵。8 1 63 5 74 9 2【测试数据与运行结果】屏幕输出: 8 1 63 5 74 9 2The Array x is a magic square.1 2 35 6 49 8 7The Array x isnt a magic square.【含有错误的源程序】 以下源程序已保存在T盘myf1.c文件内,考生可直接打开该文件测试程序。#include #include #include #define N 3void fun(int (*a)N) int i,j,m1,m2,row,colum; m1=m2=0; for(i=0; iN; i+) m1+=a

    5、ii; m2+=aiN-i-1; if(m1!=m2) return 0; for(i=0; iN; i+) row=colum=i; for(j=0; jN; j+) row+=aij; colum+=aji; if(row!=colum)|(row!=m1) return 0; return 1; void print(int xN) int i,j; for(i=0; iN; i+) for(j=0; jN; j+) printf(%3d,xij); printf(n); int main() int xN,N=8,1,6,3,5,7,4,9,2,yN,N=1,2,3,5,6,4,9,8

    6、,7; print(x); if(fun(x) printf(The Array x is a magic square.n); else printf(The Array x isnt a magic square.n); print(y); if(fun(y) printf(The Array y is a magic square.n); else printf(The Array y isnt a magic square.n); getch(); return 0;【要求】1. 打开T盘中myfl.c文件或将上述程序录入到myf1.c文件中,根据题目要求及程序中语句之间的逻辑关系对程

    7、序中的错误进行修改。2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。3. 改正后的源程序(文件名myfl.c)保存在T盘的根目录中供阅卷使用,否则不予评分。【解析】 #include #include /*该头文件是调用getch()函数需要的*/#include #define N 3int fun(int (*a)N) /1、函数要求调用有返回值,void fun(int (*a)N)函数类型设置错误 int i,j,m1,m2,row,colum; m1=m2=0; for(i=0; iN; i+) m1

    8、+=aii; m2+=aiN-i-1; if(m1!=m2) return 0; for(i=0; iN; i+) row=colum=i; for(j=0; jN; j+) row+=aij; colum+=aji; if(row!=colum)&(row!=m1) /2、逻辑表达式出错:(row!=colum)|(row!=m1) return 0; return 1; void print(int xN) int i,j; for(i=0; iN; i+) for(j=0; jN; j+) printf(%3d,xij); /3、输出格式出错:printf(%3d,xij ); prin

    9、tf(n); int main() int xNN=8,1,6,3,5,7,4,9,2,yNN=1,2,3,5,6,4,9,8,7; /4、数组下标定义出错:xN,N和yN,N print(x); if(fun(x) printf(The Array x is a magic square.n); else printf(The Array x isnt a magic square.n); print(y); if(fun(y) printf(The Array y is a magic square.n); else printf(The Array y isnt a magic squa

    10、re.n); getch(); return 0;二、编程题(24分)【程序功能】检查一个字符串中中所有数字字符所对应整数(例如,字符1所对应的整数为1,其他依次类推)之和是否为3的倍数;判断该字符串是否回文字符串(回文字符串:正序和倒序相同的字符串。例如,ab121ba是回文字符串)。【编程要求】1、编写函数int palindrome(char *str, char *r)。函数功能:检查str指向的字符串中所有数字字符所对应的整数之和是否为3的倍数,若是则将yes存储到r指向的数组中,否则将no存储到r指向的数组中.判断str指向的字符串是否是回文字符串,若是则函数返回1,否则返回0。2

    11、、编写函数main()。函数功能:声明字符型数组a和r,输入一个字符串到a数组,用a、r作实寻调用palindrome函数,若字符串中所有数字字符所对应的整数之和是3的倍数且字符串双是回文字符串,则输出该字符串及yes到屏幕及数据文件myf2.out中,否则输出no到屏幕及数据文件myf2.out中。最后将考生本人的准考证号字符串输出到文件myf2.out中。【测试数据与运行结果】测试数据:33abbba66屏幕输出: no测试数据:12abcba21屏幕输出: yes【要求】1. 源程序文件名为myf2.c,输出结果文件名为myf2.out。2. 数据文件的打开、使用、关闭均用C语言标准库中

    12、文件操作函数实现。3. 源程序文件和运行结果文件均需保存到T盘上,供阅卷使用。4. 不要复制扩展名为obj和exe的文件到T盘上。【编程题解题思路】编程的关键是知道库函数所需要的相应的头文件名。除主函数和函数palindrome外,根据C语言模块化设计特点,增加了能判断一串字符串是否是回文字符串的自编函数int Judger(char a),其中判断回文字符串的函数必须要熟记之,与此同时也要记住判断回文数(data_palindrome)和回文素数的通用函数:#include int data_palindrome(long s) long k=s,h=0; while(k) h=h*10+k

    13、%10,k/=10; if(h=s) return 1; return 0;int main() long a; scanf(%ld,&a); if(data_palindrome(a) printf(%ld is palindrome,a); else printf(%ld isnt palindrome,a);【编程题解答:myf2.c】#include #include /库函数strlen()需要#include /库函数isdigit()、strcpy()需要,书P386int Judger(char a) /判断字符串a是否是回文字符串的通用函数 int n=0,i,j; n=st

    14、rlen(a); for(i=0,j=n-1;ij;i+,j-) if(ai!=aj) return 0; return 1;int palindrome(char *str, char *r) int i=strlen(str)-1,j=0,m=0; while(stri!=-1) /计算字符串str中数字字符的数字量值之和 if(isdigit(stri) m+=(stri-48); i-; if(m%3=0&Judger(str) /满足字符串的数字量之和是3的倍数和回文字符串时返回1,并将yes存入数组元素 strcpy(r,yes);j+; return 1; else /不满足字符

    15、串的数字量之和是3的倍数和回文字符串时返回0,并将no存入数组元素 strcpy(r,no); j+; return 0;void main() FILE *fp; int i; char a210=33abbba66,12abcba21,r210; if(fp=fopen(t:myf2.out,w)=NULL) printf(nCant open the file!); exit (0); for(i=0;i2;i+) if(palindrome(ai,ri) printf(n%sn%s,ai,ri),fprintf(fp,n%sn%s,ai,ri); else printf(n%sn%s,

    16、ai,ri),fprintf(fp,n%sn%s,ai,ri); printf(nMy number is:120992340n); fprintf(fp,nMy number is:1292340n); fclose(fp); /*操作结束,关闭文件fp */蓝色的内容需记忆,并且printf函数与 fprintf函数写在一起,用逗号分隔,这样程序不容易江苏省高等学校非计算机专业学生(C04)计算机基础知识和应用能力等级考试上机试卷二级 C语言(试卷代号C04)(本试卷完成时间 70分钟)一、 改错题(16分)【程序功能】子串查找并替换。函数substition的功能是在s指向的字符串(简称

    17、s串)中查找t指向的子串(简称t串),并用g指向的字符串(简称g串)替换s串中所有的t串。【测试数据与运行结果】测试数据: s: aaacdaaaaaaaefaaaghaa t: aaa g: 22屏幕输出: 22cd2222aef22ghaa 【含有错误的源程序】以下源程序已保存在T盘myf1.c文件内,考生可直接打开该文件测试程序。#include #include #include void substitution(char*,char*,char*); int main() char s80= aaacdaaaaaaaefaaaghaa,t2=aaa,g=22; puts(s); s

    18、ubstitution(s,t,g); puts(s); getch();void substitution(char *,char *,char *) ; int i,j,k; char temp80; for(i=0;si=0;i+) for(j=i,k=0;sj=tk&tk!=0;j+,k+); if(tk=0) temp=s+j; strcpy(s+i,g); strcat(s,temp); i+=strlen(g)-1; 【要求】1打开T盘中myfl.c文件或将上述程序录入到myf1.c文件中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2 改错时,可以修改语句中的

    19、一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。3 改正后的源程序(文件名myfl.c)保存在T盘的根目录中供阅卷使用,否则不予评分。二、编程题(24分)【程序功能】在一组数值不全全的整数中查找次大数。【编程要求】1、编写函数int findsecmax(int data, int count)。函数功能:在data数组的前count个整数中查找次大数。2、编写函数main()。函数功能:声明一个整型数组a并用测试数据初始化,用数组a及数组元素个数作实参调用findsecmax 函数找出次大数,然后将原数组及次大数输出到屏幕及数据文件myf

    20、2.out中。最后将考生本人的准考证号字符串输出到文件myf2.out中。【测试数据与运行结果】测试数据:1,9,2,8,3,7,4,6,10,10屏幕输出: 1 9 2 8 37 4 6 10 10Sec_max: 9【要求】1.源程序文件名为myf2.c,输出结果文件名为myf2.out。2.数据文件的打开、使用、关闭均用C语言标准库中文件操作函数实现。3.源程序文件和运行结果文件均需保存到T盘上,供阅卷使用。4.不要复制扩展名为obj和exe的文件到T盘上。【改错题解答:myf1.c】此题比较简单。按照标准,原程序存在6个错误,所以每个错误,若改正,则得3分。实际命题教师只认4个错误:1

    21、、2、5、6,此时每题4分。#include #include #include void substitution(char*s,char*t,char*g); /1、自定义函数的声明语句出错void substitution(char*,char*,char*);int main() char s80= aaacdaaaaaaaefaaaghaa,t4=aaa,g3=22; /2、字符串数组下标填写为大于或等于字符数加1 puts(s); substitution(s,t,g); puts(s); getch(); return 0; /3、主函数有类型定义,在TC30编译时必须有返回语句

    22、void substitution(char *s,char *t,char *g) /4、自定义函数的函数头出错void substitution(char*,char*,char*); int i,j,k; char temp80; for(i=0;si!=0;i+) /5、循环语句终结条件出错:si=0。否则不执行循环语句 for(j=i,k=0;sj=tk&tk!=0;j+,k+); if(tk=0) strcpy(temp,s+j); /6、字符串赋值用库函数strcpy:temp=s+j; strcpy(s+i,g); strcat(s,temp); i+=strlen(g)-1;

    23、 【编程题解答:myf2.c】解题思路:。编程的关键是需要知道库函数所需要的相应的头文件名。此题较简单。#include int findsecmax(int data, int count) int i, j=0,secmax=0,max=data0,b10; for(i=1;imax) max=datai;for(i=0;icount;i+) /排除最大值后的整数数据放入临时数组b if(datai!=max) bj+=datai; for(i=0;isecmax) secmax=datai; return secmax;void main() FILE *fp; int i,a20=1,

    24、9,2,8,3,7,4,6,10,10,count=10,sec_max; if(fp=fopen(myf2.out,w)=NULL) printf(nCant open the file!); exit (0); sec_max=findsecmax(a,count); for(i=0;icount;i+) printf(i+1)%5=0?%4dn:%4d,ai),fprintf(fp,i%5=0?%4dn:%4d,ai); printf(nsec_max:%4d,sec_max),fprintf(fp, nsec_max:%4d,sec_max); printf(nMy number is

    25、:120992340n); fprintf(fp,nMy number is:1292340n); fclose(fp); /*操作结束,关闭文件fp */ 江苏省高等学校非计算机专业学生(C05)计算机基础知识和应用能力等级考试上机试卷二级 C语言(试卷代号C05)(本试卷完成时间 70分钟)一、 改错题(16分)【程序功能】找出找出所有符合条件的数列:由6个素数组成;数列中每一项的值在7360之间;数列是一个公差为30的等差数列。简称这样的数列为等差素数数列。例如,7 37 67 97 127 157就是符合上述条件的一个等差素数数列。函数series将xy范围内所有符合上述条件的等差素数

    26、数列依次保存到a指向的二维数组中(一行保存一个数列)。【测试数据与运行结果】屏幕输出: 7 37 67 127 157 107 137 167 197 227 257【含有错误的源程序】以下源程序已保存在T盘myf1.c文件内,考生可直接打开该文件测试程序。#include#include #includeint prime(int n;) int i; for(i=2;i=(int)sqrt(n);i+) if(n%i=0) return 0; return 1;int series(int a6,int x,int y) int d=30,i=0,n=x,j,f; while(n=2|pr

    27、ime(n) n+; while(ny-5*d) f=1; for(j=0;j6; j+) if(prime(n+j*d)=0) f=0; break; if(f) for(j=0;j6;j+) aij=n+j*d; i+; n+=2; return i;int main() int a306,i,j,count; count=series(int a6,7,360); for(i=0;icount;i+) for(j=0;j6;j+) printf(%5d,aij); printf(n); getch(); return 0; 【要求】1.打开T盘中myfl.c文件或将上述程序录入到myf1.c文件中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句


    注意事项

    本文(江苏省高校计算机专业等级考试二级C语言上机真题的答题要点1doc.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开