【计算机类职业资格】二级C++笔试-236及答案解析.doc

上传人:tireattitude366 文档编号:1324477 上传时间:2019-10-17 格式:DOC 页数:22 大小:69.50KB
下载 相关 举报
【计算机类职业资格】二级C++笔试-236及答案解析.doc_第1页
第1页 / 共22页
【计算机类职业资格】二级C++笔试-236及答案解析.doc_第2页
第2页 / 共22页
【计算机类职业资格】二级C++笔试-236及答案解析.doc_第3页
第3页 / 共22页
【计算机类职业资格】二级C++笔试-236及答案解析.doc_第4页
第4页 / 共22页
【计算机类职业资格】二级C++笔试-236及答案解析.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、二级 C+笔试-236 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列程序的运行结果为#includeiostream.htemplateclass TT class FF TTa1,a2,a3;public:FF(TTb1,TTb2,TTb3)a1=b1;a2=b2;a3=b3;TT Sum( )return al+a2+a3;void main( ) FF int x (int(1.1),2,3),y(int(4.2),5,6);cout xSum( )ySum( )end1;(分数:2.00)A.6.1 15.2B.6 15C.

2、615.2D.6.1152.继承机制的作用是(分数:2.00)A.信息隐藏B.数据封装C.定义新类D.数据抽象3.检查软件产品是否符合需求定义的过程称为(分数:2.00)A.确认测试B.集成测试C.验证测试D.验收测试4.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(分数:2.00)A.控制流B.加工C.数据存储D.源和潭5.下面程序的运行结果为#include iostream.h class Astatic int n;public:A( )n=1;A(int num) n = num;void print( )cou

3、t n;int A:n=2;void main( )A a,b (3);aprint( );bprint( );cout end1;(分数:2.00)A.11B.13C.23D.336.存在定义 int a10,x,*Pa;,若 pa=下面正确的叙述是(分数:2.00)A.A:func2( )和 B:func1( )都是虚函数B.A:func2( )和 B:func1( )都不是虚函数C.B:func1( )是虚函数,而 A:func2( )不是虚函数D.B:func1( )不是虚函数,而 A:func2( )是虚函数16.下列程序的运行结果为#include iostream.h void

4、main( )int a=2;int b=a+l;cout a/b end1;(分数:2.00)A.066667B.0C.07D.0.6666666617.下面程序的运行结果为#include iostream.h void swap ( int in;i+)result=result*ai;return result;void main( ) int a3=3,4,5;cout fun(a,3) end1;(分数:2.00)A.12B.15C.20D.6022.下面关于 C+语言变量的叙述错误的是(分数:2.00)A.C+语言中变量分为 auto,static,extern 和 regist

5、er四种存储类型B.自动变量和外部变量的作用域为整个程序C.内部静态变量的作用域是定义它的函数D.外部静态变量的作用域是定义它的文件23.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是(分数:2.00)A.数据库系统B.文件系统C.人工管理D.数据项管理24.通常拷贝构造函数的参数是(分数:2.00)A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名25.算法的空间复杂度是指(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行过程中所需要的存储空间26.用链表表示线性表的

6、优点是(分数:2.00)A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作D.数据元素的物理顺序与逻辑顺序相同27.下面程序的运行结果是#includeiostream.hclass baseprotected: int a; public:base( )cout“0“;class basel:virtual base public: base1( )cout“1“; class base2:virtual basepublic:base2( )cout“2“;class derived:public base1,public base2public:derived( )co

7、ut“3“;void main( )derived obj;cout end1;(分数:2.00)A.0123B.3120C.0312D.301228.在 C+语言程序中,对象之间的相互通信通过(分数:2.00)A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现29.一个函数功能不太复杂但要求被频繁调用,应选用(分数:2.00)A.内联函数B.重载函数C.递归函数D.嵌套函数30.下列不是描述类的成员函数的是(分数:2.00)A.构造函数B.析构函数C.友元函数D.拷贝构造函数31.下面程序的运行结果是#includeiostream.hvoid main( )int i=1;whi

8、le(i=8)if ( +i%3!=2)continue;else couti;(分数:2.00)A.25B.36C.258D.36932.C+语言类体系中,不能被派生类继承的有(分数:2.00)A.转换函数B.构造函数C.虚函数D.静态成员函数33.设 int a=l,b=2;,则(a+)+b 和 a+ +b这两个表达式的值分别为(分数:2.00)A.3,3B.3,4C.4,3D.4,434.在数据库设计中,将 ER 图转换成关系数据模型的过程属于(分数:2.00)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段35.有如下数组声明:int num10;,下标值引用错误的是(

9、分数:2.00)A.num10B.num5C.num3D.num0二、填空题(总题数:14,分数:30.00)36.数据的逻辑结构有线性结构和 【1】 两大类。(分数:2.00)填空项 1:_37.顺序存储方法是把逻辑上相邻的结点存储在物理位置 【2】 的存储单元中。(分数:2.00)填空项 1:_38.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 【3】 。(分数:2.00)填空项 1:_39.软件工程研究的内容主要包括 【4】 技术和软件工程管理。(分数:2.00)填空项 1:_40.关系操作的特点是 【5】 操作。(分数:2.00)填空项 1:_41.C+中

10、封装性、继承性和 【6】 是面向对象思想的主要特征。(分数:2.00)填空项 1:_42.下面程序的结果为 【7】 。#includeiostream.h void main( )int a=1,b=2;bool c=1;if(ab) |c) cout“true“ end1;elsecout“false“end1;(分数:2.00)填空项 1:_43.下列 for语句的循环次数为 【8】 。for (int a=0,b=1;bi+) cout ai“ “;cout end1;(分数:2.00)填空项 1:_45.C+程序是从 【10】 函数开始执行的。(分数:2.00)填空项 1:_46.假定

11、 A为一个类,则语句 A(A A(int num) n = num;void print( )cout n;int A:n=2;void main( )A a,b (3);aprint( );bprint( );cout end1;(分数:2.00)A.11B.13C.23D.33 解析:解析 本题考查的是静态数据成员的使用,n 为类 A的静态成员,即为类 A的所有对象共有的成员,所以,当对象 b把 n初始化为 3时,对象 a的成员 n的值也为 3(这两个 n实际上是同一个)。6.存在定义 int a10,x,*Pa;,若 pa=下面正确的叙述是(分数:2.00)A.A:func2( )和 B

12、:func1( )都是虚函数B.A:func2( )和 B:func1( )都不是虚函数C.B:func1( )是虚函数,而 A:func2( )不是虚函数 D.B:func1( )不是虚函数,而 A:func2( )是虚函数解析:解析 基类中说明的虚函数,在派生类中自然就是虚函数,所以类 B中 funcl()是虚函数;而类A中的 func2没有被关键字 virtual修饰,所以不是虚函数。16.下列程序的运行结果为#include iostream.h void main( )int a=2;int b=a+l;cout a/b end1;(分数:2.00)A.066667B.0 C.07D

13、.0.66666666解析:解析 表达式值的类型是由操作数的类型决定的,因为本题的两个数都是 int型的,所以得出的结果也为 int型,即去掉小数点后的部分,只取商的整数部分。17.下面程序的运行结果为#include iostream.h void swap ( int in;i+)result=result*ai;return result;void main( ) int a3=3,4,5;cout fun(a,3) end1;(分数:2.00)A.12B.15C.20 D.60解析:解析 for 循环执行 2次,所以第一次 for 循环为 result=1*al=4,第二次 for循环

14、为 result =4*a2=20。22.下面关于 C+语言变量的叙述错误的是(分数:2.00)A.C+语言中变量分为 auto,static,extern 和 register四种存储类型B.自动变量和外部变量的作用域为整个程序 C.内部静态变量的作用域是定义它的函数D.外部静态变量的作用域是定义它的文件解析:解析 自动变量是函数体或分程序内定义的变量,它的作用域在所定义的函数体内或分程序体内。23.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是(分数:2.00)A.数据库系统 B.文件系统C.人工管理D.数据项管理解析:解析 人工管

15、理阶段是在 20世纪 50年代中期以前出现的,数据不独立,完全依赖于程序;文件系统是数据库系统发展的初级阶段,数据独立性差;数据库系统具有高度的物理独立性和一定的逻辑独立性。24.通常拷贝构造函数的参数是(分数:2.00)A.某个对象名B.某个对象的成员名C.某个对象的引用名 D.某个对象的指针名解析:解析 拷贝初始化构造函数的作用是用一个已知的对象来初始化一个被创建的同类的对象,该函数只有一个参数,并且是对同类的某个对象的引用。25.算法的空间复杂度是指(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行过程中所需要的存储空间 解析:解析 算法的复杂

16、度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。26.用链表表示线性表的优点是(分数:2.00)A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作 D.数据元素的物理顺序与逻辑顺序相同解析:解析 链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。27.下面程序的运行结果是#includeiostream.hclass baseprotected: i

17、nt a; public:base( )cout“0“;class basel:virtual base public: base1( )cout“1“; class base2:virtual basepublic:base2( )cout“2“;class derived:public base1,public base2public:derived( )cout“3“;void main( )derived obj;cout end1;(分数:2.00)A.0123 B.3120C.0312D.3012解析:解析 本题考查的是含有虚基类的继承中构造函数的调用顺序,应该先调用基类的构造函数

18、,接着是按照派生类继承列表的顺序依次调用虚基类的构造函数,最后调用派生类自己的构造函数。28.在 C+语言程序中,对象之间的相互通信通过(分数:2.00)A.继承实现B.调用成员函数实现 C.封装实现D.函数重载实现解析:解析 对象属于某个已知的类,是类的实例,对象之间通信实际上就是通过函数传递信息,封装是把数据和操作结合在一起,继承是对于类的方法的改变和补充,重载是多态性之一。29.一个函数功能不太复杂但要求被频繁调用,应选用(分数:2.00)A.内联函数 B.重载函数C.递归函数D.嵌套函数解析:解析 本题考查的是内联函数的使用,它的引入是为了解决程序中函数调用的效率问题,在编译时,编译器

19、将程序中出现的内联函数的调用表达式用内联函数的函数体来替换。30.下列不是描述类的成员函数的是(分数:2.00)A.构造函数B.析构函数C.友元函数 D.拷贝构造函数解析:解析 友元函数是独立于当前类的外部函数,但它可以访问该类的所有对象的成员;拷贝构造函数是使用已存在的对象初始化正在生成的对象时调用的成员函数。31.下面程序的运行结果是#includeiostream.hvoid main( )int i=1;while(i=8)if ( +i%3!=2)continue;else couti;(分数:2.00)A.25B.36C.258 D.369解析:解析 应该先做+运算,然后进行%运算

20、,最后比较不等式,实际上最后输出的结果就是被 3除,余数为 2的不大于 8的数。32.C+语言类体系中,不能被派生类继承的有(分数:2.00)A.转换函数B.构造函数 C.虚函数D.静态成员函数解析:解析 派生类对象的数据结构是由基类中说明的数据成员和派生类中说明的数据成员共同构成,所以不能继承基类的构造函数,必须重新定义。33.设 int a=l,b=2;,则(a+)+b 和 a+ +b这两个表达式的值分别为(分数:2.00)A.3,3 B.3,4C.4,3D.4,4解析:解析 单目的+运算优先级高于双目的 +运算,不过+的结合性是自右向左的,而+是自左至右的,所以上面的两个表达式都是先计算

21、 a+b的值之后,a 再自加 1。34.在数据库设计中,将 ER 图转换成关系数据模型的过程属于(分数:2.00)A.需求分析阶段B.逻辑设计阶段 C.概念设计阶段D.物理设计阶段解析:解析 E-R 模型即实体联系模型,是将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们之间的两种联接关系。数据库逻辑设计阶段包括以下几个过程:从 E-R图向关系模式转换,逻辑模式规范化及调整、实现规范化和 RDBMS,以及关系视图设计。35.有如下数组声明:int num10;,下标值引用错误的是(分数:2.00)A.num10 B.num5C.num3D.num0解析:解析 数组定义中的数字指的是

22、数组的大小,而下标是从 0开始的,所以题中数组的最后一个元素是 num9。二、填空题(总题数:14,分数:30.00)36.数据的逻辑结构有线性结构和 【1】 两大类。(分数:2.00)填空项 1:_ (正确答案:非线性结构)解析:解析 数据的逻辑结构有线性结构和非线性结构两大类。37.顺序存储方法是把逻辑上相邻的结点存储在物理位置 【2】 的存储单元中。(分数:2.00)填空项 1:_ (正确答案:相邻)解析:解析 常用的存储表示方法有 4种,顺序存储、链式存储、索引存储、散列存储。其中,顺序存储方法是把逻辑上相邻的结点存储在物理位置也相邻的存储单元中。38.一个类可以从直接或间接的祖先中继

23、承所有属性和方法。采用这个方法提高了软件的 【3】 。(分数:2.00)填空项 1:_ (正确答案:可重用性)解析:解析 本题考查了继承的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余,提高软件的可重用性。39.软件工程研究的内容主要包括 【4】 技术和软件工程管理。(分数:2.00)填空项 1:_ (正确答案:软件开发)解析:解析 基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。软件工程管理包括:软件管理学、软件工程经济学,以及软件

24、心理学等内容。40.关系操作的特点是 【5】 操作。(分数:2.00)填空项 1:_ (正确答案:集合)解析:解析 在关系操作中,所有操作对象与操作结果都是关系。而关系定义为元数相同的元组的集合。因此,关系操作的特点是集合操作。41.C+中封装性、继承性和 【6】 是面向对象思想的主要特征。(分数:2.00)填空项 1:_ (正确答案:多态性)解析:解析 面向对象系统包含了三个特征-封装性、继承性和多态性,这三个特征可以很好的实现数据抽象,进行行为共享,完成进化求解和描述一个系统的确定行为。42.下面程序的结果为 【7】 。#includeiostream.h void main( )int

25、a=1,b=2;bool c=1;if(ab) |c) cout“true“ end1;elsecout“false“end1;(分数:2.00)填空项 1:_ (正确答案:true)解析:解析 本题考查的是对于逻辑运算符号的理解,“|”运算符的任何一边取值为真,则整个运算结果为真。43.下列 for语句的循环次数为 【8】 。for (int a=0,b=1;bi+) cout ai“ “;cout end1;(分数:2.00)填空项 1:_ (正确答案:1 2 3 4 5)解析:解析 本题考查的是考生使用简单循环输出数组元素的能力,因为结束条件是 i5,而 i初始值为 0,所以只会输出前

26、5个元素。45.C+程序是从 【10】 函数开始执行的。(分数:2.00)填空项 1:_ (正确答案:main)解析:解析 所有的 C+语言程序都是从 main函数开始执行,而普通函数的存在是为了简化 main函数的复杂程度。46.假定 A为一个类,则语句 A(A &A) ;为该类 【11】 函数的原型说明。(分数:2.00)填空项 1:_ (正确答案:拷贝构造)解析:解析 本题考查的是拷贝构造函数的定义,它是一种特殊的成员函数,作用是使用一个已知的对象来初始化一个被创建的同类的对象,定义格式是类名:拷贝构造函数名(类名&引用名)。47.派生类构造函数的执行顺序是先执行 【12】 的构造函数,

27、然后执行成员对象的构造函数,最后执行 【13】 的构造函数。(分数:4.00)填空项 1:_ (正确答案:12基类13派生类)解析:解析 本题主要考查的是派生类构造函数的执行顺序,在 C+语言中构造函数的执行顷序是先基类后派生类,而析构函数的执行顷序正好相反,是先调用派生类后调用基类。48.类模板不同于函数模板,类模板只可用 【14】 型参数。(分数:2.00)填空项 1:_ (正确答案:类)解析:解析 本题考查的是类模板的定义,C+语言中模板分为两种:类模板和函数模板,类模板只能用于类型参数,函数模板可以重载。49.下列程序的执行结果为 【15】 。#includeiostream.h void main( )cout.fill(*);cout.width(10);cout“hello“ end1;(分数:2.00)填空项 1:_ (正确答案:*hello)解析:解析 本题考查的是 C+语言的流输出操作,cout 中包括的函数 fill()和 width()分别实现填充和设定显示长度的功能。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1