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

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

1、二级 C+-33及答案解析(总分:32.00,做题时间:90 分钟)一、B1改错题/B(总题数:1,分数:30.00)使用 VC+6.0打开考生文件夹下的源程序文件 1.cpp,该程序运行时有错,请改正程序中的错误,使程序输出的结果为m=-10n=-10p=0q=-10z=A注意:错误的语句在/*error*的下面,修改该语句即可。试题程序:#includeiostream.hvoid main()double m=10;float n=10;bool p=1;int q=10;char z=a;m=-m;/*error*n=n;/*error*p=-p;/*error*q=q;z=z-32;

2、cout“m=“mend1;cout“n=“nend1;cout“p=“pend1;cout“q=“qend1;cout“z=“zend1;return;(分数:30.00)填空项 1:_填空项 1:_填空项 1:_二、B2简单应用题/B(总题数:1,分数:1.00)1.请编写一个函数 int sum(int n),该函数完成 1+2+3+n的运算,并返回运算结果,其中 n0。注意:请使用递归算法实现该函数。 注意:部分源程序已存在文件:test11.cpp 中。 请勿修改主函数 main和其他函数中的任何内容,仅在函数 sum的花括号中填写若干语句。 文件 test11_2.cpp的内容如下

3、: #includeiostream.h int sum(int n) void main() int n; cout“输入 n:“; cinn; int result;sum(n); cout“结果为:“resultendl; (分数:1.00)_三、B3综合应用题/B(总题数:1,分数:1.00)2.使用 VC6打开考生文件夹下的工程 test30_3。此工程包含一个 test30_3.cpp,其中定义了类 A、A1 和A2,其中 A1类由 A 类公有派生,A2 类由 A1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。 (1)定义类 A的构造函数,该构造函数有

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

5、 b及类 A2自身的数据成员 c的值,上述三个值在输出时以空格隔开。请在注释“/*4*”之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 程序输出结果如下: 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: /*

6、 3 * void show() /* 4 * ; void main() A2 a(2,6,9); couta.geta ( ) end1; couta, getb ( ) end1; a. show( ); (分数:1.00)_二级 C+-33答案解析(总分:32.00,做题时间:90 分钟)一、B1改错题/B(总题数:1,分数:30.00)使用 VC+6.0打开考生文件夹下的源程序文件 1.cpp,该程序运行时有错,请改正程序中的错误,使程序输出的结果为m=-10n=-10p=0q=-10z=A注意:错误的语句在/*error*的下面,修改该语句即可。试题程序:#includeiostr

7、eam.hvoid main()double m=10;float n=10;bool p=1;int q=10;char z=a;m=-m;/*error*n=n;/*error*p=-p;/*error*q=q;z=z-32;cout“m=“mend1;cout“n=“nend1;cout“p=“pend1;cout“q=“qend1;cout“z=“zend1;return;(分数:30.00)填空项 1:_ (正确答案:“n=-n;”。)解析:填空项 1:_ (正确答案:“p=!p;”。)解析:填空项 1:_ (正确答案:“q=-q;”。)解析:解析 由题目要求的运行结果可知,第 1个

8、标识和第 3处的语句是对变量 n和 q取反,求一个正数的相反数可以通过算数运算符“-”得到,第 1处和第 3处的语句应分别改为“n=-n;”和“q=-q;”,即只需要通过负号运算就可以实现。从题目要求输出的结果来分析,第 2处的语句是对逻辑变量 p取反,对一个逻辑变量求反,应该用取反运算符“!”,第 2处的语句应改为“p=!p;”。二、B2简单应用题/B(总题数:1,分数:1.00)1.请编写一个函数 int sum(int n),该函数完成 1+2+3+n的运算,并返回运算结果,其中 n0。注意:请使用递归算法实现该函数。 注意:部分源程序已存在文件:test11.cpp 中。 请勿修改主函

9、数 main和其他函数中的任何内容,仅在函数 sum的花括号中填写若干语句。 文件 test11_2.cpp的内容如下: #includeiostream.h int sum(int n) void main() int n; cout“输入 n:“; cinn; int result;sum(n); cout“结果为:“resultendl; (分数:1.00)_正确答案:(int sum(int n) if(n=1) return 1; else return n + sum(n-1); )解析:解析 本题考查的是考生对于递归函数的熟练应用。递归的终止条件为 n=1时,返回值为 1三、B3

10、综合应用题/B(总题数:1,分数:1.00)2.使用 VC6打开考生文件夹下的工程 test30_3。此工程包含一个 test30_3.cpp,其中定义了类 A、A1 和A2,其中 A1类由 A 类公有派生,A2 类由 A1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。 (1)定义类 A的构造函数,该构造函数有一个整型的参数 x,在构造函数中请将 x赋值给数据成员 a。请在注释“/* 1*”之后添加适当的语句。 (2)定义类 A1的构造函数,该构造函数有两个整型的参数 x和 y,在构造函数中请将 x赋值给数据成员 b,将 y作为基类 A构造函数的参数值传入。请在注

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

12、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( ); (分数:1.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