[计算机类试卷]国家二级C++机试(操作题)模拟试卷89及答案与解析.doc

上传人:王申宇 文档编号:497650 上传时间:2018-11-28 格式:DOC 页数:5 大小:32KB
下载 相关 举报
[计算机类试卷]国家二级C++机试(操作题)模拟试卷89及答案与解析.doc_第1页
第1页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷89及答案与解析.doc_第2页
第2页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷89及答案与解析.doc_第3页
第3页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷89及答案与解析.doc_第4页
第4页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷89及答案与解析.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家二级 C+机试(操作题)模拟试卷 89及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,该程序运行时有误,请改正其中的错误,使程序正常运行,并使程序在界面上输出为: 平均值为: 29 最大值为: 112 最小值为: -11 注意:错误的语句在 *error*的下面。修改该语句即可。 #include US ing namespace std; int main() int i ; Ave l Min ; Max; int data8 0, 112, 43, 78, 一 11,一 6, 7, 9); Ave=0; for(i=0; iMin) M

2、in=datai; cout void convert(10ng S, long*str) void main() long S, res ; couts; convert(s, cout 2 class Date 3 public: 4 *2* 5 6 Date(int y, int m, int d) 7 8 *3* 9 10 11 void print()con qt; 12 private: 3 3 data member 14 *1* 15 16 ; 17 void Date: print=()const 18 19 *4* 20 21 22 int main()( 23 Date

3、nation,a1 _day(1949, 10, 1); 24 national day print(); 25 return 0 ; 26 国家二级 C+机试(操作题)模拟试卷 89答案与解析 一、基本操作题 1 【正确答案】 (1)Ave+=datai; 或 Ave=Ave+datai; (2)if(dataiMax)Max=datai; (3)if(dataiMax)Max=datai。 (3)同样如果数组该元素值比 Min小,则 Min取该元素值。因此,两个 if中条件判断错误,第 3标识处 “if(dataiMin)Min=datai”改成“if(datai0) S=s 1 0 0

4、; 每次除以 i0 0, *str=s 10*s1+*str; 取除 以 10 0后的个位数, str增加 1位 s1=s1*10; 【试题解析】 (1)由审题分析可知,奇数位即为个位数、百位数、万位数 ,取个位数比较简单, S 10便得到了个位数。获取百位数可由 s 100后,再和 10取余得到,同样万位数可由 s 10000,再和 10取余得到,从百位数开始后面的奇数位都是在上次的基础上再除以 100后再取余数,因此可利用循环。 (2)在循环外先取 S的个位数,然后进入循环, s=s 100,获取除以 100的个位数方法为 s 10,这个数是 *str的高一位,乘以它所在 *str中的位置

5、的权值,然后和以前的值相加便得到这次 *str值,如此循环,直到 s为 0为止。 三、综合应用题 3 【正确答案】 (1)添加语句: int year, month, day, (2)添加语句: Date()year=1; month=1; day=1; (3)添加语句: year=y; month=m; day=d; (4)添加语句: coutyear.month ”一 ”dayendl ; 【试题解析】 在 VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已给定源程序的 main主函数开始入手,可以看出程序通过调用类 Date和函数 print实现

6、各种输出操作。 解题思路 (1)题目 1要求 “定义私有数据成员 year、 month和 day,分别用于表示年 、月和日,它们都是 int型的数据 ”。在 C+程序的 private区域中添加变量 year、month、 day的定义,即在第 1个标识下添加 “int year,month, day; ”。 (2)题目 2要求 “完成默认构造函数 Date的定义,使 Date对象的默认值为:year=1, month=1, day=1”。在 CH中,构造函数是一种特殊的成员函数,它的名字与类同名。在 Date构造函数体内,根据题目要求,设置变量默认值 “year=1,month=1, da

7、y=1”,即: “Date0yem=1; month=1; day=1; ”。 (3)题目 3要求 “完成重载构造函数 Date(int y,int m, intd)的定义,把数据成员year、 mohth和 day分别初始化为参数 y、 m和 d的值。 ”在构造函数 Date(int y,int m, intd)函数体内,即标识 3下,添加赋值语句,将 y, m, d赋值给 year,month, day,即 “year=y; month=m; day=d; ”。 (4)题目 4要求 “完成成员函数 print()的类外定义,使其以 “年一月日 ”的格式将Date对象的值输出到屏幕上 ”。在程序中的 void Date: print0 const函数体内,标识 4下,添加输出语句。根据 cout输出格式,实现题目中的输出要求,即“coutyear”一 “ month”-”dayendl; ”。

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

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

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