【计算机类职业资格】全国计算机等级考试二级C语言机试真题2009年3月及答案解析.doc

上传人:sumcourage256 文档编号:1329699 上传时间:2019-10-17 格式:DOC 页数:6 大小:36.50KB
下载 相关 举报
【计算机类职业资格】全国计算机等级考试二级C语言机试真题2009年3月及答案解析.doc_第1页
第1页 / 共6页
【计算机类职业资格】全国计算机等级考试二级C语言机试真题2009年3月及答案解析.doc_第2页
第2页 / 共6页
【计算机类职业资格】全国计算机等级考试二级C语言机试真题2009年3月及答案解析.doc_第3页
第3页 / 共6页
【计算机类职业资格】全国计算机等级考试二级C语言机试真题2009年3月及答案解析.doc_第4页
第4页 / 共6页
【计算机类职业资格】全国计算机等级考试二级C语言机试真题2009年3月及答案解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、全国计算机等级考试二级 C 语言机试真题 2009 年 3 月及答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.请补充 fun 函数,该函数的功能是:按0到9统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组 num 中。注意:不能使用字符串库函数。例如,输入“x=1123.456+0.909*bc”,结果为:1=2,3=1,5=1,7=0,9=2。注意 部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的横线上填入所编写的若干表达式或语句。试题源程序#includeconio.h#inclu

2、destdio.h#define N 20fun(char*tt, int num)int i, j;int bb10;char *p=tt;for(i=0;i10; i+)numi=0;bbi=0;while( (1) )if(*p=0*p=9)(2) ;p+;for(i=i, J=0; i10; i=i+2, j+)(3) ;main()char strN;int num10, k;cirscr();printf(“/nplease enter a string:“);gets(str);printf(“/n*The original string*/n“);puts(str);fun(s

3、tr, num);printf(“/n*The number of letter*/n”);for(k=0; k5; k+)printf(“/n“);printf(“%d=%d “, 2*k+1, humk);printf(“/n“);return;(分数:30.00)填空项 1:_二、程序修改(总题数:1,分数:30.00)2.给定程序中函数 fun 的功能是:根据整型形参 m,计算如下公式的值。(分数:30.00)_三、程序设计(总题数:1,分数:40.00)3.学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是:按分数的高低排列

4、学生的记录,高分在前。注意 部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。试题源程序#includestdio.h#define N 16typedef structchar numi0;int s;STREC;int fun(STREC a)main()STREC sN=“GA005“, 85, “GA003“, 76, “GA002“, 69, “GA004“, 85, “GA001“, 91, “GA007“, 72, “GA008“, 64, “GA006“, 87, “GA015“, 85, “GA013“,

5、91, “GA012“, 64, “GA014“, 91, “GA011“, 66, “GA017“, 64, “GA018“, 64, “GA016“, 72;int i;FILE *out;fun(s);printf(“The data after sorted:/n“);for(i=0;iN; i+)if(i)%4=0)printf(“/n“);printf(“%s%4d“, si. num, si.s);printf(“/n“);(分数:40.00)_全国计算机等级考试二级 C 语言机试真题 2009 年 3 月答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数

6、1,分数:30.00)1.请补充 fun 函数,该函数的功能是:按0到9统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组 num 中。注意:不能使用字符串库函数。例如,输入“x=1123.456+0.909*bc”,结果为:1=2,3=1,5=1,7=0,9=2。注意 部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的横线上填入所编写的若干表达式或语句。试题源程序#includeconio.h#includestdio.h#define N 20fun(char*tt, int num)int i, j;int bb10;char *p=t

7、t;for(i=0;i10; i+)numi=0;bbi=0;while( (1) )if(*p=0*p=9)(2) ;p+;for(i=i, J=0; i10; i=i+2, j+)(3) ;main()char strN;int num10, k;cirscr();printf(“/nplease enter a string:“);gets(str);printf(“/n*The original string*/n“);puts(str);fun(str, num);printf(“/n*The number of letter*/n”);for(k=0; k5; k+)printf(

8、/n“);printf(“%d=%d “, 2*k+1, humk);printf(“/n“);return;(分数:30.00)填空项 1:_ (正确答案:1 *D2 bb*p-0+3 numj=bbi)解析:解析 本题的设计思路是:先把数组 num 的各元素清 0;遍历字符串,利用数字字符在ASCAII 码中的连续规律,使用(数字字符-0)作为数组的下标,个数作为数组元素的值。填空 1:此处应该是使用临时指针 p 遍历字符串 str,所以应填*p。填空 2:因为 10 个数字字符是连续的,将它们和0做差运算刚好构成数组的下标。所以此处应该填bb*p-0+。填空 3:最后要把奇数数字出现的

9、次数赋给数组 num 保存。所以此处应填 numj=bbi。二、程序修改(总题数:1,分数:30.00)2.给定程序中函数 fun 的功能是:根据整型形参 m,计算如下公式的值。(分数:30.00)_正确答案:(1)错误:for(i=2; im; i+)正确:for(i=2; i=m; i+)(2)错误:y+=1/(i*i)正确:y+=1./(i*i)错误 2:在除法运算中,如果除数和被除数都是整数,所以所除结果也是整数,因此应改为 y+=1./(i*i)。)解析:解析 错误 1:由 C 语言的基础知识可以知道,使用 for 循环计算公式,必须计算到 m,所以应改为 for(i=2;i=m;

10、i+)。三、程序设计(总题数:1,分数:40.00)3.学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是:按分数的高低排列学生的记录,高分在前。注意 部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。试题源程序#includestdio.h#define N 16typedef structchar numi0;int s;STREC;int fun(STREC a)main()STREC sN=“GA005“, 85, “GA003“, 76, “GA002“,

11、 69, “GA004“, 85, “GA001“, 91, “GA007“, 72, “GA008“, 64, “GA006“, 87, “GA015“, 85, “GA013“, 91, “GA012“, 64, “GA014“, 91, “GA011“, 66, “GA017“, 64, “GA018“, 64, “GA016“, 72;int i;FILE *out;fun(s);printf(“The data after sorted:/n“);for(i=0;iN; i+)if(i)%4=0)printf(“/n“);printf(“%s%4d“, si. num, si.s);printf(“/n“);(分数:40.00)_正确答案:(#includestdi0.h#define N 16typedef structchar num10;int s;STREC;int fun(STREC a)STREC tmp;int i, j;for(i=0; iN; i+)for(j=i+1; jN; J+)if(ai.saj.S)tmp=ai;ai=aj;aj=tmp;)解析:解析 本题较简单,主要是按结构体中的成绩 s 进行降序排列,其结果仍存入当前结构体中。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1