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

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

1、二级 C+笔试 331 及答案解析(总分:92.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.关于 new 描述错误的是( )。(分数:2.00)A.使用运算符 new 创建对象数组时必须定义初始值B.使用运算符 new 创建对象时,会调用类的构造函数。C.运算符 new 可以用来动态创建对象和对象数组。D.使用 new 运算符创建的对象可以使用运算符 delete 删除。2.以下错误的 if 语句是( )。(分数:2.00)A.if(xx+;B.if(x+;C.if(x!= coutx;y+;D.if(x x+;coutx;else couty;3.以下程

2、序输出的结果是( )。 void main( ) int x = 1,a =0,b =0; switch(x) case 0:b +; case 1: a + +; case 2:a + ;b +; cout a b;(分数:2.00)A.21B.11C.12D.104.对下面程序描述正确的是( )。 #include iostream using namespace std; class A private: int i; public: class B private: int j; protected: int k; int fun1 ( ); MyB; int fun2 ( ); (分

3、数:2.00)A.定义类 B 的对象的语句是: A:B b;B.类 A 的成员函数 fun2()可以用 Myj 的方式访问类 B 的私有成员 j。C.类 A 的成员函数 fun2()可以用 Myk 的方式访问类 B 的保护成员 k。D.类 B 的成员函数 fun1()可以直接访问类 A 的私有成员 i。5.下列程序的输出结果为( )。 #include (iostream) using namespace std; void main( ) char,a = “hello“ ,“ the“ ,“ world“ ; char * * pa = a: pa + +; cout * pa ENDL;

4、 (分数:2.00)A.helloB.theC.worldD.hellotheworld6.下面程序的运算结果为 ( )。 #include iostream using namespace td; int i; int fun( ) static int i = 10; return + + i; void main ( ) fun( ); cout fun() “ ,“ i; (分数:2.00)A.10,100B.12,100C.12,12D.11,1007.类的析构函数的作用是( )。(分数:2.00)A.一般成员函数B.创建对象C.初始化对象D.删除对象8.人们已经提出了许多种类型的数

5、据依赖,其中最重要的是函数依赖和( )。(分数:2.00)A.数据依赖B.多值依赖C.单值依赖D.数值依赖9.下面正确的函数定义形式为( )。(分数:2.00)A.void fun();B.void fun(int x;int C.void fun() D.void fun(int x, 10.从数据库中获取数据称为( )。(分数:2.00)A.创建数据B.查询数据C.读出数据D.修改数据11.如果一个类至少有一个纯虚函数,那么就称该类为( )。(分数:2.00)A.抽象类B.虚基类C.派生类D.以上三者都不对12.下面函数调用语句含有实参的个数为( )。func( exp1,exp2),(e

6、xp3,exp4,exp5);(分数:2.00)A.1B.2C.4D.513.C+类体系中,不能被派生类继承的是( )。(分数:2.00)A.构造函数B.虚函数C.静态成员函数D.赋值操作函数14.单个用户使用的数据视图的描述称为( )。(分数:2.00)A.外模式B.概念模式C.内模式D.存储模式15.在软件生存周期中,不属于软件定义阶段的是( )。(分数:2.00)A.问题定义B.系统设计C.可行性研究D.需求分析16.C+语言规定,函数返回值的类型是由( )。(分数:2.00)A.return 语句中的表达式类型所决定B.调用该函数时的主调函数类型所决定C.调用该函数时系统临时决定D.在

7、定义该函数时所指定的函数类型所决定17.下面程序的运行结果为( )。 #include iostream using namespace std; void main( ) for(int a =0,x =0; !x a + ); cout a endl;(分数:2.00)A.0B.1C.10D.1118.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系( )。(分数:2.00)A.不一定相同B.都不相同C.互为逆序D.都相同19.如下的类定义,括号里应填( )。 class Myclass public: MyClass(int a =0,int b =0) X=a; Y=b

8、; void Change ( ) const X- =10; Y+ =10; public: ( )int X,Y;(分数:2.00)A.staticB.constC.mutableD.可以不添内容20.下面表示纯虚函数的成员函数是( )。(分数:2.00)A.virtual int v(in;B.void v(in =0;C.virtual void v() =0;D.virtual void v(in 21.在下面程序中,括号里应填( )。 #include iostream using namespace std; class A public: void fun( ) cout “H

9、ello“ endl; ; class B: public A void fun( ) ( ) /调用基类的函数 fun( ) tout “HI“ endl; ;(分数:2.00)A.fun()B.fun()C.A:fun()D.A-fun(22.在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,而从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求的是指( )。(分数:2.00)A.用户需求B.非功能需求C.业务需求D.功能要求23.C+语言本身没有定义 I/O 操作,使用 I/O 流的程序需要包括( )。(分数:2.0

10、0)A.stdihB.istreahC.ostreahD.iostrcah24.数据的逻辑独立性是指( )。(分数:2.00)A.存储结构与物理结构的逻辑独立性B.数据与存储结构的逻辑独立性C.数据与程序的逻辑独立性D.数据元素之间的逻辑独立性25.假定 Myclass 为一个类,则执行 Myclass a4,*p2;语句时,自动调用该类的构造函数 ( )次。(分数:2.00)A.2B.3C.4D.626.在线性表的下列运算中,不改变数据元素之间结构关系的运算是( )。(分数:2.00)A.插入B.排序C.删除D.定位27.软件调试的目的是( )。(分数:2.00)A.暴露错误B.开发软件的潜

11、能C.提高软件的性能D.改正错误29.C+中的类有两种用法:一种是类的实例化,即生成类的对象,并参与系统的运行,另一种是通过( )派生出新的类。(分数:2.00)A.复用B.继承C.封装D.引用30.在重载运算符函数时,下面运算符必须重载为类的成员函数的是( )。(分数:2.00)A.+B.-C.+D.-31.在数据库模型中,通常把网状模型和( )称为非关系模型。(分数:2.00)A.层次模型B.关系模型C.树状模型D.顺序模型32.下列输出字符“A”的方法中,( )是错误的。(分数:2.00)A.coatput(A)B.coutAC.coaput(A)D.char A = A;coutA33

12、.以下不能对二维数组 a 进行正确初始化的语句是( )。(分数:2.00)A.int a 23=0;B.int a 3=1,2,0;C.int a 23=1,2,3,4,5,6;D.int a3=1,2,3,4,5,6;34.编译时的多态性可以通过使用( )获得。(分数:2.00)A.虚函数和指针B.重载函数C.虚函数和对象D.虚函数和引用35.在下面表达式中,不表示虚继承的是( )。(分数:2.00)A.virtual publicB.public virtualC.publicD.virtual二、B填空题/B(总题数:11,分数:22.00)36.数据的逻辑结构在计算机存储器内的表示,称

13、为数据的U 【1】 /U。(分数:2.00)填空项 1:_37.在深度为 6 的满-X 树中,叶子结点的个数为U 【2】 /U。(分数:2.00)填空项 1:_38.已知_-X 树中序遍历序列是 cbade,它的后序遍历序列是 cbeda,前序遍历序列是U 【3】 /U。(分数:2.00)填空项 1:_39.白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和U 【4】 /U。(分数:2.00)填空项 1:_40.实体完整性规则规定基本关系的所有主属性U 【5】 /U。(分数:2.00)填空项 1:_41.在 C+语言中,一个函数的定义前加上关键字U 【6】 /U时,该函数就声明为内联函数。(分数:2.

14、00)填空项 1:_42.在进行函数调用时,将把参数的U 【7】 /U传递给值参,把参数的U 【8】 /U传递给引用参数。(分数:2.00)填空项 1:_43.下列程序在构造函数和析构函数中申请和释放类的私有成员,请完成该类的实现。 class Myclass public: Myclass(int num); Myclass( ); public: int *p; ; Myclass: :Myclass( int hum) U【9】 /U Myclass: Myelass( ) U【10】 /U; 。(分数:2.00)填空项 1:_44.在析构函数中调用虚函数时,采用U 【11】 /U联编。

15、(分数:2.00)填空项 1:_45.为满足运算符+的可交换性,必须将其重载为U 【12】 /U。(分数:2.00)填空项 1:_46.流操作中若要按八进制、十六进制和十进制格式显示,则应用U 【13】 /U、U 【14】 /U和U 【15】 /U来分别指定。(分数:2.00)填空项 1:_二级 C+笔试 331 答案解析(总分:92.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.关于 new 描述错误的是( )。(分数:2.00)A.使用运算符 new 创建对象数组时必须定义初始值 B.使用运算符 new 创建对象时,会调用类的构造函数。C.运算符 new

16、 可以用来动态创建对象和对象数组。D.使用 new 运算符创建的对象可以使用运算符 delete 删除。解析:解析 使用 new 创建对象数组或一般数组时,不能为该数组指定初始值,其初始值为默认值。2.以下错误的 if 语句是( )。(分数:2.00)A.if(xx+;B.if(x+;C.if(x!= coutx;y+;D.if(x x+;coutx;else couty; 解析:解析 if 和 else 语句必须紧密相连,应该将 x+;coatx;做成复合语句x+;cout x;。3.以下程序输出的结果是( )。 void main( ) int x = 1,a =0,b =0; switc

17、h(x) case 0:b +; case 1: a + +; case 2:a + ;b +; cout a b;(分数:2.00)A.21 B.11C.12D.10解析:解析 x=1,执行 case 1 语句,a+,由于没有 break 语句,继续执行 Case 2 语句,a+; b+;所以 a=2,b=1。4.对下面程序描述正确的是( )。 #include iostream using namespace std; class A private: int i; public: class B private: int j; protected: int k; int fun1 ( )

18、; MyB; int fun2 ( ); (分数:2.00)A.定义类 B 的对象的语句是: A:B b; B.类 A 的成员函数 fun2()可以用 Myj 的方式访问类 B 的私有成员 j。C.类 A 的成员函数 fun2()可以用 Myk 的方式访问类 B 的保护成员 k。D.类 B 的成员函数 fun1()可以直接访问类 A 的私有成员 i。解析:解析 内嵌类的成员函数对包容类的成员没有访问特权,反之亦然。5.下列程序的输出结果为( )。 #include (iostream) using namespace std; void main( ) char,a = “hello“ ,“

19、the“ ,“ world“ ; char * * pa = a: pa + +; cout * pa ENDL; (分数:2.00)A.helloB.the C.worldD.hellotheworld解析:解析 指针与数组对应关系,*p+访问数组第二个元素。6.下面程序的运算结果为 ( )。 #include iostream using namespace td; int i; int fun( ) static int i = 10; return + + i; void main ( ) fun( ); cout fun() “ ,“ i; (分数:2.00)A.10,100B.12

20、,100 C.12,12D.11,100解析:解析 fun()中的 i 为静态变量只在函数中可见,执行两次变为 12;主函数中的 i 为全局变量,fun()对 i 的修改不影响。7.类的析构函数的作用是( )。(分数:2.00)A.一般成员函数B.创建对象C.初始化对象D.删除对象 解析:解析 析构函数的作用是删除对象。8.人们已经提出了许多种类型的数据依赖,其中最重要的是函数依赖和( )。(分数:2.00)A.数据依赖B.多值依赖 C.单值依赖D.数值依赖解析:解析 人们已经提出了许多种类型的数据依赖,其中最重要的是函数依赖和多值依赖。9.下面正确的函数定义形式为( )。(分数:2.00)A

21、.void fun();B.void fun(int x;int C.void fun() D.void fun(int x, 解析:解析 选项 A 函数声明与函数体之间没有分号;选项 D 形参之间用逗号隔开;选项 D 形参 y 没有类型。10.从数据库中获取数据称为( )。(分数:2.00)A.创建数据B.查询数据 C.读出数据D.修改数据解析:解析 从数据库中获取数据称为查询数据。11.如果一个类至少有一个纯虚函数,那么就称该类为( )。(分数:2.00)A.抽象类 B.虚基类C.派生类D.以上三者都不对解析:解析 抽象类至少含有一个纯虚函数。12.下面函数调用语句含有实参的个数为( )。

22、func( exp1,exp2),(exp3,exp4,exp5);(分数:2.00)A.1B.2 C.4D.5解析:解析 其中(exp1,exp2)是一个实参,(exp3,exp4,exp5)是一个实参。13.C+类体系中,不能被派生类继承的是( )。(分数:2.00)A.构造函数 B.虚函数C.静态成员函数D.赋值操作函数解析:解析 派生类不能够继承类的构造函数和析构函数。14.单个用户使用的数据视图的描述称为( )。(分数:2.00)A.外模式 B.概念模式C.内模式D.存储模式解析:解析 单个用户使用的数据视图的描述称为外模式。15.在软件生存周期中,不属于软件定义阶段的是( )。(分

23、数:2.00)A.问题定义B.系统设计 C.可行性研究D.需求分析解析:解析 软件开发共有:需求分析,总体设计,详细设计,系统实现,测试和验收等几个阶段。系统设计属于设计阶段。而问题定义、可行性研究和需求分析都属于同一个阶段,即需求分析 (或称软件定义)阶段。16.C+语言规定,函数返回值的类型是由( )。(分数:2.00)A.return 语句中的表达式类型所决定B.调用该函数时的主调函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型所决定 解析:解析 函数返回值的类型是由在定义该函数时所指定的函数类型所决定。17.下面程序的运行结果为( )。 #include i

24、ostream using namespace std; void main( ) for(int a =0,x =0; !x a + ); cout a endl;(分数:2.00)A.0B.1C.10D.11 解析:解析 当 i=11 时,循环结束。18.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系( )。(分数:2.00)A.不一定相同B.都不相同C.互为逆序D.都相同 解析:解析 前序遍历序列的顺序是先根,再左子树,最后右子树;后序遍历序列的顺序是先左子树,再右子树,最后根。因此各叶子之间的相对次序关系在前序序列和后序序列中是一样的。19.如下的类定义,括号里应填(

25、 )。 class Myclass public: MyClass(int a =0,int b =0) X=a; Y=b; void Change ( ) const X- =10; Y+ =10; public: ( )int X,Y;(分数:2.00)A.staticB.constC.mutable D.可以不添内容解析:解析 常成员函数一般不能修改对象的数据成员的值,如果一定要修改,必须得在被修改的数据成员定义前加上关键字 mutable。20.下面表示纯虚函数的成员函数是( )。(分数:2.00)A.virtual int v(in;B.void v(in =0;C.virtual

26、void v() =0; D.virtual void v(in 解析:解析 纯虚函数的声明格式:virtual函数返回类型函数名(参数表)=0;21.在下面程序中,括号里应填( )。 #include iostream using namespace std; class A public: void fun( ) cout “Hello“ endl; ; class B: public A void fun( ) ( ) /调用基类的函数 fun( ) tout “HI“ endl; ;(分数:2.00)A.fun()B.fun()C.A:fun() D.A-fun(解析:解析 调用格式;

27、类名:成员名或者类名:成员名(参数表)。22.在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,而从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求的是指( )。(分数:2.00)A.用户需求B.非功能需求 C.业务需求D.功能要求解析:解析 在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。23.C+语言本身没有定义 I/O 操作,使用 I/O 流的程序需要包括( )。(分数:2.0

28、0)A.stdihB.istreahC.ostreahD.iostrcah 解析:解析 在 C+中使用 I/O 流的程序需要包括 iostream.h。24.数据的逻辑独立性是指( )。(分数:2.00)A.存储结构与物理结构的逻辑独立性B.数据与存储结构的逻辑独立性C.数据与程序的逻辑独立性 D.数据元素之间的逻辑独立性解析:解析 数据的逻辑独立性是指数据与程序的逻辑独立性,而数据与存储结构以及存储结构和物理结构之间都是相关联的。25.假定 Myclass 为一个类,则执行 Myclass a4,*p2;语句时,自动调用该类的构造函数 ( )次。(分数:2.00)A.2B.3C.4 D.6解

29、析:解析 构造函数系统可以自动调用。数组对象 a4调用 4 次构造函数,*p2存放 Myclass 的指针数组,没有生成对象。26.在线性表的下列运算中,不改变数据元素之间结构关系的运算是( )。(分数:2.00)A.插入B.排序C.删除D.定位 解析:解析 选项 A 插入和选项 C 删除因为有数据变更,因此会改变数据元素之间的结构关系,而排序则因为顺序的改变会改变数据元素之间的结构关系。27.软件调试的目的是( )。(分数:2.00)A.暴露错误B.开发软件的潜能C.提高软件的性能D.改正错误 解析:解析 调试的目的是定位错误、找出错误的原因并修改程序以修正错误。解析:解析 语句 while

30、(!E)中的表达式!E 等价于 E=0。29.C+中的类有两种用法:一种是类的实例化,即生成类的对象,并参与系统的运行,另一种是通过( )派生出新的类。(分数:2.00)A.复用B.继承 C.封装D.引用解析:解析 继承的基本概念。30.在重载运算符函数时,下面运算符必须重载为类的成员函数的是( )。(分数:2.00)A.+B.-C.+D.- 解析:解析 =(),-运算符不能够重载为类的友元函数。31.在数据库模型中,通常把网状模型和( )称为非关系模型。(分数:2.00)A.层次模型 B.关系模型C.树状模型D.顺序模型解析:解析 数据库模型分为层次模型、网状模型和关系模型,其中层次模型和网

31、状模型称为非关系模型。32.下列输出字符“A”的方法中,( )是错误的。(分数:2.00)A.coatput(A) B.coutAC.coaput(A)D.char A = A;coutA解析:解析 put()函数本身就是用于输出字符。33.以下不能对二维数组 a 进行正确初始化的语句是( )。(分数:2.00)A.int a 23=0;B.int a 3=1,2,0;C.int a 23=1,2,3,4,5,6; D.int a3=1,2,3,4,5,6;解析:解析 1,2, 3,4,5,6表示的是 a32。34.编译时的多态性可以通过使用( )获得。(分数:2.00)A.虚函数和指针B.重

32、载函数C.虚函数和对象 D.虚函数和引用解析:解析 采用一般类型的标示对象操作虚函数时,将采用静态联编方式调用虚函数。35.在下面表达式中,不表示虚继承的是( )。(分数:2.00)A.virtual publicB.public virtualC.public D.virtual解析:解析 虚基类的声明格式:class(类名):virtual继承方式基类名。其中关键字virtual 与继承方式的位置无关,但必须位于虚基类类名之前,且 virtual 只对紧随其后的基类名起作用。二、B填空题/B(总题数:11,分数:22.00)36.数据的逻辑结构在计算机存储器内的表示,称为数据的U 【1】

33、/U。(分数:2.00)填空项 1:_ (正确答案:存储结构)解析:解析 数据的逻辑结构在计算机存储器内的表示,称为数据的存储结构。37.在深度为 6 的满-X 树中,叶子结点的个数为U 【2】 /U。(分数:2.00)填空项 1:_ (正确答案:63)解析:解析 所谓满-X 树是指这样的一种二叉树:除最后一层外,每一层上的所有结点都有两个叶子结点。在深度为 N 的满二叉树中,叶子结点的个数为 2N-1。38.已知_-X 树中序遍历序列是 cbade,它的后序遍历序列是 cbeda,前序遍历序列是U 【3】 /U。(分数:2.00)填空项 1:_ (正确答案:abcde)解析:解析 前序遍历序

34、列的顺序是先根,再左子树,最后右子树;中序遍历序列的顺序是先左子树,再根,最后右子树;后序遍历序列的顺序是先左子树,再右子树,最后根。后序遍历序列中最后一个是根节点(a),确定根节点后,从中序遍历序列中即可确定左子树(cb)和右子树(de),然后再从后序遍历序列中确定左子树的根(b)及其左子树(c)和右子树(空),从后序遍历序列中确定右子树的根(d)及其左子树(空)和右子树(e),描绘成图,然后求出前序遍历序列。39.白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和U 【4】 /U。(分数:2.00)填空项 1:_ (正确答案:基本路径测试)解析:解析 白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本

35、路径测试三种。40.实体完整性规则规定基本关系的所有主属性U 【5】 /U。(分数:2.00)填空项 1:_ (正确答案:不许为空)解析:解析 实体完整性是指:关系的主属性,即主码的组成不能为空,也就是关系的主属性不能是空值,在关系系统中一个关系通常对应一个表。41.在 C+语言中,一个函数的定义前加上关键字U 【6】 /U时,该函数就声明为内联函数。(分数:2.00)填空项 1:_ (正确答案:inline)解析:解析 内联函数的声明方法。42.在进行函数调用时,将把参数的U 【7】 /U传递给值参,把参数的U 【8】 /U传递给引用参数。(分数:2.00)填空项 1:_ (正确答案:值|地

36、址)解析:解析 函数传递只有两种形式值传递和地址传递。43.下列程序在构造函数和析构函数中申请和释放类的私有成员,请完成该类的实现。 class Myclass public: Myclass(int num); Myclass( ); public: int *p; ; Myclass: :Myclass( int hum) U【9】 /U Myclass: Myelass( ) U【10】 /U; 。(分数:2.00)填空项 1:_ (正确答案:P=new int(a)、delete P)解析:解析 new 和 delete 的用法。44.在析构函数中调用虚函数时,采用U 【11】 /U联

37、编。(分数:2.00)填空项 1:_ (正确答案:静态)解析:解析 构造函数不能声明为虚函数,但在构造函数中可以调用虚函数,在构造函数和析构函数中调用虚函数,将采用静态联编。45.为满足运算符+的可交换性,必须将其重载为U 【12】 /U。(分数:2.00)填空项 1:_ (正确答案:友元函数)解析:解析 当需要重载运算符具有可交换性时,选择重载为友元函数。46.流操作中若要按八进制、十六进制和十进制格式显示,则应用U 【13】 /U、U 【14】 /U和U 【15】 /U来分别指定。(分数:2.00)填空项 1:_ (正确答案:ocx、hex、dec)解析:解析 流操作中 ocx、hex、dec 分别指定为按八进制、十六进制和十进制格式显示。

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

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

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