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

上传人:Iclinic170 文档编号:1329659 上传时间:2019-10-17 格式:DOC 页数:2 大小:31KB
下载 相关 举报
【计算机类职业资格】全国计算机等级考试二级C语言操作真题题库2+2015年3月及答案解析.doc_第1页
第1页 / 共2页
【计算机类职业资格】全国计算机等级考试二级C语言操作真题题库2+2015年3月及答案解析.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、全国计算机等级考试二级 C 语言操作真题题库 2+2015 年 3 月及答案解析(总分:30.00,做题时间:90 分钟)1.基本操作 函数 fun 的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数 isleap 用来判别某一年是否为闰年。 例如,若输入:2008 5 1,则程序输出:2008 年5 月 1 日是该年的第 122 天。 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C 中。 不得增行或删行,也不得更改程序的结构!#include int isleap(int yea

2、r) int leap; leap= (year%4=0 /*found*/ return _(1)_; int fun(int year, int month, int day) int table13=0,31,28,31,30,31,30,31,31,30,31,30,31; int days=0 , i; for(i=1; i2 ) /*found*/ days=days+_(3)_; return days; main() int year, month, day, days ; printf(“请输入年、月、日:“); scanf(“%d%d%d“, days = fun(year

3、, month, day); printf(“%d 年%d 月%d 日是该年的第%d 天/n“,year, month, day, days); (分数:10.00)_2.简单应用 给定程序 MODI1.C 中,函数 fun 的功能是:在有 n 名学生,2 门课成绩的结构体数组 std 中,计算出第 1 门课程的平均分,作为函数值返回。例如,主函数中给出了 4 名学生的数据,则程序运行的结果为:第 1 门课程的平均分是:76.125000 请改正函数 fun 中指定部位的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 #include ty

4、pedef struct char num8; double score2; STU ; double fun(STU std, int n) int i; /*found*/ double sum ; /*found*/ for(i=0; i_3.综合应用 请编写函数 fun,其功能是:判断形参 n 中的正整数是几位数(输入数据的位数不超过 4 位),并将结果通过函数值返回。 例如:若输入的数据为 123,则输出结果为:输入的数字是 3 位。 注意:部分源程序存在 PROG1.C 中,请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。 #in

5、clude int fun(int n) main() int n, place ; do printf(“请输入一个 4 位以内的正整数: “); scanf(“%d“, while (n9999); place = fun(n); printf( “输入的数字是%d 位/n“, place ); (分数:10.00)_全国计算机等级考试二级 C 语言操作真题题库 2+2015 年 3 月答案解析(总分:30.00,做题时间:90 分钟)1.基本操作 函数 fun 的功能是:根据所给的年、月、日,计算出该日是这一年的第几天,并作为函数值返回。其中函数 isleap 用来判别某一年是否为闰年。

6、 例如,若输入:2008 5 1,则程序输出:2008 年5 月 1 日是该年的第 122 天。 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C 中。 不得增行或删行,也不得更改程序的结构!#include int isleap(int year) int leap; leap= (year%4=0 /*found*/ return _(1)_; int fun(int year, int month, int day) int table13=0,31,28,31,30,31,30,31,31,30,31,30,3

7、1; int days=0 , i; for(i=1; i2 ) /*found*/ days=days+_(3)_; return days; main() int year, month, day, days ; printf(“请输入年、月、日:“); scanf(“%d%d%d“, days = fun(year, month, day); printf(“%d 年%d 月%d 日是该年的第%d 天/n“,year, month, day, days); (分数:10.00)_正确答案:(1) leap (2) day (3) 1)解析:【考点分析】 主要考察考生对循环结构的理解的掌握

8、 【解题思路】 填空 1: leap isleap()函数判断是否是闰年,由于初始化 2 月为 28 天,但是闰年是 29,因此闰年要多加 1 天,isleap()应该返回0 或者 1,leap 的表达式为逻辑运算,得到的结果刚好是 0 或 1 。 填空 2:day 前面累加了平年月份的天数,还需要加上日的天数。 填空 3:1 如果是闰年并且累加月份大于 2 月,需要多加 1 天.。2.简单应用 给定程序 MODI1.C 中,函数 fun 的功能是:在有 n 名学生,2 门课成绩的结构体数组 std 中,计算出第 1 门课程的平均分,作为函数值返回。例如,主函数中给出了 4 名学生的数据,则程

9、序运行的结果为:第 1 门课程的平均分是:76.125000 请改正函数 fun 中指定部位的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 #include typedef struct char num8; double score2; STU ; double fun(STU std, int n) int i; /*found*/ double sum ; /*found*/ for(i=0; i_正确答案:((1)double sum 改为 double sum=0.0; (2)for(i=0; i解析:【考点分析】 主要考察临时

10、变量初始化,C 语言里临时变量不初始化,它的默认值是不确定的一个值。再者,考察 C 语言约定数组的下标是从 0 开始的 【解题思路】 (1)double sum 改为 double sum=0.0;累加求和需要初始化累加结果的临时变量。 (2)for(i=0; i3.综合应用 请编写函数 fun,其功能是:判断形参 n 中的正整数是几位数(输入数据的位数不超过 4 位),并将结果通过函数值返回。 例如:若输入的数据为 123,则输出结果为:输入的数字是 3 位。 注意:部分源程序存在 PROG1.C 中,请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的

11、若干语句。 #include int fun(int n) main() int n, place ; do printf(“请输入一个 4 位以内的正整数: “); scanf(“%d“, while (n9999); place = fun(n); printf( “输入的数字是%d 位/n“, place ); (分数:10.00)_正确答案:( int bits=1;/临时变量统计位数 while(n/10)/判断是否为 0,若不为 0,bits 加 1,再将n 除以 10,继续判断 bits+; n=n/10; return bits; )解析:【考点分析】 主要考察考生对循环跳出的条件的理解,以及理解取数字位数的方法 【解题思路】 通过对指定的多位数每次除以 10,去掉最后一位,直到为 0 结束,使用临时变量来统计一个多位数的位数。

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

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

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