【计算机类职业资格】二级C++笔试-344及答案解析.doc
《【计算机类职业资格】二级C++笔试-344及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-344及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-344 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列选项中,是软件调试技术的是( )。(分数:2.00)A.错误推断B.集成测试C.回溯法D.边界值分析2.如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须使用( )关键字来修饰。(分数:2.00)A.constB.staticC.voidD.class3.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是( )。(分数:2.00)A.DB 包括 DBS 和 DBMSB.DBMS 包括 DB 和 DBSC.DBS 包括
2、 DB 和 DBMSD.没有任何关系4.下列关于成员函数特征的描述中,错误的是( )。(分数:2.00)A.成员函数一定是内联函数B.成员函数可以重载C.成员函数可以设置参数的默认值D.成员函数可以是静态的5.有如下程序:#includeiostreamusing namespace std;Class Conchar ID;public:Con():ID(A)cout1;Con(char ID) :ID(ID) cout2;Con(Conchar get1D()constreturn ID;void show(Con c)coutc.get1D();int main()Con c1;show
3、(c1);Con c2(B);show(c2);return 0;执行上面程序的输出是( )。(分数:2.00)A.13A23AB.23A13BC.13A23BD.13B23A6.在 C+程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序执行速度,则应该选用( )。(分数:2.00)A.内联函数B.重载函数C.递归调用D.嵌套调用7.关于模板,下列说法不正确的是( )。(分数:2.00)A.用类模板定义一个对象时,不能省略实参B.类模板只能有虚拟类型参数C.类模板本身在编译中不会生成任何代码D.类模板的成员函数都是模板函数8.结构化程序设计主要强调的是( )。(分数:2.00
4、)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易读性9.下列函数的功能是判断字符串 str 是否对称,对称则返回 true,否则返回 false。请在横线处填上适当内容,实现该函数。Boo1 fun(char*str)int i=0,j=0;while(strjj+;for(j-;iji+,j-);return i _ j;(分数:2.00)A.B.|C.表达式 Wednesday= =Friday 的值是( )。(分数:2.00)A.falseB.trueC.2D.异常11.将 x+y*z 中的“+”用成员函数重载,“*”用友元函数重载应写为( )。(分数:2.00)A.o
5、perator+(operator*(y,z)B.operator+(operator*(y,z)C.operator+(x*(y,z)D.x+(operator*(y,z)12.类 MyClass 的定义如下,若要对 value 赋值,则下面语句正确的是( )。class MyClasspublic:MyClass()MyClass(int i)value=new int(i);int*value;(分数:2.00)A.MyClass my;my.value=10;B.MyClass my;*my.value=10;C.MyClass my;my.*value=10;D.MyClass my
6、(10);13.下列情况中,不会调用拷贝构造函数的是( )。(分数:2.00)A.用一个对象去初始化同一类的另一个新对象时B.将类的一个对象赋值给该类的另一个对象时C.函数的形参是类的对象,调用函数进行形参和实参结合时D.函数的返回值是类的对象,函数执行返回调用时14.有下列二叉树,对此二叉树前序遍历的结果为( )。(分数:2.00)A.XZCYABB.XYZABCC.XYABCZD.XYAZBC15.有如下类声明;class SAMPLEint n;public:SAMPLE(int i=0):n(i)void setValue(int n0);下列关于 setValue 成员函数的实现中,
7、正确的是( )。(分数:2.00)A.SAMPLE:setValue(int n0)n=n0;)B.void SAMPLE:setValue(int n0)n=n0;C.void setValue(int n0)n=n0;D.(int n0)n=n0;16.C+语言本身没有定义 I/O 操作,但 I/O 操作包含在 C+实现中。C+标准库 iostream 提供了基本的I/O 类。I/O 操作分别由两个类 istream 和( )提供。(分数:2.00)A.fstreamB.iostreamC.ostreamD.cin17.下列对派生类的表述中,错误的是( )。(分数:2.00)A.一个派生类
8、可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的缺省继承方式是 privateD.派生类只继承了基类的公有成员和保护成员18.已知递归函数 fun 的定义如下:int fun(int n)if(n=1)return 1;/递归结束情况else return n*fun(n-2);/递归则函数调用语句 fun(5)的返回值是( )。(分数:2.00)A.5B.12C.15D.3019.按照“先进先出”组织数据的数据结构是( )。(分数:2.00)A.队列B.栈C.双向链表D.二叉树20.类 MyClass 的定义如下:class MyClasspublic:MyClass()val
9、ue=0;SetVariable(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)等价21.有下列程序,在横线添加;#includeiostreamusing namespace std;class TestClasspub
10、lic:TestClass(int n)number=n;_/拷贝构造函数TestClass()private:int number;TestClass fun(TestClass p)TestClass temp(P);return temp;int main()TestClsss obj1(10),obj2(0);TestClass obj3(obj1);obj2=fun(obj3);return 0;(分数:2.00)A.TestClass(TestClass B.TestClass(TestClass other)number=other.number;C.TestClass(Test
11、Class D.TestClass(22.下列程序的输出结果是( )。#includeiostreamusing namespace std;templatetypename TT fun(T a,T b)return(ab)?a:b;void main()coutfun(3,6),fun(3.14F,6.28F)end1;(分数:2.00)A.6,3.14B.3,6.28C.3,3.14D.6,6.2823.将下列程序写成三目运算表达式是( )。if(xy)min=x;else min=y;(分数:2.00)A.min=(xy)?x:yB.min=(xy)?x:yC.min=(xy)x:yD
12、.min=(xy)?x,y24.非成员函数只有在声明为( ),才能访问这个类的所有 private 成员。(分数:2.00)A.内联函数B.纯虚函数C.重载函数D.友元函数25.有如下程序:#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
13、.BAABA-AD.ABAABA26.下列有关内联函数的叙述中,正确的是( )。(分数:2.00)A.内联函数在调用时发生控制转移B.内联函数必须通过关键字 inline 来定义C.内联函数是通过编译器来实现的D.内联函数函数体的最后一条语句必须是 return 语句27.算法的空间复杂度是指( )。(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间28.下列叙述中正确的是( )。(分数:2.00)A.线性链表的各元素在存储空间中的位置必须是连续的B.线性链表的头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中
14、的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的29.下列打开文件的表达式中,错误的是( )。(分数:2.00)A.ofstream ofile;ofile.open(“C:/vc/LabC.txt“,ios:binary);B.fstream iofile;iofile.open(“abC.txt“,ios:ate);C.ifstream ifile(“C:/vc/abC.txt“);D.cout.open(“C:/vc/abC.txt“,ios:binary);30.结构化分析方法是面向( )的自顶
15、向下、逐步求精进行需求分析的方法。(分数:2.00)A.对象B.数据结构C.数据流D.目标31.若类 A 和类 B 的定义如下:#includemalloc.hclass Aint i,j;public:int geti()return i;class B:public Aint k;public:void make()k=i*j;则上述定义中非法的表达式是( )。(分数:2.00)A.k=i*jB.int k;C.return i;D.void make();32.下列关于纯虚函数与抽象类的描述中,错误的是( )。(分数:2.00)A.纯虚函数是一种特殊的虚函数,它没有具体的实现B.抽象类是
16、指具有纯虚函数的类C.一个基类中说明具有纯虚函数,该基类的派生类一定不再是抽象类D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出33.有如下程序:#includeiostreamusing namespace std;long fun(int n)if(n2)return(fun(n-1)+fun(n-2);elsereturn 2;int main()coutfun(3)end1;return 0;则该程序的输出结果应该是( )。(分数:2.00)A.2B.3C.4D.534.下列叙述中正确的是( )。(分数:2.00)A.在面向对象的程序设计中,各个对象之间具有密切的关系B.在面
17、向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述三种说法都不对35.最简单的交换排序方法是( )。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序二、填空题(总题数:15,分数:30.00)36.数据的独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,这称为 1。(分数:2.00)填空项 1:_37.在关系模型中,二维表的行称为 1。(分数:2.00)填空项 1:_38.数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中, 1 是用户的数据视
18、图,也就是用户所见到的数据模式。(分数:2.00)填空项 1:_39.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 1 和选择排序。(分数:2.00)填空项 1:_40.栈的三种基本运算是入栈、退栈和 1。(分数:2.00)填空项 1:_41.纯虚函数的声明总是以 1 结束。(分数:2.00)填空项 1:_42.下列程序的输出结果为Objectid=OObiectid=1请将程序补充完整。#includeiostreamusing namespace std;class Pointpublic:Point(int xx=0,int yy=0)X=xx;Y=yy;countP
19、+;Point()countP-;int GetX()return X;int GetY()return Y;static void GetC()cout“Object id=“countPend1;private:int X,Y;static int countP;_/静态数据成员的初始化int main()Point:GetC();Point A(4,5);A.GetC();return 0;(分数:2.00)填空项 1:_43.下列程序的输出结果是_。#includeiostreamusing namespace std;Class Testpublic:Test()cnt+;Test(
20、)cnt-;static int Count()return cnt;private:static int cnt;int Test:cnt=0;int main()coutTest:Count()“;Test t1,t2;Test*pT3=new Test;Test*pT4=new Test;coutTest:Count()“;delete pT4;delete pT3;coutTest:Count()end1;return 0;(分数:2.00)填空项 1:_44.执行这个程序的输出结果是( );#includeiostreamusing namespace std;class TestC
21、lass1public:void fun1()cout“TestClass1/n“;virtual void fun2()cout“TestClass1/n“;class TestClass2:public TestClass1public:void fun1()cout“TestClass2/n“;void fun2()cout“TestClass2/n“;void f(TestClass1b.fun2();int main()TestClass2 obj;f(obj);return 0;(分数:2.00)填空项 1:_45.表达式 c3=c1.operator+(c2)或 c3=opera
22、tor+(c1,c2)还可以表示为 1。(分数:2.00)填空项 1:_46.插入排序算法的主要思想:每次从未排序序列中取出一个数据,插入到己排序序列中的正确位置。Insert 类的成员函数 sort()实现了插入排序算法,请填空。class Insertpublic:Insert(int *b0,int n0):b(b0),n(n0);/参数 b0 是某数组首地址,n 是数组元素个数void sort()/此函数假设已排序序列初始化状态只包含 b0,未排序序列初始为 b1.bn-1for(int i=1;in;+i)int t=bi;int j;for(_;j0;-j)if(tbj-1)br
23、eak;bj=bj-1;bj=t;(分数:2.00)填空项 1:_47.程序中有如下语句:for(int i=0;i5;i+)cout*(p+i)“,“;能够依次输出 int 型一维数组 DATA 的前 5 个元素。由此可知,变量 p 的定义及初始化语句是_。(分数:2.00)填空项 1:_48.已知递归函数 f 的定义如下:int f(int n)if(n1)return 1; /递归结束情况else return n*f(n-2);/递归)则函数调用语句 f(5)的返回值是_。(分数:2.00)填空项 1:_49.有如下定义:class MAint value;public:MA(int
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 344 答案 解析 DOC
