【计算机类职业资格】二级C++笔试83及答案解析.doc
《【计算机类职业资格】二级C++笔试83及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试83及答案解析.doc(12页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 83及答案解析(总分:98.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下面程序的运行结果为 #includeiostream,h class A public: A()cout“1“; A()cout“2“; ; Class B:public A public: B()cout“3“; B()cout“4“; ; void main() B b; (分数:2.00)A.1234B.1324C.1342D.31422.下列有关数据库的描述,正确的是(分数:2.00)A.数据库是一个 DBF文件B.数据库是一个关系C.数据库是一个结构化的数据
2、集合D.数据库是一组文件3.下列程序的输出结果是 #includeiostreamh int min(int a,int b) if(ab)return a; else return b; return 0; void main() coutmin(1,min(2,3)end1; (分数:2.00)A.0B.1C.2D.34.C+语言对 C语言做了很多改进,C+语言相对于 C语言的最根本的变化是(分数:2.00)A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念5.下列哪个是 C+语言的有效标识符?(分数:2.00)A._No1B.
3、N1C.12345D.int6.下面关于数组的初始化正确的是(分数:2.00)A.char str=a,b,cB.char str2=a,b,cC.char str23=a,b,c,d,e,fD.char str()=a,b,c7.下面对于友元函数描述正确的是(分数:2.00)A.友元函数的实现必须在类的内部定义B.友元函数是类的成员函数C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员8.下面对静态数据成员的描述中,正确的是(分数:2.00)A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以被类的对象调用C.静态数据成员不能受 ptirate控制符的作用D.静态数
4、据成员可以直接用类名调用9.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是 A)派生类的对象可以赋给基类的对象 B)派生类的对象可以初始化基类的引用 C)派生类的对象可以直接访问基类中的成员 0)派生类的对象的地址可以赋给指向基类的指针(分数:2.00)A.B.C.D.10.下列程序的执行结果为 #includeiostreamh void main() int a=3,b=0; int * p= A()cout“2“; ; Class B:public A public: B()cout“3“; B()cout“4“; ; void main() B b; (分数:2.
5、00)A.1234B.1324C.1342 D.3142解析:解析 公有继承的派生类和基类是子类型的关系,所谓子类型是类型间一般和特殊的关系,即派生类是基类的子类型或者说基类的操作可以被用于操作派生类的对象。2.下列有关数据库的描述,正确的是(分数:2.00)A.数据库是一个 DBF文件B.数据库是一个关系C.数据库是一个结构化的数据集合 D.数据库是一组文件解析:解析 数据库(Database,简称 DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中的数据具有“集成”、“共享”之特点。3.下列程序的输出结果是 #incl
6、udeiostreamh int min(int a,int b) if(ab)return a; else return b; return 0; void main() coutmin(1,min(2,3)end1; (分数:2.00)A.0B.1C.2D.3 解析:解析 C+语言中,在定义该函数时所指定的数据类型决定函数的返回值类型。4.C+语言对 C语言做了很多改进,C+语言相对于 C语言的最根本的变化是(分数:2.00)A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念 解析:解析 C+语言最重要的特点是具为一种面向对象的
7、程序设计语言,但是 C+语言也包含了全部的C语言的特征。5.下列哪个是 C+语言的有效标识符?(分数:2.00)A._No1 B.N1C.12345D.int解析:解析 标识符是一个以字母或下划线开始的,由字母、下划线和数字组成的字符串,标识符不能与任意关键字同名。6.下面关于数组的初始化正确的是(分数:2.00)A.char str=a,b,cB.char str2=a,b,c C.char str23=a,b,c,d,e,fD.char str()=a,b,c解析:解析 本题考查的是基本循环语句的使用,选项 A),选项 C)和选项 D)都为正确的形式,在选项 B)中的 while(a=10
8、)后缺少结束符分号“;”。7.下面对于友元函数描述正确的是(分数:2.00)A.友元函数的实现必须在类的内部定义B.友元函数是类的成员函数C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员 解析:解析 静态数据成员必须在类体外初始化,它是类的所有对象的共有成员,需要使用类名调用,静态数据成员的初始化与权限控制无关。8.下面对静态数据成员的描述中,正确的是(分数:2.00)A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以被类的对象调用 C.静态数据成员不能受 ptirate控制符的作用D.静态数据成员可以直接用类名调用解析:解析 本题考查的是内联函数的定义,引入内联
9、函数是为了解决程序中函数调用的效率问题,是以目标代码的增加为代价换取时间的节省;一般函数在运行时被调用,而调用的内联函数在编译时就被替代了,如果不加 inline关键字,则编译器会将在类说明部分定义的任何函数都被认定为内联函数。9.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是 A)派生类的对象可以赋给基类的对象 B)派生类的对象可以初始化基类的引用 C)派生类的对象可以直接访问基类中的成员 0)派生类的对象的地址可以赋给指向基类的指针(分数:2.00)A.B.C. D.解析:解析 友元函数的定义既可以在类内部进行,也可以在类外部进行。它提高了程序的运行效率,但破坏了类的
10、封装性和隐藏性,使得类的非成员函数可以访问类的私有成员。10.下列程序的执行结果为 #includeiostreamh void main() int a=3,b=0; int * p=&a; b=+a+; cout * p”,” bendl; A)3,4 B)4,3 C)3,4 D)4,4 (15)下面程序的运行结果为 #includeiostreamh void main() for(int a=0,x=0;! x&a=10;a+) a+; coutaend1; (分数:2.00)A.10B.11 C.12D.0解析:解析 *p 为所指对象 a的值,语句 “b=+a+;”等价于“b=b+a
11、;a=a+1;”。11.下列程序的运行结果为 #includeiostreamh void print(double a) cout+a; void print(int a,int b) coutba; Void main() print(1.2); cout“ “; print(3,4);(分数:2.00)A.1.2 34B.2.2 34 C.1.2 43D.2.2 43解析:解析 本题考查的是函数的调用,第一次调用 min(2,3),因为 23,所以返回值为 2,第二次调用 min(1,2),因为 l2,所以返回 1。12.决定 C+语言中函数的返回值类型的是(分数:2.00)A.retu
12、rn语句中的表达式类型B.调用该函数时系统随机产生的类型 C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型解析:解析 本题主要考查的是指针数组和指向指针的指针之间的关系,其中 a是指针数组,pa 是指向指针数组行的指针,所以 pa自加 1相当于指向下一行。13.下列程序的输出结果为 #includeiostreamh void main() char*a=“hello“,“the“,“world“; char*pa=a; pa+; cout*paend1; (分数:2.00)A.hello B.theC.worldD.hello the world解析:解析 本题考查的是字符
13、数组的初始化,选项 B)中用 3个元素初始化大小为 2的数组,越界了;选项 C)中应该是 2行 3列的数组,题中使用 3行 2列初始化;选项 D)中数组合后应用方括号。14.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是(分数:2.00)A.公有类型B.私有类型C.保护类型D.友元类型 解析:解析 本题考查的是对重载函数的掌握,因为+a 是右结合的,所以 a先自加 1再输出,即为22,之后调用函数 print(int a,int b)输出 b和 a,即 43。15.算法的时间复杂度是指(分数:2.00)A.执行算法程序所需要的时间B.算法程序的长度C.算法
14、执行过程中所需要的基本运算次数 D.算法程序中的指令条数解析:解析 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度般是指执行这个算法所需要的内存空间。16.设有定义 int x;float y;,则 10+x+y值的数据类型是(分数:2.00)A.intB.doubleC.float D.不确定解析:解析 由算术运算符组成的表达式中,若含有不同类型的操作数,则系统隐含地将低类型转化为高类型,由低至高的顺序为 int -float-double。17.当使用 fstream流类定义一个流对象并打开一个磁盘文件时,文件的
15、隐含打开方式为(分数:2.00)A.iosinB.iosoutC.iosin,iosoutD.以上都不对 解析:解析 使用 fstream类建立文件流必须定义打开方式,否则编译器无法判断该文件流是读还是写。18.下列关于虚基类的描述,错误的是(分数:2.00)A.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序凋用 D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数解析:解析 本题考查的是在继承中构造函数和析构函数的调用顺序,应该是先调用基类的构造函数,再调用派生类的构造函数,
16、调用析构函数时的顺序是先调用派生类的析构函数,后调用基类的析构函数。19.下列程序的运行结果是 #includeisotreamh class A int a; public: A()a=0; A(int aa) a=aa; couta+; ; void main() A x,y(2),z(3); coutend1; (分数:2.00)A.00B.23 C.34D.25解析:解析 本题考查的是对构造函数的掌握,另外“+”运算符是右结合的,所以在进行输出的时候都是先把原来的输出后再自加 1。20.栈和队列的共同特点是(分数:2.00)A.都是先进先出B.都是先进后出C.只允许在端点处插人和删除元
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 83 答案 解析 DOC
