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

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

1、国家二级 C+机试(操作题)-试卷 3 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.使用 VC6 打开考生文件夹下的源程序文件 modilcpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: sizeoffstrl)=5 sizeof(str2)=10 sizeof(str3)=1 注意:不要改动 main 函数,不能增行或删行,也不能更改程序的结构,错误的语句在*error*的下面。 (1)不能删除 assert()语句; (2)只能修改后面的数字。 提示:assert()函数如果为假,则会产生一个中断异常

2、。 #include #include void main() char*strl=”abc”; *error* assert(Sizeof(str1)=3); coutn if(nn if(n_正确答案:(正确答案:int i; for(i=0;in ; i+) 外层循环,要打印的行数 int j ; f01“(j=0 ; jni 一 1;j+) 循环打印空格 cout; f027(; jn;j+) 循环打印 coutIf“#”; coutendl: 打印每一行的回车 )解析:解析:(1)该程序功能是打印题目中要求的#字形状。它的解题思路,在不显示#字地方,用空格占位。 (2)从已给部分源程

3、序的 main 主函数开始入手,核心函数 void fun(int n)中的 n 参数为输入的要打印的行数。 解题思路 (1)外层循环打印每一行。 (2)内层循环,分为打印空格和打印#。打印空格由第一个位置到第 n-i-1。打印#,是由打印完空格开始一直到行结束。 (3)最后在外循环中打印每一行的结束。三、综合应用题(总题数:1,分数:2.00)3.使用 VC6 打开考生文件夹下的源程序文件 modi3cpp,其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义类 CPlanet 的保护数据成员 distance 和 revolvePeriod,它们分别表示行星距太阳的距

4、离和行星的公转周期。其中,distance 为 double 型,revolvePeriod 为 int 型。请在注释*1*之后添加适当的语句。 (2)定义类 CEarth 的构造函数 CEarth(double d,int r),并在其中计算地球绕太阳公转的轨道周长。假定:circumference=2*d*31416。请在注释*2*之后添加适当的语句。 (3)定义类 Earth 的成员 display(),用于显示所有信息。包括地球距太阳的距离,地球的公转周期,以及地球绕太阳公转的轨道周长。请在注释*3*之后添加适当的语句。 注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改

5、其他的程序代码。 #include us ing namespace std; C1ass CPIanet protected: *1* public: CPlanet(double d,int r) distance=d; revolveperiod= r; ;class CEarth:public CPlanet( double c i rcumf erence, public: *2* CEarth(double d,int r) circumference=2*d*31416, *3* coutdistancerevolvePeriod_正确答案:(正确答案:(1)添加语句:doubl

6、e cRstance;int revolvePeriod; (2)将“CEarth(double d,int r)”补充完整为:CEarth(double d,int r):CPlanet(d,r) (3)添加语句:void di splay()解析:解析:(1)题目 1 要求“义类 CPlanet 的保护数据成员 distance 和 revolvePeriod,它们分别表示行星距太阳的距离和行星的公转周期。其中,distance 为 double 型,revolvePefiod 为 int 型”,因此第 1 个标识下是添加数据成员 distance 和 revolvePeriod 的声明,

7、因此第 1 个标识下应添加“double distance;int revolvePeriod;”。 (2)假定:circumference=2 d 31416”,第 2 个标识下构造函数CEarth(double d,int r)完成类成员变量的初始化,在函数体内部完成了 circumference 的初始化,而变量 distance 和 revolvePeriod 并没有初始化,需调用基类的构造函数来初始化这两个变量,因此第 2个标识下应改为“CEarth(double d,int r):CPlanet(d,r)”。 (3)第 3 个标识下完成成员函数display0 的定义,函数 display0 的返回值为 void,因此第 3 个标识下应添加“voiddisplay0”。

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

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

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