江苏高校详细计算机等级专业考试.二级C语言上机真命题地答题要点.doc

上传人:一*** 文档编号:822402 上传时间:2019-07-19 格式:DOC 页数:18 大小:103.50KB
返回 下载 相关 举报
江苏高校详细计算机等级专业考试.二级C语言上机真命题地答题要点.doc_第1页
第1页 / 共18页
江苏高校详细计算机等级专业考试.二级C语言上机真命题地答题要点.doc_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《江苏高校详细计算机等级专业考试.二级C语言上机真命题地答题要点.doc》由会员分享,可在线阅读,更多相关《江苏高校详细计算机等级专业考试.二级C语言上机真命题地答题要点.doc(18页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

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

2、har *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 月江苏省等考上机真题解析】函数编程,按【编程要求】1.编写函数 int palindrome(char *str, char *r)。.要点:函数首部完整照抄。参数为指针时,若对指针不熟悉, 在函数体内可以按数组编程。/ 江苏省高等学校非计算机专业学生(C01) 计算机基础知识和应用能力等级考试上机试卷 二级 C 语言(试卷代号 C01) (本试卷完成时间 70 分钟)一、改错题(16 分) 【程序功能】 判断一个 NN

4、方阵(N 为奇数)是否为魔方阵。魔方阵的判定条件是:方阵中每行、每列、主对角 线及副对角线上的数据之和均相等。 例如,以下方阵中,主对角线的数据是 8、5、2 之和是 15,副对角线上的数据 6、5、4 之和也是 15,并且每行、每列数据之和 15,因此该项方阵是魔方阵。 8 1 6 3 5 7 4 9 2 【测试数据与运行结果】 屏幕输出: 8 1 6 3 5 7 4 9 2 The Array x is a magic square. 1 2 3 5 6 4 9 8 7 The Array x isnt a magic square. 【含有错误的源程序】以下源程序已保存在 T 盘 myf

5、1.c 文件内,考生可直接打开该文件测试程序。 #include #include #include #define N 3 void fun(int (*a)N) int i,j,m1,m2,row,colum;m1=m2=0;for(i=0; i #include /*该头文件是调用 getch()函数需要的*/ #include #define N 3 int fun(int (*a)N) /1、函数要求调用有返回值,void fun(int (*a)N)函数类型设置错误 int i,j,m1,m2,row,colum;m1=m2=0;for(i=0; i int data_palind

6、rome(long s) long k=s,h=0;while(k)h=h*10+k%10,k/=10;if(h=s) return 1;return 0; int main() long a;scanf(“%ld“,if(data_palindrome(a) printf(“%ld is palindrome“,a);else printf(“%ld isnt palindrome“,a); 【编程题解答:myf2.c】#include #include /库函数 strlen()需要 #include /库函数 isdigit()、strcpy()需要,书 P386 int Judger(

7、char a) /判断字符串 a 是否是回文字符串的通用函数/ int n=0,i,j;n=strlen(a);for(i=0,j=n-1;i #include #include void substitution(char*,char*,char*); int main() char s80=“ aaacdaaaaaaaefaaaghaa“,t2=“aaa“,g=“22“;puts(s);substitution(s,t,g);puts(s);getch(); void substitution(char *,char *,char *) ; int i,j,k;char temp80; f

8、or(i=0;si=0;i+) for(j=i,k=0;sj=tkj+,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 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但/ 不能增加其它语句,也不能删去整条语句。 3 改正后的源程序(文件名 myfl.c)保存在 T 盘的根目录中供阅卷使用,否则不予评分。二、编程题

9、(24 分) 【程序功能】 在一组数值不全全的整数中查找次大数。 【编程要求】1、编写函数 int findsecmax(int data, int count)。函数功能:在 data 数组的前 count 个整数中查找次大 数。 2、编写函数 main()。函数功能:声明一个整型数组 a 并用测试数据初始化,用数组 a 及数组元素个 数作实参调用 findsecmax 函数找出次大数,然后将原数组及次大数输出到屏幕及数据文件 myf2.out 中。最后将考生本人的准考证号字符串输出到文件 myf2.out 中。【测试数据与运行结果】 测试数据:1,9,2,8,3,7,4,6,10,10 屏

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

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

12、 *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=tkj+,k+);if(tk=0) strcpy(temp,s+j); /6、字符串赋值用库函数 strcpy:temp=s+j; strcpy(s+i,g);strcat(s,temp);i+=strlen(g)-1; 【编程题解答:myf2.c】解题思路:。编程的关键是需要知道库函数所需要的相应的头文件名。此

13、题较简单。#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;isecmax) secmax=datai;return secmax; void main() FILE *fp;int i,a20=1,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);

14、 sec_max=findsecmax(a,count); for(i=0;i #include #include int prime(int n;) int i;for(i=2;i #include #include int prime(int n) /1、函数的形参出错 int n;int n int i;for(i=2;i #include /库函数 strcat()和 strcpy()需要 #include /库函数 isdigit()需要 #include /库函数 exit(0)需要 #include /库函数 getch()需要 void move(char *s) int i=

15、0, j=0,k,m=strlen(s);char a20,b20; for(k=0;k #include int prime(int n) int i; for(i=1;i0) fun(a20,n, printf(“%d=%dn“,n,a0);for(i=1;i5?i #include int prime(int n) /*原题说明:该段程序功能是判断 n 是否是素数*/ int i;for(i=2;i0) /原题说明:合数不是质数:!prime(n) /3、函数调用时实参出错:a20,n,counta,n, /4、连续输出,错误是 printf(“%d=%dn“,n,a0);for(i=1

16、;i”。 排序采用简单汽泡升序法,不建议采用选择法、双向汽泡法等。 其次是,需要知道库函数所需要的相应的头文件名,下面一一予以注释。 【编程题解答:myf2.c】#include #include /库函数 exit(0)需要 #include /库函数 getch()需要 #define M 3 #define N 4 struct student char num20,name20; /*学号、姓名*/float score; /*课程成绩*/ ; void merge(struct student a, int ma, struct student b, int mb, struct s

17、tudent c) struct student temp;int i,j,k=0; for(i=0;icj+1.score) temp=cj;cj=cj+1;cj+1=temp; void main() struct student aM=“2“,“Li“,81,“1“,“Ma“,83,“4“,“Zhao“,85;struct student bN=“7“,“Zhang“,80,“3“,“Guo“,84,“5“,“Wu“,86,“6“,“Ye“,88; struct student c10;FILE *fp;/int i;if(fp=fopen(“myf2.out“,“w“)=NULL) printf(“nCant open the file!“); exit (0);merge(a,M,b,N,c); for(i=0;iM+N;i+)printf(“n%2s%6s %f“,ci.num,ci.name,ci.score),fprintf(fp, “n%2s%6s %f“,ci.num,ci.name, ci.score);printf(“nMy number is:120992340n“); fprintf(fp,“nMy number is:1292340n“);fclose(fp); /*操作结束,关闭文件 fp 书 P334 */getch();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com