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

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

1、二级 C+笔试-321 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.结构化程序设计的三种基本结构是( )。(分数:2.00)A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移2.对于长度为 n 的线性表,在最坏情况下,下列各种排序法所对应的比较次数中,正确的是( )。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/23.类 MyClass 的定义如下:class MyClasspublic:MyClass()value=0;SetVariable

2、(int i)value=i;private:int value;则对下列语句序列正确的描述是( )。MyClass*P, my; p=(分数:2.00)A.语句 p= 是把对象 my 赋值给指针变量 PB.语句 MyClass*p, my; 会调用两次类 MyClass 的构造函数C.对语句*P. SetVariable(5)的调用是正确的D.语句 p-SetVariable(5)与语句 my.SetVariable(5)等价4.下列是关于派生类声明的开始部分,其中正确的是( )。(分数:2.00)A.class virtual B:public AB.virtual class B:pub

3、lic AC.class B:public A virtualD.class B:virtual public A5.有如下程序:#includeiostreamusing namespace std;class Apublic:A()cout“A“;A()cout“A“;);class B:public AA*p;public:B()cout“B“;p=new A;B()cout“B“;delete p;int main()B obj;return 0;执行这个程序的输出结果是( )。(分数:2.00)A.BAAABAB.ABABAAC.BAABAAD.ABAABA6.下列选项中,不是一个算

4、法的基本特征是( )。(分数:2.00)A.完整性B.可行性C.有穷性D.拥有足够的情报7.下列关于线性链表的描述中正确的是( )。(分数:2.00)A.存储空间不一定连续,且各元素的存储顺序是任意的B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且各前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的8.下列程序的执行结果是( )。#includeiostream.hint fun(int b,int n)int i,r=1;for(i=0;in;i+)r=r*bi;return r;void main()int x,a=1,2,3

5、,4,5,6,7,8;x=fun(a,3);coutxend1;(分数:2.00)A.5B.6C.7D.89.有如下类声明:class MyBASEint k;public:void set(int n)k=n;int get()constreturn k;class MyDERIVED:protected MyBASEprotected:int j;public:void set(int m, int n)MyBASE:set(m);j=n;int get()constreturn MyBASE:get()+j;则类 MyDERIVED 中保护的数据成员和成员函数的个数是( )。(分数:2.

6、00)A.4B.3C.2D.110.下列有关类继承的叙述中,错误的是( )。(分数:2.00)A.继承可以实现软件复用B.虚基类可以解决由多继承产生的二义性问题C.派生类构造函数要负责调用基类的构造函数D.派生类没有继承基类的私有成员11.在表达式 x+y*z 中,“+”是作为成员函数重载的运算符,“*”是作为非成员函数重载的运算符。下列叙述中正确的是( )。(分数:2.00)A.operator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数D.operator+有一个参数,

7、operator*有一个参数12.下列叙述中错误的是( )。(分数:2.00)A.线性表是由 n 个元素组成的一个有限序列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件D.线性表可以是空表13.有如下类定义:class Testpublic:Test()a=0;c=0 /int f(int(分数:2.00)A.constthis-a=a; /static int g()return a; /void h(intB.Test:b; int main()char a=“Hello,Test“;char *p=a;while(*p)if(*p=aelse cout*p;p+;re

8、turn 0;(分数:2.00)A.hello,testB.Hello,TestC.HELLO,TESTD.hELLO,tEST15.运算符函数调用格式的表达式 y/x+与表达式 y.operator/(operator+(x,0)的含义相同,由此可看出( )。(分数:2.00)A.“/”和“+”都是作为成员函数重载的B.“/”和“+”都是作为非成员函数重载的C.“/”是作为成员函数重载的,“+”是作为非成员函数重载的D.“/”是作为非成员函数重载的,“+”都是作为成员函数重载的16.下列程序的输出结果是( )。#includeiostream.h#include“string.h“void

9、main()char a=“Hello Test“,b=“Test“;strcpy(a,b);coutaend1;(分数:2.00)A.HelloB.TestC.Hello TestD.Hello Test HelloTest17.下列有关运算符重载的叙述中,正确的是( )。(分数:2.00)A.运算符重载是多态性的一种表现B.C+中可以通过运算符重载创造新的运算符C.C+中所有运算符都可以作为非成员函数重载D.重载运算符时可以改变基结合性18.下列程序的执行结果是( )。#includeiostream.hclass Sampleint x,y;public:Sample() x=y=0;S

10、ample(int a,int b) x=a;y=b;Sample()if(x=y)cout“x=y“end1;elsecout“x!=y“end1;void disp()cout“x=“x“,y=“yend1;void main()Sample s1(2,3);s1.disp();(分数:2.00)A.x=2,y=2B.x=3,y:3C.x=2,y=3D.x=3,y=219.执行语句序列ofstream outfile(“datA.dat“);if()cout“ok“; else cout“fail“;后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面 if 语句的“”

11、处的表达式是( )。(分数:2.00)A.outfile.fail()或 outfileB.outfile.good()或!outfileC.outfile.good()或 outfileD.outfile.fail()或!outfile20.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.顺序存储的有序线性表B.结性链表C.二叉链表D.有序线性链表21.最简单的交换排序方法是( )。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序22.下列符号中可以用作 C+标识符的是( )。(分数:2.00)A._radiusB.foobarC.elseD.3room2

12、3.按照“先进先出”组织数据的数据结构是( )。(分数:2.00)A.队列B.栈C.双向链表D.二叉树24.下列关于 getline()函数的描述中,不正确的是( )。(分数:2.00)A.getline()函数是用来从键盘上读取字符串的B.getline()函数读取字符串长度是受限制的C.getline()函数读取字符串时,遇到终止符时就停止D.getline()函数中所使用的终止符只能是换行符25.下列程序将 x,y 和 z 按从小到大的顺序排列,请将下面的函数模板补充完整。templateclass Tvoid fun(_)T a;if(xy)a=x; x=y;y=a;if(yz)a=y

13、; y=z;z=a;if(xy)a=x; x=y;y=a;(分数:2.00)A.T x,T y,T zB.T x;y;zC.T int /变量引用y=99;cout“x=“xend1;(分数:2.00)A.x=99B.x=9C.x=0D.异常28.下列数据结构中,属于非线性的是( )。(分数:2.00)A.线性表B.队列C.树D.栈29.有如下程序:#includeiostreamusing namespace std;class TestClassprivate:int x,y;public:TestClass (int i,int j)x=i;y=j;void print()cout“pr

14、int1“end1;void print()constcout“print2“end1;int main()const TestClass a(1,2);a.print();return 0;该程序运行后的输出结果是( )。(分数:2.00)A.print1B.print2C.print1 print2D.程序编译时出错30.下列说法中错误的是( )。(分数:2.00)A.公有继承时基类中的 public 成员在派生类中仍是 public 的B.公有继承时基类中的 private 成员在派生类中仍是 private 的C.私有继承时基类中的 public 成员在派生类中是 private 的D

15、.保护继承时基类中的 public 成员在派生类中是 protected 的31.在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是 ( )。(分数:2.00)A.后缀一元运算符B.前缀一元运算符C.无操作数的运算符D.二元运算符32.某二叉树共有 60 个叶子结点与 50 个度为 1 的结点,则该二叉树中的总结点数为( )。(分数:2.00)A.148B.169C.182D.19833.当需要将一个函数 boo1 isnumber(char c)声明为内联函数时,则此内联函数的函数原型为( )。(分数:2.00)A.enum boo1 isnumber(charc);B.

16、define boo1 isnumber(charc);C.inline boo1 isnumber(charc);D.extem boo1 isnumber(charc);34.如果有以下定义及初始化:int a=3, *p=则由此可以推断,*p 的值是( )。(分数:2.00)A.变量 a 的值,即 3B.变帚 a 的地址值C.变量 p 的地址值D.无意义35.有如下类声明:class XAint x;public:XA(int n)x=n;class XB:public XAint y;public:XB(int a,int b);在构造函数 XB 的下列定义中,正确的是( )。(分数:

17、2.00)A.XB:XB(int a,intb):x(a),y(b)B.XB:XB(int a,intb):XA(a),y(b)C.XB:XB(int a,intb):x(a),XB(b)D.XB:XB(int a,intb):XA(a),XB(b)二、填空题(总题数:15,分数:30.00)36.软件生命周期分为软件定义期、软件开发期和软件维护期,详细设计属于 1 中的一个阶段。(分数:2.00)填空项 1:_37.结构化分析方法是面向 1 进行分析的方法。(分数:2.00)填空项 1:_38.常用的软件结构设计工具是结构图(SC) ,也称程序结构图。其中,用矩形表示 1,用带空心圆的箭头表

18、示传递的是数据。(分数:2.00)填空项 1:_39.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块,其中 1 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_40.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_41.类中数据成员和成员函数的默认访问级别为 1。(分数:2.00)填空项 1:_42.若已定义,以下 fun 函数的功能是在循环中给数组 a 前 4 个数组元素依次赋 1、2、3、4;在第二个循环中使 a 数组前 4 个元素中的值对称折叠,变成 1、2、2、1。请填空。fun(i

19、nt a)int i;for(i=1;i4;i+)_=i;for(i=0;i2;i+)_=ai;(分数:2.00)填空项 1:_43.若有函数 fun(x,y),并且已经使函数指针变量 p 指向函数 fun,则使用 p 调用函数 fun 的方法是( )。(分数:2.00)填空项 1:_44.已知下列程序的输出结果是 42,请将横线处缺失的部分补充完整。#includeiostreamusing namespace std;class TestClassint value;public:TestClass():value(0);void setValue(int value)_=value;/给

20、 TestClass 的数据成员 value 赋值void print()coutvalue;int main()TestClass f;f.setValue(42);f.print();return 0;(分数:2.00)填空项 1:_45.一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称为( )。(分数:2.00)填空项 1:_46.多态性分为两类:编译时的多态性和 1。(分数:2.00)填空项 1:_47.已知下列程序的输出结果是 23,请将横线处缺失的部分补充完整。#includeiostreamusing namespace std;

21、class MyClasspublic:void Print()constcout23;int main()MyClass*p=new MyClass();_.Print();return 0;(分数:2.00)填空项 1:_48.若,将一个二元运算符重载为类的成员函数,其形参个数应该是 1 个。(分数:2.00)填空项 1:_49.下面是一个栈类的模板,其中 push 函数将元素 i 压入栈顶,pop 函数弹出栈顶元素。栈初始为空,top 值为 0,栈顶元素在 stacktop-1)中,在下面横线处填上适当语句,完成栈类模板的定义。templateclass Tclass Tstackenu

22、msize=1000;T stacksize;int top;public:Tstack():top(0)void push(const T T pop()if(top= =0)exit(1); /栈空时终止运行return_;(分数:2.00)填空项 1:_50.有如下程序:#includeiostreamusing namespace std;class CApublic:CA()cout+A;class CB: private CApublic:CB()coutB;int main()CA a;CB b;return 0;这个程序的输出结果是_。(分数:2.00)填空项 1:_二级 C+

23、笔试-321 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.结构化程序设计的三种基本结构是( )。(分数:2.00)A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回和转移解析:解析 程序的 3 种基本控制结构包括顺序、选择和重复(循环),这 3 种结构就足以表达出各种其他形式的结构。2.对于长度为 n 的线性表,在最坏情况下,下列各种排序法所对应的比较次数中,正确的是( )。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/2 解析:解析 在最坏情况下,

24、冒泡排序和快速排序的比较次数都是 n (n-1)/2。知识拓展 所谓冒泡排序,就是将相邻的两个数据比较,如前面的数据大于后面的,则位置互换。这样不停地比较、互换,其实就是把大的数往后排,小的数往前排(就像冒泡一样冒出来了)。3.类 MyClass 的定义如下:class MyClasspublic:MyClass()value=0;SetVariable(int i)value=i;private:int value;则对下列语句序列正确的描述是( )。MyClass*P, my; p=(分数:2.00)A.语句 p= 是把对象 my 赋值给指针变量 PB.语句 MyClass*p, my;

25、会调用两次类 MyClass 的构造函数C.对语句*P. SetVariable(5)的调用是正确的D.语句 p-SetVariable(5)与语句 my.SetVariable(5)等价 解析:解析 选项 A) ,语句 p=class Apublic:A()cout“A“;A()cout“A“;);class B:public AA*p;public:B()cout“B“;p=new A;B()cout“B“;delete p;int main()B obj;return 0;执行这个程序的输出结果是( )。(分数:2.00)A.BAAABAB.ABABAA C.BAABAAD.ABAABA

26、解析:解析 此题考查的是类的构造函数和析构函数。派生类构造函数的执行顺序为:首先调用基类的构造函数,调用顺序按它们被继承时说明的顺序;然后调用子对象的构造函数,调用顺序按它们在类中说明的顺序;最后是派生类构造函数中的内容。因此本题中,首先调用基类构造函数输出 A,然后调用于对象的构造函数输出 B, p=new A 再调用类 A 的构造函数输出 A,析构函数的调用顺序和构造函数的调用顺序相反。6.下列选项中,不是一个算法的基本特征是( )。(分数:2.00)A.完整性 B.可行性C.有穷性D.拥有足够的情报解析:解析 作为一个算法,一般应该具有 4 个特征:可行性,即考虑到实际的条件能够达到一个

27、满意的结果;确定性,算法中第一个步骤都必须是有明确定义的;有穷性,一个算法必须在有取的时间内做完;拥有足够的情报。7.下列关于线性链表的描述中正确的是( )。(分数:2.00)A.存储空间不一定连续,且各元素的存储顺序是任意的 B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且各前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的解析:解析 线性表的链式存储结构中的结点空间是动态生成的,它们在内存中的地址可能是连续的,也可能是不连续的。8.下列程序的执行结果是( )。#includeiostream.hint fun(int b,in

28、t n)int i,r=1;for(i=0;in;i+)r=r*bi;return r;void main()int x,a=1,2,3,4,5,6,7,8;x=fun(a,3);coutxend1;(分数:2.00)A.5B.6 C.7D.8解析:解析 由程序的 main 函数入手,调用 fun 函数,其中参数为数组 a 和 3。fun 函数的功能是 for循环中由第一个数组元素开始到第三个元素进行累积,所以答案是“6”。9.有如下类声明:class MyBASEint k;public:void set(int n)k=n;int get()constreturn k;class MyDE

29、RIVED:protected MyBASEprotected:int j;public:void set(int m, int n)MyBASE:set(m);j=n;int get()constreturn MyBASE:get()+j;则类 MyDERIVED 中保护的数据成员和成员函数的个数是( )。(分数:2.00)A.4B.3 C.2D.1解析:解析 因为在保护继承的情况下,基类中的公有成员 void set(int n)和 int get()const 在派生类中是保护成员,再加上派生类自身的保护成员 j,一共是 3 个保护成员。10.下列有关类继承的叙述中,错误的是( )。(分

30、数:2.00)A.继承可以实现软件复用B.虚基类可以解决由多继承产生的二义性问题C.派生类构造函数要负责调用基类的构造函数D.派生类没有继承基类的私有成员 解析:解析 此题考查的是类继承。派生类继承了基类的全部数据成员和私有成员,只是基类的私有成员在派生类中是隐藏的,只能在基类内部访问,故选项 D) 错误。11.在表达式 x+y*z 中,“+”是作为成员函数重载的运算符,“*”是作为非成员函数重载的运算符。下列叙述中正确的是( )。(分数:2.00)A.operator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+

31、有一个参数,operator*有两个参数 D.operator+有一个参数,operator*有一个参数解析:解析 此题考查的是运算符的重载。运算符可重载成员函数,也可重载为友元函数。当重载为成员函数时,运算符重载函数的形参个数要比运算符操作数的个数少一个;当重载为友元函数时,其参数个数应与操作敷的个数相同。12.下列叙述中错误的是( )。(分数:2.00)A.线性表是由 n 个元素组成的一个有限序列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件 D.线性表可以是空表解析:解析 线性表是一种线性结构,由 n(n0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点

32、没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以选项 C) 是错误的。13.有如下类定义:class Testpublic:Test()a=0;c=0 /int f(int(分数:2.00)A.constthis-a=a; /static int g()return a; /void h(intB.Test:b; int main()char a=“Hello,Test“;char *p=a;while(*p)if(*p=aelse cout*p;p+;return 0;(分数:2.00)A.hello,testB.Hello,TestC.HELLO,TEST D.hELL

33、O,tEST解析:解析 用一个指针变量 p 指向字符数组 a,在 while 循环中,当不指向数组尾时,将小写字母转换为大写字母,然后将其输出。15.运算符函数调用格式的表达式 y/x+与表达式 y.operator/(operator+(x,0)的含义相同,由此可看出( )。(分数:2.00)A.“/”和“+”都是作为成员函数重载的B.“/”和“+”都是作为非成员函数重载的C.“/”是作为成员函数重载的,“+”是作为非成员函数重载的 D.“/”是作为非成员函数重载的,“+”都是作为成员函数重载的解析:解析 运算符函数有两种调用形式,第一种是像一般函数那样用函数名调用,即 y.operator

34、*(z)或者 operator*(y,z);另一种是通过运算符构成表达式,即 y*z。因为“+”运算符既可以作为前缀运算符,又可以作为后缀运算符,所以重载这个运算符时,重载后缀“抖”时必须多一个虚拟参数 int。16.下列程序的输出结果是( )。#includeiostream.h#include“string.h“void main()char a=“Hello Test“,b=“Test“;strcpy(a,b);coutaend1;(分数:2.00)A.HelloB.Test C.Hello TestD.Hello Test HelloTest解析:解析 程序中首先定义字符数 a 和 b

35、,其值分别为“Hello Test”和“Test”。然后利用 strcpy复制函数,将 b 的值复制给 a,所以输出 a 的结果为 Test。17.下列有关运算符重载的叙述中,正确的是( )。(分数:2.00)A.运算符重载是多态性的一种表现 B.C+中可以通过运算符重载创造新的运算符C.C+中所有运算符都可以作为非成员函数重载D.重载运算符时可以改变基结合性解析:解析 此题考查的是运算符重载。C+中运算符重载是多态性的一种表现;运算符重载是针对 C+原有运算符进行的,不可能通过重载创造出新的运算符;除了“.”、“.*”、“-*”、“:”、“?:”这 5 个运算符外,其他运算符都可以重载;但“

36、=”、“”、“-”及所有的类型转换运算符只能作为成员函数重载,运算符重载不可改变其结合性,操作数个数和优先级。18.下列程序的执行结果是( )。#includeiostream.hclass Sampleint x,y;public:Sample() x=y=0;Sample(int a,int b) x=a;y=b;Sample()if(x=y)cout“x=y“end1;elsecout“x!=y“end1;void disp()cout“x=“x“,y=“yend1;void main()Sample s1(2,3);s1.disp();(分数:2.00)A.x=2,y=2B.x=3,y

37、:3C.x=2,y=3 D.x=3,y=2解析:解析 此题考查的是类的构造函数和析构函数。首先,Sample s1(2,3)会调用含有两个参数的构造函数 Sample(int a,int b)x=a;y=b;,disp()函数输出成员变量 x 和 y 的值:x=2,y=3;然后结束时调用析构函数,因为 x 和 y 值不等,故输出 x!=y。19.执行语句序列ofstream outfile(“datA.dat“);if()cout“ok“; else cout“fail“;后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面 if 语句的“”处的表达式是( )。(分数:2.

38、00)A.outfile.fail()或 outfileB.outfile.good()或!outfileC.outfile.good()或 outfile D.outfile.fail()或!outfile解析:解析 可以用文件流对象的成员函数来判别文件流当前的状态:fail,刚进行的操作失败是返回true,否则返回 false;good,刚进行的操作成功时返回 true,否则返回 false。20.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.顺序存储的有序线性表 B.结性链表C.二叉链表D.有序线性链表解析:解析 二分法查拽只适用于顺序存储的有序线性表,对于顺序存储

39、的非有序线性表和线性链表,都只能采用顺序查找。21.最简单的交换排序方法是( )。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序 解析:解析 所谓的交换排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和快速排序,冒泡排序是一种最简单的交换排序方法,它通过相邻元素的交换,逐步将线性表变成有序。22.下列符号中可以用作 C+标识符的是( )。(分数:2.00)A._radius B.foobarC.elseD.3room解析:解析 此题考查的是 C+语言中标识符的定义。标识符有字母、数字和下划线构成,其中第一个字母必须是字母或下划线;定义标识符时,不要采用系

40、统的保留字23.按照“先进先出”组织数据的数据结构是( )。(分数:2.00)A.队列 B.栈C.双向链表D.二叉树解析:解析 队列是一种特殊的线性表,只允许在表的一端插入元素,在表的另一端删除元素,插入元素的一端叫“队尾”,删除元素的一端叫“队头”,先插入的元素先被删除,是按“先进先出”的原则组织数据的。24.下列关于 getline()函数的描述中,不正确的是( )。(分数:2.00)A.getline()函数是用来从键盘上读取字符串的B.getline()函数读取字符串长度是受限制的C.getline()函数读取字符串时,遇到终止符时就停止D.getline()函数中所使用的终止符只能是

41、换行符 解析:解析 此题考查的是无格式输入输出流对象中的 getline()函数。该函数的功能是允许从输入流中读取多个字符,并且允许指定输入终止字符(默认是换行符),在读取完成后,从读取的内容中删除该终止字符。25.下列程序将 x,y 和 z 按从小到大的顺序排列,请将下面的函数模板补充完整。templateclass Tvoid fun(_)T a;if(xy)a=x; x=y;y=a;if(yz)a=y; y=z;z=a;if(xy)a=x; x=y;y=a;(分数:2.00)A.T x,T y,T zB.T x;y;zC.T int /变量引用y=99;cout“x=“xend1;(分数

42、:2.00)A.x=99 B.x=9C.x=0D.异常解析:解析 程序中“int ”语句中的“class TestClassprivate:int x,y;public:TestClass (int i,int j)x=i;y=j;void print()cout“print1“end1;void print()constcout“print2“end1;int main()const TestClass a(1,2);a.print();return 0;该程序运行后的输出结果是( )。(分数:2.00)A.print1B.print2 C.print1 print2D.程序编译时出错解析:

43、解析 由主函数 main 入手,定义 TestClass 型的常对象 a,然后调用对象 a 中的成员函数 print()。因为在 C+中,如果一个对象被声明为常对象,则不能调用该对象中的非 const 型的成员函数。所以,这里调用的是对象中的 const 型成员函数“void print()const”,输出为 print2。30.下列说法中错误的是( )。(分数:2.00)A.公有继承时基类中的 public 成员在派生类中仍是 public 的B.公有继承时基类中的 private 成员在派生类中仍是 private 的 C.私有继承时基类中的 public 成员在派生类中是 privat

44、e 的D.保护继承时基类中的 public 成员在派生类中是 protected 的解析:解析 此题考查的是继承时基类成员属性改变。选项 B) 中,公有继承时基类中的 private 成员在派生类中不是 private 的,而是不可访问的。所以选项 B) 错误;其他选项叙述均正确。31.在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是 ( )。(分数:2.00)A.后缀一元运算符B.前缀一元运算符 C.无操作数的运算符D.二元运算符解析:解析 此题考查的是运算符的重载。对于一元运算符参数表是空的,但是一元运算符“+”和“-”既可以作为前缀运算符又可以作为后缀运算符,为了区

45、别,重载后缀时必须多一个虚拟参数。这个虚拟参数只给出类型而没有指定形参名,所以选项 B) 正确。32.某二叉树共有 60 个叶子结点与 50 个度为 1 的结点,则该二叉树中的总结点数为( )。(分数:2.00)A.148B.169 C.182D.198解析:解析 叶子结点总是比度为 2 的结点多一个。所以,具有 60 个叶子结点的二叉树有 59 个度为 2的结点。总结点数=60 个叶子结点+59 个度为 2 的结点+50 个度为 1 的结点=169 个结点。33.当需要将一个函数 boo1 isnumber(char c)声明为内联函数时,则此内联函数的函数原型为( )。(分数:2.00)A

46、.enum boo1 isnumber(charc);B.define boo1 isnumber(charc);C.inline boo1 isnumber(charc); D.extem boo1 isnumber(charc);解析:解析 此题考查的是内联函数的相关知识点。函数原型应指出函数名、返回值类型以及在调用函数时必须提供的参数的个数和类型,因为要声明为内联函数,故应加 inline 关键字。34.如果有以下定义及初始化:int a=3, *p=则由此可以推断,*p 的值是( )。(分数:2.00)A.变量 a 的值,即 3 B.变帚 a 的地址值C.变量 p 的地址值D.无意义解

47、析:解析 题目中的定义初始化是定义一个整型变量 a,初始化为 3。而“int*p=public:XA(int n)x=n;class XB:public XAint y;public:XB(int a,int b);在构造函数 XB 的下列定义中,正确的是( )。(分数:2.00)A.XB:XB(int a,intb):x(a),y(b)B.XB:XB(int a,intb):XA(a),y(b) C.XB:XB(int a,intb):x(a),XB(b)D.XB:XB(int a,intb):XA(a),XB(b)解析:解析 此题考查的是派生类中构造函数的定义。派生类的构造首先要调用基类的构造函数,对基类成员初始化;然后对派生类中的新增成员初始化。格式:派生类名(构造函数形参表)基类构造函数(形参表)。二、填空题(总题数:15,分数:30.00)36.软件生命周期分为软件定义期、软件开发期和软件维护期,详细设计属于 1 中的一个阶段。(分数:2.00)填空项 1:_ (正确答案:软件开发)解

展开阅读全文
相关资源
猜你喜欢
  • ASTM F2489-2006 Standard Guide for Instrument and Precision Bearing Lubricants-Part 2 Greases《仪器和精密轴承润滑剂的标准指南 第2部分 润滑脂》.pdf ASTM F2489-2006 Standard Guide for Instrument and Precision Bearing Lubricants-Part 2 Greases《仪器和精密轴承润滑剂的标准指南 第2部分 润滑脂》.pdf
  • ASTM F2489-2006(2013) Standard Guide for Instrument and Precision Bearing LubricantsPart 2 Greases《仪器和精密轴承润滑剂的标准指南 第2部分 润滑脂》.pdf ASTM F2489-2006(2013) Standard Guide for Instrument and Precision Bearing LubricantsPart 2 Greases《仪器和精密轴承润滑剂的标准指南 第2部分 润滑脂》.pdf
  • ASTM F2490-2005(2013) Standard Guide for Aircraft Electrical Load and Power Source Capacity Analysis《航空器电器荷载和电源容量分析的标准指南》.pdf ASTM F2490-2005(2013) Standard Guide for Aircraft Electrical Load and Power Source Capacity Analysis《航空器电器荷载和电源容量分析的标准指南》.pdf
  • ASTM F2490-2005e1 Standard Guide for Aircraft Electrical Load and Power Source Capacity Analysis《飞行器电气载荷和电源容量分析的标准指南》.pdf ASTM F2490-2005e1 Standard Guide for Aircraft Electrical Load and Power Source Capacity Analysis《飞行器电气载荷和电源容量分析的标准指南》.pdf
  • ASTM F2491-2005 Standard Guide for Determining Load Ratios for Technical Rescue Systems and Equipment《技术救援系统和设备的荷载率测定的标准指南》.pdf ASTM F2491-2005 Standard Guide for Determining Load Ratios for Technical Rescue Systems and Equipment《技术救援系统和设备的荷载率测定的标准指南》.pdf
  • ASTM F2491-2005(2010)e1 Standard Guide for Determining Load Ratios for Technical Rescue Systems and Equipment《技术救援系统和设备的荷载率测定的标准指南》.pdf ASTM F2491-2005(2010)e1 Standard Guide for Determining Load Ratios for Technical Rescue Systems and Equipment《技术救援系统和设备的荷载率测定的标准指南》.pdf
  • ASTM F2491-2005(2015) Standard Guide for Determining Load Ratios for Technical Rescue Systems and Equipment《用于确定技术救援系统和设备负载比例的标准指南》.pdf ASTM F2491-2005(2015) Standard Guide for Determining Load Ratios for Technical Rescue Systems and Equipment《用于确定技术救援系统和设备负载比例的标准指南》.pdf
  • ASTM F2493-2006 Standard Specification for P225 60R16 97S Radial Standard Reference Test Tire《P225 60R16 97S 子午线标准试验轮胎的标准规范》.pdf ASTM F2493-2006 Standard Specification for P225 60R16 97S Radial Standard Reference Test Tire《P225 60R16 97S 子午线标准试验轮胎的标准规范》.pdf
  • ASTM F2493-2008 Standard Specification for P225 60R16 97S Radial Standard Reference Test Tire《P225 60R16 97S 子午线标准试验轮胎的标准规范》.pdf ASTM F2493-2008 Standard Specification for P225 60R16 97S Radial Standard Reference Test Tire《P225 60R16 97S 子午线标准试验轮胎的标准规范》.pdf
  • 相关搜索

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

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