【计算机类职业资格】全国计算机等级考试二级C++真题题库1+2015年3月及答案解析.doc
《【计算机类职业资格】全国计算机等级考试二级C++真题题库1+2015年3月及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】全国计算机等级考试二级C++真题题库1+2015年3月及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、全国计算机等级考试二级 C+真题题库 1+2015 年 3 月及答案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 1 分,共 40 分)(总题数:40,分数:40.00)1.下列排序方法中,最坏情况下比较次数最少的是( )。(分数:1.00)A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序2.下面程序的运行结果为( )。 #include class A public: A()toutP:(分数:1.00)A.* P 表示的是指针变量 P 的地址B.P 表示的是变量 a 的地址,而不是变量 a 的值C.*P 表示的是指针变量 P 的值D.*P 只能用来说明 P 是
2、一个指针变量4.与语句 coutP:(分数:1.00)A.* P 表示的是指针变量 P 的地址B.P 表示的是变量 a 的地址,而不是变量 a 的值 C.*P 表示的是指针变量 P 的值D.*P 只能用来说明 P 是一个指针变量解析:P 表示的是变量 a 的地址,定义后*P 表示的是变量 a 的值。4.与语句 coutA.cout B.coutC.cout D.cout解析:题干表示的是回车换行,选项 A、B、c 都表示回车换行,而选项 D 是字符串的结尾标志。5.如果表达式 x * y+z 中,“*”是作为友元函数重载的,“+”是作为成员函数重载的,则该表达式还可为( )。(分数:1.00)
3、A.operator+(operator*(X,Y),z) B.xoperator+(operator * (x,y),Z)C.Yoperator * (operator+(x,Y),z)D.xoperator+(operator(X,Y)解析:C+中用成员函数重载 x * y 为:xoper-ator(y),用友元函数重载 x*Y 为:(,perator*(x,Y),用成员函数重载 x+Y 为:xoperator+(Y),用友元函数重载 x+Y 为:operator+(x,Y)。6.在下列关键字中,不能用来表示继承方式的是( )。(分数:1.00)A.privateB.static C.pu
4、blicD.protected解析:3 种继承方式:公用继承、私有继承和保护继承分别使用 public、private 和 protected3 个关键字来定义。7.下面的( )选项不能作为函数的返回类型。(分数:1.00)A.voidB.intC.new D.long解析:new 是动态申请内存空间时使用的关键字,不能作为函数的返回类型,选项 A 为无返回值,选项 B为返回整型,选项 D 为返回长整型。8.有如下函数定义: void funC(int a,int&Ba+;b+; 若执行代码段: int x=0,Y=1: funC(X,y); 则变量 X 和 y 的值分别是( )。(分数:1.
5、00)A.0 和 1B.1 和 1C.0 和 2 D.1 和 2解析:函数参数的 3 种传递方式:将变量名作为形参和实参,即传值方式;传递变量指针;引用形参。本题中实参 x 为传值方式,所以 X 的值不会改变;Y 为引用形参,所以会改变。故本题答案为 C。9.定义无符号整数类为 UInt,下面可以作为类 UInt 实例化值的是( )。(分数:1.00)A.-369B.369 C.0.369D.整数集合1,2,3,4,5解析:只有 B 选项中 369 可以用无符号整数来表示和存储。A 选项中一 369 有负号,选项 C 中 0369 是小数都不能用无符号整数类存储。选项 D 是一个整数集合得用数
6、组来存储。10.下列关于类定义的说法中,正确的是( )。(分数:1.00)A.类定义中包括数据成员和函数成员的声明 B.类成员的缺省访问权限是保护的C.数据成员必须被声明为私有的D.成员函数只能在类体外进行定义解析:类的成员的缺省访问权限是私有的,数据成员可以是私有,可以是公用的,也可以是受保护的。类的成员函数可以在类内定义。11.有如下程序: #nclude using namespace std; int main() void function(double val); double val; function(val); coutA.编译出错,无法运行B.输出:3C.输出:30D.输出
7、一个不确定的数 解析:本题考查函数调用及传值方式传递参数,执行函数 function 时,并没有将 3 的值传回来,而 val又没有初始化,所以会输出一个不确定的值,D 选项正确。12.this 指针是 C+语言实现( )的一种机制。(分数:1.00)A.抽象B.封装 C.继承D.重载解析:this 指针是 c+语言实现封装的一一种机制,它将对象和该对象调用的成员函数连接在一起在外部看来,每-个对象都拥有自己的函数成员。13.下面关于虚函数的描述,错误的是( )。(分数:1.00)A.在成员函数声明的前面加上 virtual 修饰,就可把该函数声明为虚函数B.基类中说明了虚函数后,派生类中对应
8、的函数也必须说明为虚数 C.虚函数可以是另一个类的友元函数,但不能是静态成员函数D.基类中说明的纯虚函数在其任何派生类中都必须实现解析:基类中说明的虚函数,在派生类中自然就是虚函数,对于纯虚函数必须在后面继承的派生类中给出具体的实现;静态成员函数不能进行动态联编,所以虚函数不能是静态的。14.有如下程序: #include using namespaee std; int main() void function(double val); double val: function(val); eoutA.编译出错,无法运行B.输出:3C.输出:30D.输出一个不确定的数 解析:本题考查函数调用
9、及传值方式传递参数,执行函数 function 时,并没有将 3 的值传回来,而 val又没有初始化,所以会输出一个不确定的值,D 选项正确。15.面向对象方法中,继承是指( )。(分数:1.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制 解析:继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。16.下列程序的运行结果为( )。 #include void main() int
10、a=2: int b=a+1: coutA.066667B.0 C.07D.066666666解析:表达式值的类型是由操作数的类型决定的,因为本题的两个数都是 int 型的,所以得出的结果也为int 型,即去掉小数点后的部分,只取商的整数部分。17.有如下定义: int a5=1,3,5,7,9,* P=a; 下列表达式中不能得到数值 5 的是( )。(分数:1.00)A.a2B.a3 C.*(P+2)D.+P+4解析:本题考查指向数组的指针,本题中指针变量 P 指向数组 a,直接使用数组下标即可取值,数组 F 标是从 0 开始标号的,所以 a2能取到 5,而 a3取不到 5,(:选项中使用指
11、针后移方法能够取到 5,D 选项中*P 为 1,所以*P+4 为 5。18.C+系统预定义了 4 个用于标准数据流的对象,下列选项中不属于此类对象的是( )。(分数:1.00)A.coutB.cinC.cerrD.cset 解析:c+标准数据流的对象分别足 cout、cin、CelT、cl09,所以本题答案为 D。19.有如下程序: #include using namespace std; class GA public: virtual int f()t retum l; ;class GB:public GA public: virtual int f()retum 2; ; void
12、show(GA g)eoutA.1111B.1211C.1112 D.1212解析:本题主要考察虚函数。虚函数指在某基类中声明为 virtual 并在一一个或多个派生类中被重新定义的成员函数,本题中定义类 GA 的对象 a,执行 show(a)、display(a),输出 ll,定义了类 GB 的对象 b,执行 show(b),仍然输出 1,display(b)执行会调用派生类的 f 函数,因为 f 函数为虚函数,输出 2,所以本题答案为 c。20.下列叙述中正确的是( )。(分数:1.00)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构 C.循环
13、链表是非线性结构D.双向链表是非线性结构解析:线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,所以 8 正确。所以有一个以上根结点的数据结构一定是非线性结构,所以 A 错误。循环链表和双向链表都是线性结构的数据结构。21.下列关于虚函数的说明中,正确的是( )。(分数:1.00)A.从虚基类继承的函数都是虚函数B.虚函数不得是静态成员函数 C.只能通过指针或引用调用虚函数D.抽象类中的成员函数都是虚函数解析:在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数一虚函数必须是基类的非静态成员函数,其访问权限可以是 protected 或 pu
14、blic。如果一个类包含了纯虚函数,称此类为抽象类。所以本题答案为 B。22.某二叉树共有 7 个结点,其中叶子结点只有 l 个,则该二叉树的深度为(假设根结点在第 1 层)( )。(分数:1.00)A.3B.4C.6D.7 解析:根据二叉树的基本性质 3:在任意一棵二叉树中,度为 0 的叶子结点总比度为 2 的结点多一个,所以本题中度为 2 的结点为 1-1=0 个,所以可以知道本题目中的二叉树的每一个结点都有一个分支,所以共7 个结点共 7 层,即度为 7。23.在数据库设计中,将 ER 图转换成关系数据模型的过程属于( )。(分数:1.00)A.需求分析阶段B.概念设计阶段C.逻辑设计阶
15、段 D.物理设计阶段解析:ER 图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。24.下列关于类模板的模板参数的叙述中,错误的是( )。(分数:1.00)A.模板参数可以作为数据成员的类型B.模板参数可以作为成员函数的返回类型C.模板参数可以作为成员函数的参数类型D.模板参数不能作为成员函数的局部变量的类型 解析:本题考查类模板的概念和定义,模板参数可以作为成员函数的局部变量的类型。25.在软件开发中,需求分析阶段产生的主要文档是( )。(分数:1.00)A.可行性分析报告B.软件需求规格说明书 C.概要没计说明书D.集成测试计划解析:A 错误,可
16、行性分析阶段产生可行性分析报告。C 错误,概要设计说明书是总体设计阶段产生的文档。D 错误,集成测试计划是在概要设计阶段编写的文档。B 正确,软件需求规格说明书是后续工作如设计、编码等需要的重要参考文档。26.下面关于模板的描述,错误的是( )。(分数:1.00)A.函数模板和类模板的参数可以是任意的数据类型 B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用C.函数模板不能直接使用,需要实例化为模板函数后才能使用D.类模板的成员函数都是模板函数解析:类模板不能被重载,而函数模板可以,它们不能被未知的数据类型替换。27.数据库系统的三级模式不包括( )。(分数
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 全国 计算机等级考试 二级 题库 12015 答案 解析 DOC
