【计算机类职业资格】二级C++机试72及答案解析.doc

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

1、二级 C+机试 72 及答案解析(总分:100.00,做题时间:90 分钟)一、B1改错题/B(总题数:1,分数:30.00)1.使用 VC6 打开考生文件夹下的工程 test30_1,此工程包含一个源程序文件 test30_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为: Previous=9,Next=11 源程序文件test30_1.cpp 清单如下: #include iostream.h /* found */ void prevnext (int,int int main ( ) int x=10,y,z; prevnext (x,y,z); cout “

2、Previous=“ y “, Next=“ zend1; return 0; /* found */ void prevnext (int x, int prev, int next) /* found */ prev=x-; next=+x; (分数:30.00)二、B2简单应用题/B(总题数:1,分数:40.00)2.请编写一个函数 fun(int x,int n),该函数返回 x 的 n 次幂的值,其中 x 和 n 都是非负整数。x 的 n 次幂的计算方法是 1 与 x 相乘 n 次,如 x 的 20 次幂的计算为 1 与 x 相乘 20 次, 注意:部分源程序已存在文件 test30

3、_2.cpp 中。 请勿修改主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填写若干语句。 如输入 3 和 4,输出结果如下: 3 4 81 文件 test30_2.cpp 清单如下: #includeiostream.h double fun(int x, int n) void main ( ) int x,n; cinxn; coutfun(x,n)end1; (分数:40.00)_三、B3综合应用题/B(总题数:1,分数:30.00)3.使用 VC6 打开考生文件夹下的工程 test30_3。此工程包含一个 test30_3.cpp,其中定义了类 A、A1 和A2

4、,其中 A1 类由 A 类公有派生,A2 类由 A1 类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。 (1)定义类 A 的构造函数,该构造函数有一个整型的参数 x,在构造函数中请将 x 赋值给数据成员 a。请在注释“/* 1*”之后添加适当的语句。 (2)定义类 A1 的构造函数,该构造函数有两个整型的参数 x 和 y,在构造函数中请将 x 赋值给数据成员 b,将 y 作为基类 A 构造函数的参数值传入。请在注释“/*2*”之后添加适当的语句。 (3)定义类 A2 的构造函数,该构造函数有三个整型的参数 x,y 和 2,在构造函数中请将 x 赋值给数据成员 c,将

5、 y 和 z 分别赋值给基类 A1 构造函数的参数 x 和 y。请在注释“/*3*”之后添加适当的语句。 (4)完成类 A2 的成员函数 show 的定义,该函数调用基类成员函数,输出基类数据成员 a 和 b 及类 A2 自身的数据成员 c 的值,上述三个值在输出时以空格隔开。请在注释“/*4*”之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 程序输出结果如下: 9 6 962 源程序文件 test30_3.cpp 清单如下: #include iostream.h class A int a; public: /* 1 * int geta() retur

6、n a; ; class A1:public A int b; public: /* 2 * int getb() return b; ; class A2:public A1 int c; public: /* 3 * void show() /* 4 * ; void main() A2 a(2,6,9); couta.geta ( ) end1; couta, getb ( ) end1; a. show( ); (分数:30.00)_二级 C+机试 72 答案解析(总分:100.00,做题时间:90 分钟)一、B1改错题/B(总题数:1,分数:30.00)1.使用 VC6 打开考生文件

7、夹下的工程 test30_1,此工程包含一个源程序文件 test30_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为: Previous=9,Next=11 源程序文件test30_1.cpp 清单如下: #include iostream.h /* found */ void prevnext (int,int int main ( ) int x=10,y,z; prevnext (x,y,z); cout “Previous=“ y “, Next=“ zend1; return 0; /* found */ void prevnext (int x, int

8、prev, int next) /* found */ prev=x-; next=+x; (分数:30.00)解析:(1)错误:在 main()函数前缺少 prevnext 函数的声明 正确:void prevnext(int,int cinxn; coutfun(x,n)end1; (分数:40.00)_正确答案:()解析:double fun(int x, int n) if(x0) return 0; if(n0) return 1; int y1; for(int i0;in;i+) y*x; return y; 解析 本题主要考查考生利用已学的基本控制结构与函数知识,解决实际问题的

9、能力。求 x 的 n 次幂是数学中常用的运算,编程时在 x=0 与 n=0 时需特殊处理。三、B3综合应用题/B(总题数:1,分数:30.00)3.使用 VC6 打开考生文件夹下的工程 test30_3。此工程包含一个 test30_3.cpp,其中定义了类 A、A1 和A2,其中 A1 类由 A 类公有派生,A2 类由 A1 类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。 (1)定义类 A 的构造函数,该构造函数有一个整型的参数 x,在构造函数中请将 x 赋值给数据成员 a。请在注释“/* 1*”之后添加适当的语句。 (2)定义类 A1 的构造函数,该构造函数有

10、两个整型的参数 x 和 y,在构造函数中请将 x 赋值给数据成员 b,将 y 作为基类 A 构造函数的参数值传入。请在注释“/*2*”之后添加适当的语句。 (3)定义类 A2 的构造函数,该构造函数有三个整型的参数 x,y 和 2,在构造函数中请将 x 赋值给数据成员 c,将 y 和 z 分别赋值给基类 A1 构造函数的参数 x 和 y。请在注释“/*3*”之后添加适当的语句。 (4)完成类 A2 的成员函数 show 的定义,该函数调用基类成员函数,输出基类数据成员 a 和 b 及类 A2 自身的数据成员 c 的值,上述三个值在输出时以空格隔开。请在注释“/*4*”之后添加适当的语句。 注意

11、:除在指定位置添加语句之外,请不要改动程序中的其他内容。 程序输出结果如下: 9 6 962 源程序文件 test30_3.cpp 清单如下: #include iostream.h class A int a; public: /* 1 * int geta() return a; ; class A1:public A int b; public: /* 2 * int getb() return b; ; class A2:public A1 int c; public: /* 3 * void show() /* 4 * ; void main() A2 a(2,6,9); couta.geta ( ) end1; couta, getb ( ) end1; a. show( ); (分数:30.00)_正确答案:()解析:(1) A(int x)ax; (2) A1(int x,int y):A(y)bx; (3) A2(int x,int y,int z):A1(y,x)cx; (4) coutgeta()“ “getb()“ “; coutc“/n“; 解析 本题主要考查考生对继承和派生的掌握程度,涉及派生类构造函数的定义、基类成员函数的访问等内容。派生类的构造函数的格式请牢记,另外派生类构造函数及析构函数的执行顺序也是需要掌握的。

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

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

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