【计算机类职业资格】二级C++-14-2及答案解析.doc
《【计算机类职业资格】二级C++-14-2及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-14-2及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-14-2 及答案解析(总分:86.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:60.00)1.下面程序的输出是main()int x=100, a=10, b=20, ok1=5, ok2=0;if(ab)if(b! =15)if( ! ok1)elseif(ok2) x= 10x=-1coutxend1; A. -1 B. 0 C. 1 D. 不确定的值(分数:2.00)A.B.C.D.2.在 C语言程序中,对象之间的相互通信通过 A. 继承实现 B. 调用成员函数实现 C. 封装实现 D. 函数重载实现(分数:2.00)A.B.C.D.3.有如下数组声明:
2、int num10;,下标值引用错误的是 A.num10 B.num5 C.num3 D.num0(分数:1.00)A.B.C.D.4.下列关于类和对象的叙述中,错误的是U /U。 A. 一个类只能有一个对象 B. 对象是类的具体实例 C. 类是对某一类对象的抽象 D. 类和对象的关系是一种数据类型与变量的关系(分数:2.00)A.B.C.D.5.若 AA 为一个类,a 为该类的非静态数据成员,在该类的一个成员函数定义中访问 a 时,其书写格式为( )。 A. a B. AA.a C. a D. AA:a(分数:2.00)A.B.C.D.6.若函数中有定义语句“int k;”,则U /U。 A
3、.系统将自动给 k 赋初值 0 B.这时 k 中的值无定义 C.系统将自动给 k 赋初值-1 D.这时 k 中无任何值(分数:2.00)A.B.C.D.7.有如下定义:int a5=1,3,5,7,9,*p=a;下列表达式中不能得到数值 5 的是_。 A.a2 B.a3 C.*(p+2) D.*p+4(分数:1.00)A.B.C.D.8.语句 coutsetprecision(2)1024.4567;的输出结果为 A. 1024.4567 B. 1024 C. 1024.45 D. le+003(分数:1.00)A.B.C.D.9.若有如下程序:#includeiostreamusing na
4、mespace std;class TestClasspublic:void who() cout“TestClass“endl;class TestClass1:public TestClasspublic:void who()cout“TestClass1“endl;int main()TestClass *p;TcstClass1 obj1;p=p-who();return 0;则该程序运行后的输出结果是U /U。 A. TestClass1 B. TestClass C. 0 D. 无输出(分数:2.00)A.B.C.D.10.将 E-R 图转换到关系模式时,实体与联系都可以表示成 A
5、.属性 B.关系 C.键 D.域(分数:1.00)A.B.C.D.11.U /U复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。 A.详细设计 B.系统设计 C.正式 D.非正式(分数:2.00)A.B.C.D.12.关于友元的概念错误的是U /U。 A.友元函数没有 this 指针 B.调用友元函数时必须在它的实参中给出要访问的对象 C.一个类的成员函数也可以作为另一个类的友元函数 D.只能在类的公有段声明友元(分数:1.00)A.B.C.D.13.在下面程序中,编译时出现错误的是 _。Class A /(1)public: /(2)A()f(); /(3)void B()f()
6、;virtual void f()const=0; /(4); A. (1) B. (2) C. (3) D. (4)(分数:2.00)A.B.C.D.14.适于对动态查找表进行高效率查找的组织结构是U /U。 A. 有序表 B. 分块有序表 C. 三叉排序树 D. 线性链表(分数:2.00)A.B.C.D.15.C+语言中 while 循环和 do-while 循环的主要区别是U /U。 A. do-while 的循环体至少无条件执行一次 B. while 的循环控制条件比 do-while 的循环控制条件严格 C. do-while 允许从外部转到循环体内 D. do-while 的循环体
7、不能是复合语句(分数:2.00)A.B.C.D.16.不合法的 main 函数命令行参数表示形式是 A.main(inta,char*c) B.main(int arc,char * * arv) C.main(int argc,char * argv) D.main(int argv,char * argc)(分数:1.00)A.B.C.D.17.下列有关继承和派生的叙述中,正确的是U /U。 A.如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员 B.派生类的成员函数可以访问基类的所有成员 C.基类对象可以赋值给派生类对象 D.如果派生类没有实现基类的一个纯虚函数,则该派生
8、类是一个抽象类(分数:2.00)A.B.C.D.18.已知类 MyClass 声明如下: class MyClass int U; public: MyClass(int k):n(k) int getValue( )constreturn n; ; 在下列数组定义中正确的是 A. MyClass xl2; B. MyClass x22=new MyClass(1),new MyClass(2); C. MyClass*x32; D. MyClass*x42=MyClass(1),MyClass(2);(分数:2.00)A.B.C.D.19.一个函数功能不太复杂但要求被频繁调用,应选用 A.内
9、联函数 B.重载函数 C.递归函数 D.嵌套函数 (分数:1.00)A.B.C.D.20.树是结点的集合,它的根结点数目是U /U。 A.有且只有 1 B.1 或多于 1 C.0 或 1 D.至少 2(分数:2.00)A.B.C.D.21.数据库技术的根本目标是要解决数据的U /U。 A. 存储问题 B. 共享问题 C. 安全问题 D. 保护问题(分数:2.00)A.B.C.D.22.以下程序的输出结果是U /U。#includeiostream.hvoid main()int i, j,x=0;fof (i=0;i2;i+=x+;for(j=0;j3;j+=if(j%2)continue:x
10、+;x+;cout“x=“x;= A. x=4 B. x=8 C. x6 D. x=12(分数:1.00)A.B.C.D.23.有如下函数模板声明:templatetypename,TT Max(T a,T b)return(ab)?a:b;下列对函数模板 Max()的调用中错误的是_。 A.Max(3.5,4.5) B.Max(3.5,4) C.Maxdouble(3.5,4.5) D.Maxdouble(3.5,4)(分数:1.00)A.B.C.D.24.要通过函数实现一种不太复杂的功能,并且要求加快执行速度,则应该选用 A. 重载函数 B. 内联函数 C. 静态函数 D. 虚函数(分数:
11、2.00)A.B.C.D.25.以下选项中合法的实型常数是 A. 5 E 2.0 B. E-3 C. .2 E0 D. 1.3 E(分数:2.00)A.B.C.D.26.在一个无向图中,所有顶点的度数之和等于所有边数的U /U倍。 A. 3 B. 2 C. 1 D. 1/2(分数:2.00)A.B.C.D.27.设有 int x11;,则表达式(x+*2/3)的值是U /U。 A. 7 B. 8 C. 11 D. 12(分数:2.00)A.B.C.D.28.下列程序执行结果是#includeiostream.hclass A public:int a;A( ):a(10)toutaendl;v
12、oid main( ) A obj1;A obj2(obj1);cout“ “obj2.aendl; A. 10 10 B. 编译错误缺少拷贝构造函数 C. 10 随机数 D. 随机数随机数(分数:2.00)A.B.C.D.29.软件生命周期的三个阶段是_ 、软件开发、运行维护。 A. 软件需求 B. 软件设计 C. 软件测试 D. 软件分析(分数:2.00)A.B.C.D.30.下列数组的定义中,会产生错误的是U /U。 A. int a=0,1,2,3,4,5,6; B. int a10=0,1,2,3,4,5,6; C. char a5=“hello“; D. char a5=h,e,1
13、,1,o;(分数:1.00)A.B.C.D.31.下列关于 getline()函数的描述,不正确的是_。 A. getline()函数是用来从输入流中读取字符串的 B. getline()函数读取字符串的长度是受到限制的 C. getline()函数读取字符串时,遇到终止符时就停止 D. getline()函数中所使用的终止符只能是换行符(分数:2.00)A.B.C.D.32.下列关于信息和数据的叙述不正确的是U /U。 A.信息是数据的符号表示 B.信息是数据的内涵 C.信息是现实世界事物的存在方式或运动状态的反映 D.数据是描述现实世界事物的符号记录(分数:2.00)A.B.C.D.33.
14、有以下类定义:class Point public:Point(int x=0,int y=0)_x=x; _y=y;void Move(int x Off, int y Off)_x+=x Off; _y+=y Off; void Print() constcout ( _x , _y ) end 1;private:int _x,_y;下列语句中会发生编译错误的是_。 A. Point pt; pr. Print(); B. const Point pt; pt. Print(); C. Point pt; pt. Move(1,2); D. const Point pt; pt. Mov
15、e(1,2);(分数:2.00)A.B.C.D.34.算法分析的目的是U /U。 A.找出数据结构的合理性 B.找出算法中输入和输出之间的关系 C.分析算法的易懂性和可靠性 D.分析算法的效率以求改进(分数:2.00)A.B.C.D.35.在数据结构中,从逻辑上可以把数据结构分成U /U。 A.动态结构和静态结构 B.线性结构和非线性结构 C.集合结构和非集合结构 D.树状结构和图状结构(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:26.00)36.在下面程序的横线处填上适当的内容,使程序执行后的输出结果为 ABCD。 #includeiostream.h using
16、 namespace std; class A public:A()coutA; ; class B:_ public:B()coutB; ; class C:_ public:C()coutC; ; class D:public B,public C public:D()coutD; ; void main()D obj;(分数:2.00)填空项 1:_37.阅读下列程序: #includeiostream.h void fun(int n) int x(5); static int y(10); if(n0) +x; +y; coutx“,“yendl; void main() int m
17、(1); fun(m); 则该程序的输出结果是_。(分数:2.00)填空项 1:_38.请按下面注释的提示,将类 B 的构造函数定义补充完整。 classA int a; public: A(int aa=0) aaa;) ; Class B:public A int b; A c; public: /用 aa 初始化基数 A,用 aa+1 初始化类对象成员 c B(int aa): (b=aa+2) ;(分数:2.00)填空项 1:_39.在面向对象方法中,类之间共享属性和操作的机制称为 1。(分数:2.00)填空项 1:_40.将一个函数声明为一个类的友元函数必须使用关键字U U /U /
18、U。(分数:2.00)填空项 1:_41.在面向对象方法中,信息隐蔽是通过对象的U U /U /U来实现的。(分数:1.00)填空项 1:_42.关系代数是关系操作语言的一种传统表示方式,它以集合代数为基础,它的运算对象和运算结果均为 1。(分数:2.00)填空项 1:_43.按“先进先出”原则组织数据的数据结构是U U /U /U。(分数:2.00)填空项 1:_44.流操作子 1 向输出流中插入一个换行符并刷新输出缓冲区。(分数:1.00)填空项 1:_45.如果在一棵二叉树中有 17 个度为 2 的结点,则该二叉树中有 1 个叶子结点。(分数:2.00)填空项 1:_46.要获得一数据或
19、数据类型所占空间的字节数,应使用的操作符是U U /U /U。(分数:2.00)填空项 1:_47.在算法的 4 个特性中,算法必须能在执行有限个步骤之后终止指的是算法的 1 特性。(分数:2.00)填空项 1:_48.C+语言的基本控制结构为顺序结构、选择结构和 1。(分数:1.00)填空项 1:_49.深度为 5 的满二叉树有 1 个叶子结点。(分数:2.00)填空项 1:_50.表达式 operator+(x,y)还可以表示为U U /U /U。(分数:1.00)填空项 1:_二级 C+-14-2 答案解析(总分:86.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:6
20、0.00)1.下面程序的输出是main()int x=100, a=10, b=20, ok1=5, ok2=0;if(ab)if(b! =15)if( ! ok1)elseif(ok2) x= 10x=-1coutxend1; A. -1 B. 0 C. 1 D. 不确定的值(分数:2.00)A. B.C.D.解析:解析 本题考察订语句的嵌套,else 总是与最近的那个 if 配对,只要考生按照逻辑表达式的值进行细心判断就可以得到正确的答案。考生需要注意的是,在 C+语言中,0 表示假,非 0 即为真,因此可以用数字作为逻辑判断的依据。2.在 C语言程序中,对象之间的相互通信通过 A. 继承
21、实现 B. 调用成员函数实现 C. 封装实现 D. 函数重载实现(分数:2.00)A.B. C.D.解析:解析 对象属于某个已知的类,是类的实例,对象之间通信实际上就是通过函数传递信息,封装是把数据和操作结合在一起,继承是对于类的方法的改变和补充,重载是多态性之一。3.有如下数组声明:int num10;,下标值引用错误的是 A.num10 B.num5 C.num3 D.num0(分数:1.00)A. B.C.D.解析:解析 数组定义中的数字指的是数组的大小,而下标是从 0 开始的,所以题中数组的最后一个元素是 num9。4.下列关于类和对象的叙述中,错误的是U /U。 A. 一个类只能有一
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C142 答案 解析 DOC
