【计算机类职业资格】二级C++笔试-302及答案解析.doc
《【计算机类职业资格】二级C++笔试-302及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-302及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-302 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.设有定义:class Cpublic:int ValUe;int X,*p;则以下引用形式中,正确的是( )。(分数:2.00)A.xvalue;B.xC:value;C.pA()cout“2”;Class B:public:Apublic:B()cout“3”;)B()cout“4”;Void main()B b;(分数:2.00)A.1234B.1324C.1342D.314213.使用白盒测试法时,确定测试数据应该根据( )和指定的覆盖标准。(分数:2.00)A.
2、程序的内部逻辑B.程序的复杂结构C.使用说明书D.程序的功能14.有如下类定义:class Foopublic:Foo(intv):value(v) /Foo() /private:Foo() /int value0; /;其中存在语法错误的行是( )。(分数:2.00)A.B.C.D.15.下面关于数组的初始化正确的是( )。(分数:2.00)A.charstr=a,b,CB.charstr2a,b,cC.charstr23:a,b,c,d),e,fD.charstr():a,b,c16.下面有关重载函数的描述中正确的是( )。(分数:2.00)A.重载函数必须具有不同的返回值类型B.重载函
3、数形幸个数必须不同C.重载函数必须具有不同的形参列表D.重载函数名可以不同17.在数据库设计中,将 E-R 图转换为关系模式的过程属于( )。(分数:2.00)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段18.下面是关于派生类声明的开始部分,其中正确的是( )。(分数:2.00)A.class virtual B:public AB.virtual class B:public AC.class B:public A virtualD.class B:virtual publicA19.有以下程序:#includeiostreamusing namespace std;#d
4、efinePl 3.14Class Pointprivate:int x,y;public:Point(int a,int b)Xa;y:b;int getx()return x;int gety()return y;class Circle:public Pointprivate:int r;public:Circle(int a,int b,int c):Point(a,b)rc;int getr()return r;double area()return PI*r*r;int main()Circle c1(5,7,10);coutc1.area()endl;return 0;程序执行后
5、的输出结果是( )。(分数:2.00)A.314B.157C.78.5D.153.8620.下列说法正确的是( )。(分数:2.00)A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字 inline 定义21.下列关于虚函数的描述中,正确的是( )。(分数:2.00)A.虚函数是一个 static 类型的成员函数B.虚函数是一个非成员函数C.基类中采用 virtual 说明一个虚函数后,派生类中定义相同原型的函数时可不必加 virtual 说明D
6、.派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型22.下列字符串中,正确的 C+标识符是( )。(分数:2.00)A.foo-lB.2bC.newD._25623.下列叙述中正确的是( )。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率24.下列是重载为非成员函数的运算符函数原型,其中错误的是( )。(分数:2.00)A.Fraction operator+(Fraction
7、,Fraction);B.Fraction operator-(Fraction);C.Fraction(分数:2.00)A.25B.30C.20D.1526.设 R 是一个二元关系,S 是一个三元关系,则下列运算中正确的是( )。(分数:2.00)A.R-SB.RSC.RSD.RS27.下列关于多态性的描述,错误的是( )。(分数:2.00)A.C+语言中的多态性分为编译时的多态性和运行时的多态性B.编译时的多态性可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现D.实现运行时多态性的机制称为动态绑定28.结构化程序设计的 3 种基本结构是( )。(分数:2.00)A.过程、子程序和
8、分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移29.类模板 templateclass Tclass x,其中友元函数 f 对特定类型 T(如 int),使函数 f(xint)成为 xint模板类的友元,则其说明为( )。(分数:2.00)A.friend voidf();B.friend voidf(xT);C.friend voidA:f();D.friend void CT:f(xT);30.有以下程序:#includeiostreamusing namespace std;class MyClasspublic:MyClass(int n)number=n;/拷贝构
9、造函数MyClass(MyClasspublic:example(int B.a=b+;void print()aa+1 couta“;void print()constcouta“;void main()example x(3);Const example y(2);x.print();y.print();(分数:2.00)A.2 2B.4 3C.4 2D.3 235.已知 char a iht b;float c;double d;则表达式 a*b+c-d 结果为( )。(分数:2.00)A.doubleB.intC.floatD.char二、填空题(总题数:15,分数:30.00)36.
10、在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。(分数:2.00)填空项 1:_37.二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是 1。(分数:2.00)填空项 1:_38.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_39.常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示,用带空心圆的箭头表示传递的是数据。(分数:2.00)填空项 1:_40.数据库系统其内部分为三级模式,即概念模式、内模式和外模式,其中, 1 是用户的
11、数据视图,也就是用户所见到的数据模式。(分数:2.00)填空项 1:_41.将一个函数声明为一个类的友元函数必须使用关键字_。(分数:2.00)填空项 1:_42.若有函数 fun(x,y),并且已经使函数指针变量 p 指向函数 fun,则使用 p 调用函数 fun 的方法是_。(分数:2.00)填空项 1:_43.C+语句 constchar *constp”hello”;,所定义的指针 p 和它所指的内容都不能被 1。(分数:2.00)填空项 1:_44.类中包含了一个静态成员函数,则 main 函数中和 P.f1(P);语句具有同样功能的语句为_。#includeiostream.hcl
12、ass Mpublic:M(int A)Aa;B+a;static void f1(M m);private:int A;static int B;void M:f1(M m)cout“A=“m.A(end1;cout“B”m.Bend1;int M:B10;void main()M P(5);P.f1(P);(分数:2.00)填空项 1:_45.下面是一个栈类的模板,其中 push 函数将元素 i 压入栈顶,pop 函数弹出栈顶元素栈初始为空,top值为 0,栈项元素在 stacktop-中,在下面横线处填上适当语句,完成栈类模板的定义。templateclass Tclass Tstack
13、enumsize1000;Tstacksize;int top;public:Tstack():top(0)void push(const T Tpop()if(top=0)exit(1);/栈空时终止运行return_;(分数:2.00)填空项 1:_46.对于下面定义的类 MyClass,请在函数 f()中添加对象成员把 n 的值修改为 50。Class MyClassPublic:MyClass(int x)n=x;)Void SetNum(int nl)nnl;private:int n;int f()MyClass*ptr=new MyClass(45);(分数:2.00)填空项 1
14、:_47.在下列的程序的横线处填上适当的语句,使该程序的输出为 12。#includeiostream.husing namespace std;class Basepublic:int a,b;Base(int i)ai;;class Derived:public Baseint a;public:Derived(int x):Base(x),b(x+1);void show()_;/输出基类数据成员 a 的值。coutbendl;void main()Derived d(1);d.show();return 0;(分数:2.00)填空项 1:_48.在 MyClass 类的定义中,对赋值运
15、算符进行重载。请将横线处缺失的部分补充完整。_MyClass:operator(const MyClassA()cout“2”;Class B:public:Apublic:B()cout“3”;)B()cout“4”;Void main()B b;(分数:2.00)A.1234B.1324C.1342 D.3142解析:解析 本题考查的是在继承中构造函数和析构函数的调用顺序,应该是先调用基类的构造函数,再调用派生类的构造函数,调用析构函数时的顺序是先调用派生类的析构函数,后调用墓类的析构函数。13.使用白盒测试法时,确定测试数据应该根据( )和指定的覆盖标准。(分数:2.00)A.程序的内部
16、逻辑 B.程序的复杂结构C.使用说明书D.程序的功能解析:解析 白盒测试是把测试对象看成一个打开的盒子,允许测试人员利用程序内部的逻辑结构及相关信息来设计或选择测试用例,对程序所有的逻辑路径进行测试。所以,白盒测试的对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准测试数据。14.有如下类定义:class Foopublic:Foo(intv):value(v) /Foo() /private:Foo() /int value0; /;其中存在语法错误的行是( )。(分数:2.00)A.B.C.D. 解析:解析 本题考查的是类的定义。C+语言规定,在类体由不允许对所定义的数据成员进行初始化。
17、15.下面关于数组的初始化正确的是( )。(分数:2.00)A.charstr=a,b,C B.charstr2a,b,cC.charstr23:a,b,c,d),e,fD.charstr():a,b,c解析:解析 本题考查的是字符数组的初始化。选项 B 中用 3 个元素初始化大小为 2 的数组,越界了;选项 C 中应该是 2 行 3 列的数组,题中使用 3 行 2 列初始化,选项 D 中数组合后应用方括号。16.下面有关重载函数的描述中正确的是( )。(分数:2.00)A.重载函数必须具有不同的返回值类型B.重载函数形幸个数必须不同C.重载函数必须具有不同的形参列表 D.重载函数名可以不同解
18、析:解析 所谓函数重载,是指同一个函数名可以对应多个函数的实现,进行函数重载时,要求同名函数的参数个数上不同,或者参数类型上不同。17.在数据库设计中,将 E-R 图转换为关系模式的过程属于( )。(分数:2.00)A.需求分析阶段B.逻辑设计阶段 C.概念设计阶段D.物理设计阶段解析:解析 数据库设计阶段主要包括儒朱分析、概念设计、逻辑设计和物理设计。其中逻辑设计的主要工作是将 E-R。图转换为关系模式。18.下面是关于派生类声明的开始部分,其中正确的是( )。(分数:2.00)A.class virtual B:public AB.virtual class B:public AC.cla
19、ss B:public A virtualD.class B:virtual publicA 解析:解析 C+中,虚基类说明格式为:class类名:virtual继承方式基类名其中,virtual 是虚基类的关键词。虚基类的说明是用在定义派生类时,写在派生类名的后面。19.有以下程序:#includeiostreamusing namespace std;#definePl 3.14Class Pointprivate:int x,y;public:Point(int a,int b)Xa;y:b;int getx()return x;int gety()return y;class Circ
20、le:public Pointprivate:int r;public:Circle(int a,int b,int c):Point(a,b)rc;int getr()return r;double area()return PI*r*r;int main()Circle c1(5,7,10);coutc1.area()endl;return 0;程序执行后的输出结果是( )。(分数:2.00)A.314 B.157C.78.5D.153.86解析:解析 本程序设计了一个点类 Point,包含了横,纵两个坐标数据 x 和 y,由它派生出了圃类Circle,并加入了新的数据成员,即一个半径 r
21、 和一个求圆面积的函数成员 area。在主函数 main 中,首先定义了一个圃 Circle 类的对象 c1,并通过它的构造函数初始化其数据成员。由此可知,其半径 r 的值为 10,所以其面积为 PI*10*10=314,即对象 c1 的函数成员 area 的返回值为 314。20.下列说法正确的是( )。(分数:2.00)A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方 C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字 inline 定义解析:解析 本题考查的是内联函数的定义,引入内联函数
22、是为了解决程序中函数调用的效率问题,是以目标代码的增加为代价换取时间的节省;一般函数在运行时被调用,而调用的内联函数在编译时就被替代了,如果不加 inline 关键字,则编译器会将在类说明部分定义的任何函数都被认定为内联函数。21.下列关于虚函数的描述中,正确的是( )。(分数:2.00)A.虚函数是一个 static 类型的成员函数B.虚函数是一个非成员函数C.基类中采用 virtual 说明一个虚函数后,派生类中定义相同原型的函数时可不必加 virtual 说明 D.派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型解析:解析 在成员函数声明的前面加上 virtual 关键宇
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 302 答案 解析 DOC
