【计算机类职业资格】二级C++-17-2及答案解析.doc
《【计算机类职业资格】二级C++-17-2及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-17-2及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-17-2 及答案解析(总分:87.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:65.00)1.有如下程序:#includeiostreamusing namespace std;class TestClassprivate:int x,y;public:TestClass(int i,int j)x=i;y=j;void print()cout“print1“endl;void print() const(cout “print2“endl;);int main()const TestClass a(1,2):a.print();return 0;该程序运行后
2、的输出结果是_。 A.print1 B.print2 C.print1 print2 D.程序编译时出错(分数:1.00)A.B.C.D.2.设有以下语句:int a10=0,1,2,3,4,5,6,7,8,9),*p=a;,对 a 数组元素的引用中(其中 0=i10)不正确的是U /U。 A.ap-a B.*(char ch;ofile.open(“d:/abc.txt“,W);docinch:ofile.put(ch);while(ch!=#);ofile.close();return 0: A. 成员函数 open()调用形式错误 B. 输入文件没有关闭 C. 成员函数 put()调用形
3、式错误 D. 对象 ofile 定义错误(分数:2.00)A.B.C.D.4.以下关键字不能用来声明类的访问权限的是_。 A.public B.static C.protected D.private(分数:1.00)A.B.C.D.5.下列叙述中正确的是 A. 所有形态的二叉树都只能采用链式存储结构 B. 循环队列是队列的一种存储方式 C. 栈只能采用顺序存储结构 D. 循环队列与循环链表都属于链式存储结构(分数:2.00)A.B.C.D.6.下列叙述中错误的是U /U。 A.一个函数中可以有多条 return 语句 B.调用函数必须在一条独立的语句中完成 C.函数中通过 return 语句
4、传递函数值 D.主函数名 main 也可以带有形参(分数:2.00)A.B.C.D.7.线性表进行二分法检索,其前提条件是U /U。 A. 线性表以顺序方式存储,并按关键码值排好序 B. 线性表以顺序方式存储,并按关键码的检索频率排好序 C. 线性表以链式方式存储,并按关键码值排好序 D. 线性表以链式方式存储,并按关键码的检索频率排好序(分数:2.00)A.B.C.D.8.下列关于 this 指针的叙述中,正确的是U /U。 A.任何与类相关的函数都有 this 指针 B.类的成员函数都有 this 指针 C.类的友元函数都有 this 指针 D.类的非静态成员函数才有 this 指针(分数
5、:2.00)A.B.C.D.9.一个函数为 void(int,char=a),另一个函数为 void f(int),则它们U /U。 A.不能在同一程序中定义 B.可以在同一程序中定义并可重载 C.可以在同一程序中定义,但不可以重载 D.以上说法均不正确(分数:1.00)A.B.C.D.10.已知:int m10;在下列定义引用的语句中,正确的是U /U。 A.int class Base char c; public : Base( char c0):c( c0) Base( )coutc; ; class Derived:public Base char c: public: Derive
6、d( char c0): Base(c0+1) ,c(c0) Derived()coute; ; int main() Derived obj(x); return 0: A) xy B) yx c)x D) y(分数:2.00)A.B.C.D.14.下列成对的表达式中,运算符“/”的意义相同的一对是U /U。 A.8/3 和 8.0/3.0 B.8/3.0 和 8/3 C.8.0/3 和 8/3 D.8.0/3.0 和 8.0/3(分数:2.00)A.B.C.D.15.对于算法的每一步,指令必须是可执行的。算法的U /U要求算法在有限步骤之后能够达到预期的目的。 A.可行性 B.有穷性 C.
7、正确性 D.确定性(分数:2.00)A.B.C.D.16.有如下程序:#includeiostreamvoid fun(int x=y; y=t;int main()int a2=23,42;fun(a1,a0);std:couta0“,“a1std:end1;return 0;执行后的输出结果是U /U。 A. 42,42 B. 23,23 C. 23,42 D. 42,23(分数:2.00)A.B.C.D.17.在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送U /U。 A. 调用语句 B. 命令 C. 口令 D. 消息(分数:2.00)A.B.C.D.18.下列程序的运行
8、结果是U /U。#includeiostream.hvoid fun(int *a, int *b)int *k; k=a; a=b; b=k;void main()int a=2OO4,b=9,*x=fun(x, y);couta“ “bend1; A.20049 B.92004 C.00 D.编译时出错(分数:2.00)A.B.C.D.19.通过运算符重载,可以改变运算符原有的U /U。 A. 操作数类型 B. 操作数个数 C. 优先级 D. 结合性(分数:1.00)A.B.C.D.20.软件工程的出现是由于U /U。 A. 程序设计方法学的影响 B. 软件产业化的需要 C. 软件危机的出
9、现 D. 计算机的发展(分数:2.00)A.B.C.D.21.定义如下枚举类型 enumMonday,Tuesday,Wednesday,Thrusday,Friday=2);则下列选项正确的是( )。 A.表达式 wednesday=Friday 的值是 true B.Day day;day=3; C.Day day;day=Monday+3; D.Day day;day=Tuesday+10;(分数:2.00)A.B.C.D.22.以下关键字不能用来声明类的访问权限的是_。 A.public B.static C.protected D.private(分数:2.00)A.B.C.D.23
10、.计算斐波那契数列第 n 项的函数定义如下:int fib(int n)if (n=0)return 1;else if(n=1) return 2;else return fib(n=1)+fib(n=2);若执行函数调用表达式 fib(2),函数 fib 被调用的次数是U /U。 A.1 B.2 C.3 D.4(分数:2.00)A.B.C.D.24.概要设计中要完成的事情是U /U。 A.系统结构和数据结构的设计 B.系统结构和过程的设计 C.过程和接口的设计 D.数据结构和过程的设计(分数:2.00)A.B.C.D.25.执行语句:coutsetfill(*)setw(10)setfil
11、l(#)left123“OK“endl;return 0;)后将输出U /U。 A.123*OK B.123#OK C.123*OK* D.123#OK#(分数:2.00)A.B.C.D.26.对于模板定义关键字 class 和 typename 说法不正确的是 A. 程序中的 class 并不能都替换为 typename B. class 和 typename 都可互相替换 C. 程序中的 typename 都能替换为 class D. 程序中的部分 class 可以替换为 typename(分数:2.00)A.B.C.D.27.有如下程序:#include iostreamusing na
12、mespace std;class AAint n;public:AA(int k):n(k) int get()return n; int get()constreturn n+1;int main()AA a(5);const AA b(6);couta.get()b.get();return 0;执行后的输出结果是U /U。 A. 55 B. 57 C. 75 D. 77(分数:2.00)A.B.C.D.28.假定 MyClas 为一个类,那么该类的析构函数是U /U。 A. voidMyClas(); B. MyClas(int n); C. MyClas(); D. MyClas()
13、;(分数:2.00)A.B.C.D.29.如果类 A 被说明成类 B 的友元,则U /U。 A.类 A 的成员即类 B 的成员 B.类 B 的成员即类 A 的成员 C.类 A 的成员函数不得访问类 B 的成员 D.类 B 不一定是类 A 的友元(分数:2.00)A.B.C.D.30.设有 int x11;,则表达式(x+*2/3)的值是U /U。 A.7 B.8 C.11 D.12(分数:2.00)A.B.C.D.31.对于类定义class A public:virtual void funcl()void func2();class D:public Apublic:void funcl()
14、cout “class B rune 1“end1;virtual void func2()cout “class B func 2“end1;;下面正确的叙述是 _。 A. A:func2()和 B:funcl()都是虚函数 B. A:func2()和 B:funcl()都不是虚函数 C. B:func1()是虚函数,而 A:func2()不是虚函数 D. B:func1()不是虚函数,而 A:func2()是虚函数(分数:2.00)A.B.C.D.32.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是U /U。 A.选择 B.连接 C.投影 D.并(分数:2.0
15、0)A.B.C.D.33.存在定义 int a10,x,*pa;,若 pa: while(_) k*=m%10;s+=m%10; U U /U /U; if(ks)coutn; (分数:1.00)填空项 1:_37.在类的对象被创建时, 1 函数会被自动调用。(分数:2.00)填空项 1:_38.将下面的语句段(A) 补充完整,使其和语句段(B) 在功能上完全等价。 (a) double s=0.0; U U /U /U; int k=0; do s+=d; k+; d=1.0/(k*k+1); while(U U /U /U); (b) double s=1.0; for(int k=1;k
16、=10;k+) s+=1.0/(k*(k+1);(分数:1.00)填空项 1:_39.如果一个模板声明时有类型形参表,则多个参数之间必须使用 1 隔开,每个参数都必须重复使用关键字 2。(分数:1.00)填空项 1:_40.有如下程序: #inCludeiostream using namespace std; class AA public: viltual void f() cout“AA“; ; class BB:public AA public: BB() cout“BB“; ; class CC:public BB public: virtual void f() BB:f(); c
17、out“CC“; ; int main() AA aa,*p;BB bb;CC cc; p= class MyClass public: MyClass(); MyClass(); static int s; void SetValue(int val); ; int MyClass:s=0; MyClass:MyClass() s+; void MyClass:SetValue(int val) ( s=val; int main() MyClass my3,*p; p=my; for(int k=0;k3;k+) p-SetValue(k+l); p+; coutMyClass:send1
18、; return 0; 运行后的输出结果是U U /U /U。(分数:1.00)填空项 1:_47.下列软件系统结构图 (分数:2.00)填空项 1:_48.使用函数模板的方法是先说明函数模板,然后实例化成相应的 1 进行调用执行。(分数:1.00)填空项 1:_49.已知一个函数模板定义为 template typename T1typenaine T2 T1 FUN(T2 n)return n*5.0; 若要求以 int 型数据 7 为函数实参调用该模板函数,并返回一个 double 型数据,则该调用应表示为_。(分数:2.00)填空项 1:_50.在 C+语言中,访问一个对象的成员所用的
19、运算符是U U /U/U,访问一个指针所指向的对象的成员所用的运算符是U U /U/U。(分数:1.00)填空项 1:_二级 C+-17-2 答案解析(总分:87.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:65.00)1.有如下程序:#includeiostreamusing namespace std;class TestClassprivate:int x,y;public:TestClass(int i,int j)x=i;y=j;void print()cout“print1“endl;void print() const(cout “print2“endl;)
20、;int main()const TestClass a(1,2):a.print();return 0;该程序运行后的输出结果是_。 A.print1 B.print2 C.print1 print2 D.程序编译时出错(分数:1.00)A.B. C.D.解析:解析 本题由主函数 main 入手,定义 TestClass 型的常对象 a,然后调用对象 a 中的成员函数print()。因为在 C+中,如果一个对象被声明为常对象,则不能调用该对象中的非 const 型的成员函数。所以,这里调用的是对象中的 const 型成员函数“void print() const”,输出为 print2。2.
21、设有以下语句:int a10=0,1,2,3,4,5,6,7,8,9),*p=a;,对 a 数组元素的引用中(其中 0=i10)不正确的是U /U。 A.ap-a B.*(char ch;ofile.open(“d:/abc.txt“,W);docinch:ofile.put(ch);while(ch!=#);ofile.close();return 0: A. 成员函数 open()调用形式错误 B. 输入文件没有关闭 C. 成员函数 put()调用形式错误 D. 对象 ofile 定义错误(分数:2.00)A. B.C.D.解析:解析 该程序在运行中会发现,如果不存在文件 abc.txt,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C172 答案 解析 DOC
