【计算机类职业资格】二级C++-84及答案解析.doc
《【计算机类职业资格】二级C++-84及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-84及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-84 及答案解析(总分:65.00,做题时间:90 分钟)一、选择题(总题数:20,分数:37.00)1.有以下程序: #include iostream using namespace std; class sample pnvate: int x; static int y; public: sample(int a); static void print(sample s); ; sample:sample(int a) x=a; y+=x; void sample:print(sample s) cout“x=“s.x“,y=“yendl; int sample:y=0;
2、int main() sample s1(10); sample s2(20); sample:print(s2); return 0; 程序运行后的输出结果是 _ 。(分数:2.00)A.x=10,y=20B.x=20,y=30C.x=30,y=20D.x=30,y=302.关系数据模型通常由三部分组成,它们是 _ 。(分数:2.00)A.数据结构、数据通信、关系操作B.数据结构、关系操作、完整性约束C.数据通信、关系操作、完整性约束D.数据结构、数据通信、完整性约束3.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是(分数:2.00)A.黑箱测试法B.白箱测试
3、法C.错误推测法D.安装测试法4.以下程序的输出是 _ 。 struct st int x;int *y; *p; int dt4=10,20,30,40; struct st aa4=50, class TestClass public; TestClass ()cout“BASE:; ; class TestClass1:public TestClass public: TestClass 1 ()cout“DERIVED“; ; int main()TestClass1 x;return 0; 执行后的输出结果是 _ 。(分数:2.00)A.BASEB.DERIVEDC.BASEDERI
4、VEDD.DERIVEDBASE7.有以下程序: #includeiostream using namespace std; class A public: A()cout“A“;) ; classBpublic:B()cout“B“; classC:public A B b: public: C()(cout“C“;) ; int main() C obj; return 0; 执行后的输出结果是_。(分数:2.50)A.CBAB.BACC.ACBD.ABC8.有如下两个类定义: class AA); class l3B AA v1,*v2; BB v3; int*v4; ; 其中有一个成员
5、变量的定义是错误的,这个变量是_。(分数:2.50)Av1Bv2Cv3Dv49.如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是 _(分数:1.00)A.一元运算符B.二元运算符C.选项 A 和选项 B 都可能D.重载错误10.下列选项中,与实现运行时多态性无关的是(分数:2.00)A.重载函数B.虚函数C.指针D.引用11.下列不属于软件工程过程的基本活动的是 _ 。(分数:1.00)A.软件规格说明B.软件开发C.软件确认D.软件需求分析12.关于 this 指针的说明不正确的是(分数:1.00)A.不能在程序中修改 this 指针B.this 指针可以给其他指针赋值,
6、但不能修改 this 指针C.静态成员函数中没有 this 指针D.this 指针可以被赋值13.串的长度是 _ 。(分数:2.00)A.串中不同字符的个数B.串中不同字母的个数C.串中所含字符的个数且字符个数大于零D.串中所含字符的个数14.有如下程序段: int i=1; while(1) i+; if(i= =10) break; if(i%2=0) cout“*“; 执行这个程序段输出字符*的个数是(分数:2.00)A.10B.3C.4D.515.下列运算符函数中肯定不属于类 FunNumber 的成员函数的是 _ 。(分数:2.00)A.int operator-(FunNumber
7、);B.FunNumber operator-();C.FunNumber operator-(int);D.int operator-(FunNumber,FunNumber);16.以下程序的运行结是_。 #includeiostream using namespace std ; class Base char c; public : Base( char c0):c( c0) Base( )coutc; ; class Derived:public Base char c: public: Derived( char c0): Base(c0+1) ,c(c0) Derived()co
8、ute; ; int main() Derived obj(“x“); return 0: A) xy B) yx c)x D) y (分数:2.00)A.B.C.D.17.下列控制格式输入/输出的操作符中,能够设置浮点数精度的是_。(分数:2.00)A.setprecisionB.setwC.setfillD.showpoint18.下列程序中横线处应填入的语句是 _ 。 Class Base public: roid fun()cout“Base of fun”endl;) ; class Derived:public Base void fun() /显示基类的成员函数 fun cout
9、“Derived Of fun”endl; ;(分数:2.00)A.fun();B.Base.fun();C.Base:fun();D.Base-fun();19.下面程序的输出结果是 _ 。 #includeiostream.h Class example int a; public: example(int B.a=b+; void print()aa+1 couta“; void print()constcouta“; ; void main() example x(3); Const example y(2); x.print(); y.print(); (分数:2.00)A.2 2B
10、.4 3C.4 2D.3 220.下面关于 this 指针的说法中错误的是 _ 。(分数:2.00)A.this 指针是一种隐含指针,存在于每个类的非静态成员函数中B.它是成员函数所属对象的指针C.通过 this.成员变量的形式可以访问类中的数据成员D.成员函数访问类中的数据成员格式可写成:this-成员变量二、填空题(总题数:18,分数:28.00)21.C+中多态性分为编译时的多态性和运行时的多态性,其中运行时的多态性时通过 1 实现的。 (分数:2.00)22.fun()函数的功能是:首先对 a 所指的 N 行 N 列的矩阵,找出各行中的最大的数,再求这 N 个最大值中的最小的那个数作为
11、函数返回值。请填空完成此程序。 #define N 100 int fun(int (*A) N) int row,col,max,min; for(row=0;row for(max=arow0,col=1;col if( )max=arowcol;if(row=0)min=max;else if( )min=max;return min;arowcolmax 或 arowcol=max 或 maxarowcol或 max=arowcolmaxmin 或 max=min 或 minmax 或 min=max。解析 由程序可知,第 2 个 for 循环是用宋找出某一列中的最大值。由于 if 选
12、择后面的语句是把数组元素值存入变量 max 中,说明此时的数组元素比开始设定的 max 值要大,所以 if 中的条件表达式为:arowcolmax。第 1 个 for 循环用于实现对矩阵的行扫描,由于 else if 后面的执行语句是把 max 赋给min,说明此时 max 比开始设定的 min 还小,所以 else if 中的条件表达式为:maxmin 或 max=min。(分数:1.00)23.软件危机出现于 60 年代末,为了解决软件危机,入们提出了 _ 1_ 的原理来设计软件,这就是软件工程诞生的基础。 (分数:1.00)24.下列程序的运行结果是 1。 #includeiostrea
13、m.h) class test private: int num; public: test(); int TEST()return num+100; test(); ; test:test()num0; test:test()cout“Destructor is active“endl; void main() test x3; coutx1.TEST()end1; (分数:2.00)25.虚函数必须是类的 1。 (分数:2.00)26.用链表表示线性表的突出优点是 1。 (分数:2.00)27.请在下列程序中的横线处填写正确的语句。 #includeiostream using names
14、pace std; class Base public: void fun()cout“Base fun“endl; ; class Derivde:public Base public: void fun() 1/调用基类的函数 fun() cout“Derived fun“endl; ; (分数:2.00)28.若有定义语句:int* a,b;,则变量 b 的数据类型是 _ 1_ 。 (分数:1.00)29.重载加法运算符“+”,其函数名是 1。 (分数:2.00)30.用递归思想写出的程序往往十分简洁、易懂,但执行时需要的 1 很多。 (分数:2.00)31.重载的流运算符函数应该被定义
15、为类的 1 函数。 (分数:2.00)32.如下程序声明了一个电话号码类 PhoneNumber,重载了流插入运算符,以便于电话号码的输出。请将程序补充完整。 #includeiostream #includeiomanip #includestring using namespace std; class PhoneNumber public: void setNumber(string number)this-number=number; friend 1(ostream class Base int a; public: Base(int x) a=x; void show() cout
16、a; class Derived: public Base int b; public: Defived(int i):Base(i+ 1 ),b(i) void show() coutb; ; int main() Base b(5),*pb; Derived d(1); pb= pb-show(); return 0; 运行后的打印结果是 1。 (分数:2.00)34.长度为 n 的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 1。 (分数:1.00)35.在关系模型中,把数据看成一个二维表,每一个二维表称为一个 1。 (分数:1.00)3
17、6.C+语言中关键字运算符有 new,delete 和 1。 (分数:1.00)37.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 _ 1_ 。 (分数:1.00)38.利用成员函数对双目运算符重载,其左操作数为 1,右操作数为 2。 (分数:1.00)二级 C+-84 答案解析(总分:65.00,做题时间:90 分钟)一、选择题(总题数:20,分数:37.00)1.有以下程序: #include iostream using namespace std; class sample pnvate: int x; static int y; public: samp
18、le(int a); static void print(sample s); ; sample:sample(int a) x=a; y+=x; void sample:print(sample s) cout“x=“s.x“,y=“yendl; int sample:y=0; int main() sample s1(10); sample s2(20); sample:print(s2); return 0; 程序运行后的输出结果是 _ 。(分数:2.00)A.x=10,y=20B.x=20,y=30 C.x=30,y=20D.x=30,y=30解析:2.关系数据模型通常由三部分组成,它
19、们是 _ 。(分数:2.00)A.数据结构、数据通信、关系操作B.数据结构、关系操作、完整性约束 C.数据通信、关系操作、完整性约束D.数据结构、数据通信、完整性约束解析:3.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是(分数:2.00)A.黑箱测试法 B.白箱测试法C.错误推测法D.安装测试法解析:解析 黑箱测试方法完全不考虑程序的内部结构和内部特征,而只是根据功能导出测试用例。白箱测试是根据对程序内部逻辑结构的分析来选取测试用例,白箱测试也称为逻辑覆盖测试,故选项 B 不正确;错误推测法只是黑箱测试所使用的一种具体的方法,故选项 C 不正确;安装测试是测试
20、层次中的一种,它属于高级测试,故选项 D 不正确。4.以下程序的输出是 _ 。 struct st int x;int *y; *p; int dt4=10,20,30,40; struct st aa4=50, class TestClass public; TestClass ()cout“BASE:; ; class TestClass1:public TestClass public: TestClass 1 ()cout“DERIVED“; ; int main()TestClass1 x;return 0; 执行后的输出结果是 _ 。(分数:2.00)A.BASEB.DERIVED
21、C.BASEDERIVEDD.DERIVEDBASE 解析:解析 程序中的 TestClassl 为 TestClass 的派生类,从程序中的 main 函数入手,定义了TestClass1 对象 x。调用析构函数的顺序,先执行派生类自己的析构函数,对派生类新增加的成员进行清理,然后调用子对象的析构函数,对予对象进行清理,最后调用基类的析构函数,对基类进行清理。这里派生类中析构函数输出 DERIVED,基类析构函数输出 BASE。7.有以下程序: #includeiostream using namespace std; class A public: A()cout“A“;) ; class
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C84 答案 解析 DOC
