【计算机类职业资格】国家二级C++机试(操作题)-试卷4及答案解析.doc

上传人:boatfragile160 文档编号:1331756 上传时间:2019-10-17 格式:DOC 页数:3 大小:33KB
下载 相关 举报
【计算机类职业资格】国家二级C++机试(操作题)-试卷4及答案解析.doc_第1页
第1页 / 共3页
【计算机类职业资格】国家二级C++机试(操作题)-试卷4及答案解析.doc_第2页
第2页 / 共3页
【计算机类职业资格】国家二级C++机试(操作题)-试卷4及答案解析.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家二级 C+机试(操作题)-试卷 4 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.使用 VC6 打开考生文件夹下的源程序文件 modilcpp,该程序运行时有错误,请改正程序中的错误,使得程序输出: 1,2,3,4,5, 注意:不要改动 main 函数,不能增行或删行,也不能更改程序的结构,错误的语句在*error*的下面。 1 #include 2 class TestClass 3 *error* 5 TestClass(int i) 6 7 mi=i, 8 ) 9 void print() 10 11 cout+mi_二、简单应用题

2、(总题数:1,分数:2.00)2.使用 VC6 打开考生文件夹下的源程序文件 modi2cpp。阅读下列函数说明和代码,完成空出部分程序,使输入某年某月某日,可判断这一天是这一年的第几天。 程序分析:以 3 月 5 日为例,应该先把前两个月的天数加起来,然后再加上 5 天即本年的第几天(特殊情况:闰年输入月份大于 3 时需考虑多加一天)。 注意:只能补充函数 func(int year,int month,int day),请勿改动其他部分的内容。 #include int func(int year,int month,int day) void main() coutfunc(2007,2

3、,1)func(2007,10,10)func(2008,8,12)_三、综合应用题(总题数:1,分数:2.00)3.使用 VC6 打开考生文件夹下的源程序文件 modi3cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:每卖出一个瓜,则计算瓜的重量,还要计算所有卖出瓜的总重量以及总个数,同时允许退货,请按照以下的操作,把类补充完整 (1)定义类 Cmelon 的私有静态数据成员float 型变量 totalweight 和 int 型变量 totalNo,请在注释 *1*后添加适当的语句。 (2)完成类 Cmelon 的带一个 float 型变量 w 的构造

4、函数,并把这个 W 加到 totalweight 中,并且 totalNo自加。请在注释 *2*后添加适当的语句。 (3)在析构函数中,在 totalweight 中减去weight,然后 totalNo 自减,请在注释 *3*后添加适当的语句。 (4)完成静态成员变量的初始化为 0,请在注释*4*后添加适当的语句。 注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。 #include C1ass Cmelon private: float weight; *1* static int totalNo; public: Cmelon(float w) *2* to

5、talweight +=w; totalNo+; Cmelon() *3* totalweight 一=weight ; void display() coutweight“kg” “Total sell number:”totalNo “Total sell weight:”totalweightendl_国家二级 C+机试(操作题)-试卷 4 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.使用 VC6 打开考生文件夹下的源程序文件 modilcpp,该程序运行时有错误,请改正程序中的错误,使得程序输出: 1,2,3,4,5, 注意:不要改动

6、 main 函数,不能增行或删行,也不能更改程序的结构,错误的语句在*error*的下面。 1 #include 2 class TestClass 3 *error* 5 TestClass(int i) 6 7 mi=i, 8 ) 9 void print() 10 11 cout+mi_正确答案:(正确答案:(1)public:TestClass(int i) (2)int i(10); (3)i 一一:)解析:解析:程序要求输出 1,2,3,4,5,。主函数 main()q有 while 循环,调用类 TestClass 中的成员函数 print()实现函数功能。 解题思路 (1)打开

7、 moidlcpp 调试程序,显示错误提示为第一标识下“modilcpp(20):error C2248:TestClass:TestClass:cannot access private member declared in classTestClass”,提示类 TestClass 中的构造函数 TestClass 被定义为私有的,无法获得,所以这里应该是 public,即“public:TestClass(int i)”。 (2)题目中要求输出结果为1,2,3,4,5,即循环 5 次。第三个表示 while 循环条件是 i 大于 5 就进行循环。“int i();”应该实现变量 i 的初

8、始化,题干中要求不能删除 i 初始化中的括号,所以在括号中添加 i 的初始值。大于 5 且循环 5 次,所以 i 的初始值为 10,而 while 循环中对 i 的操作应该是 i 一,这样第二个和第三个标示下应该是“int i(10);”和“i 一;”。二、简单应用题(总题数:1,分数:2.00)2.使用 VC6 打开考生文件夹下的源程序文件 modi2cpp。阅读下列函数说明和代码,完成空出部分程序,使输入某年某月某日,可判断这一天是这一年的第几天。 程序分析:以 3 月 5 日为例,应该先把前两个月的天数加起来,然后再加上 5 天即本年的第几天(特殊情况:闰年输入月份大于 3 时需考虑多加

9、一天)。 注意:只能补充函数 func(int year,int month,int day),请勿改动其他部分的内容。 #include int func(int year,int month,int day) void main() coutfunc(2007,2,1)func(2007,10,10)func(2008,8,12)_正确答案:(正确答案:int sum; int leapyear ; switch(month)*先计算某月以前月份的总天数* case 1: sum=0; break; case 2: sum=31; break; case 3: sum=59; break;

10、 case 4: sum=90; break; case 5: sum=120; break; case 6: sum=151; break; case 7: sum=181; break; case 8: sum=212; break; case 9: sum=243; break; case 10: sum=273; break; case 11: sum=304; break; Case 12: Jum=334 ; break; default: cout“data error”endl; break; sum=sum+day; if(year400=0 I I(year4=0)解析:解

11、析:(1)为方便起见,先统计正常年份下,每个月的前面有多少天,可以用 switch 方式查询,然后再加上本月的日子,很快便得到了这一天是属于这一年的第几天。 (2)闰年的判断方法为:if(year400=01l(year4=0 void display() coutweight“kg” “Total sell number:”totalNo “Total sell weight:”totalweightendl_正确答案:(正确答案:(1)添加语句: static float totalweight; (2)添加语句:weight=w; (3)添加语句:totalNo 一一; (4)添加语句:

12、 int Cmelon:totalNo=0;)解析:解析:(1)静态数据成员声明时需使用关键字 static,因此第 1 个标识下应添加“static float totalweight;”。 (2)构造函数用来对类成员进行初始化,在 Cmelon 类的构造函数 Cmelon(noat w)中,完成 weight 的初始化,并把这个 w 加到 totalweight 中,并且 totalNo 自加,因此第 2 个标识下应添加“weight=w:”。 (3)调用析构函数相当于退瓜,这时 totalweight 中减去 weight,然后 totalNo 自减,因此第 3 个标识下应添加“totalNo-;”. (4)静态数据成员的初始化格式为:=,因此第 4 个标识下应添加“int Cmelon:totalNo=0:”。

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

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

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