【计算机类职业资格】二级C++笔试-366及答案解析.doc
《【计算机类职业资格】二级C++笔试-366及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-366及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-366 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下面对静态数据成员的描述中,正确的是( )。(分数:2.00)A.静态数据成员是类的所有对象共享的数据B.类的每个对象都有自己的静态数据成员C.类的不同对象有不同的静态数据成员值D.静态数据成员不能通过类的对象调用2.下列说法中错误的是( )。(分数:2.00)A.公有继承时基类中的 public 成员在派生类中仍是 public 的B.公有继承时基类中的 private 成员在派生类中仍 public 是的C.私有继承时基类中的 public 成员在派生类中仍 pri
2、vate 是的D.保护继承时基类中的 public 成员在派生类中仍 protected 是的3.有如下程序:#includeiostreamusing namespace std;class TestClass1public:virtual void fun()cout“1“;class TestClass2: public TestClass1public:TestClass2()cout“2“;class TestClass3:public TestClass2public:virtual void fun()TestClass2:fun();cout“3“;int main()Test
3、Class 1 aa,*p;TestClass2 bb;TestClass3 cc;p=P-fun();return 0;执行上面程序的输出是( )。(分数:2.00)A.1122B.2112C.2213D.22234.在下列横线处应添加的语句是( )。class Basepublic:void fun()cout“Base:fun“end1;class: Derived: public Basepublic:void fun()_/显示调用基类的 fun 函数cout“Derived:fun“end1;(分数:2.00)A.Derived:funB.Base:fun();C.Pubic:fu
4、nD.fun();5.下列关于 this 指针的叙述中,正确的是( )(分数:2.00)A.任何与类相关的函数都有 this 指针B.类的成员函数都有 this 指针C.类的友元函数都有 this 指针D.类的非静态成员函数才有 this 指针6.( )提供了类对外部的接口,私有成员是类的内部实现,而保护成员不允许外界访问,但允许派生类的成员访问,这样既有一定的隐藏能力,又提供了开放的接口。(分数:2.00)A.公有成员B.私有成员C.私有成员函数D.保护成员7.对关系 S 和 R 进行集合运算,结果中既包含 s 中的所有元组也包含 R 中的所有元组,这样的集合运算称为( )。(分数:2.00
5、)A.并运算B.交运算C.差运算D.积运算8.有如下程序:#includeiostreamusing namespace std;TestClass()cout“BB“;fun()void fun()cout“Bf“;class TestClass1:public TestClasspublic:TestClass1()cout“DD“;void fun()cout“Df“;int main()TestClass1 d; return 0;执行上面的程序将输出( )。(分数:2.00)A.BBBfDDB.BBDfDDDfC.DDD.DDBBBf9.关于运算符重载,下列表述中正确的是( )。(分
6、数:2.00)A.C+已有的任何运算符都可以重载B.运算符函数的返回类型不能声明为基本数据类型C.在类型转换符函数的定义中不需要声明返回类型D.可以通过运算符重载来创建 C+中原来没有的运算符10.为了取代 C 中带参数的宏,在 C+中使用( )。(分数:2.00)A.重载函数B.内联函数C.递归函数D.友元函数11.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是( )。(分数:2.00)A.DB 包括:DBS 和 DBMSB.DBMS 包括 DB 和 DBSC.DBS 包括 DB 和 DBMSD.没有任何关系12.有如下程序:#includeiostreamusin
7、g namespace std;long fun(int n)if(n2)return(fun(n-1)+fun(n-2);return 2;int main()coutfun(3)end1;return 0;则该程序的输出结果应该是( )。(分数:2.00)A.2B.3C.4D.513.静态数据成员是为( )的数据。(分数:2.00)A.私有B.保护C.所有对象共享D.类成员14.建立 E-R 模型的工作,属于软件生命周期中的( )。(分数:2.00)A.需求分析阶段B.设计阶段C.编码阶段D.测试阶段15.一间教室可坐多名学生,则实体教室和学生之间的联系是( )。(分数:2.00)A.一对
8、一B.一对多C.多对一D.多对多16.下列程序的输出结果是( )。#includeiostreamusing namespace std;templateT fun(T a,T b)return(a=b)?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.2817.有如下类声明:class Foo int bar;则 Foo 类的成员 bar 是( )。(分数:2.00)A.公有数据成员B.公有成员函数C.私有数据成员D.私有成员函数18.下列程序中横线处正确的语句是
9、( )。#includeiostreamusing namespace std;class TestClasspublic:void fun()cout“TestClass:fun“end1;class TestClass1:public TestClassvoid fun()_/显示调用基类的函数 fun()cout“TestClass1:fun“end1;;(分数:2.00)A.fun();B.TestClass.fun()C.TestClass:fun();D.TestClass-fun();19.有如下程序:#includeiostream.husing namespace std;c
10、lass TestClasspublic:TestClass ()cout“default constructor/n“;TestClass(const TestClass TestClass userCode(TestClass b)TestClass c(b);return c;int main()TestClass a,d;cout“calling userCode()/n“;d=userCode((分数:2.00)A.;return 0;void add(int X,int y,int *z)*z=y+x;int main()int a,b,c;add(8,4,add(6,a,add(
11、a,b,couta“,“b“,26.算法分析的目的是( )。(分数:2.00)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进27.在下面的类定义中,错误的语句是( )。class Samplepublic:Sample(int val): /Sample(); /private:int a=2.5; /Sample(): /;(分数:2.00)A.B.C.D.28.若类 A 和类 B 的定义如下:#includemalloc.hclass Aint i,j;public:int geti()return i;class B: p
12、ublic Aint k;public:void make()k=i,j;);则上述定义中非法的表达式是( )。(分数:2.00)A.k=i*j;B.int k;C.return i;D.void make();29.有如下函数模板定义:templateT1 sum(T1 a1)return(a1+a2+a3);则以下调用中正确的是( )。(分数:2.00)A.sumint,4,3(5);B.sum4,3(5);C.sumint,int,int(5);D.sum(5);30.线性表常采用的两种存储结构是( )。(分数:2.00)A.顺序存储结构和链式存储结构B.散列方法和索引方式C.链表存储结
13、构和数组D.线性存储结构和非线性存储结构31.有如下类的定义。横线处的语句是( )。class MyClasspublic:MyClass(int a=0,int b=0)X=a;Y=b;void Change()constX-=10;Y+=10;private:_intX, Y;(分数:2.00)A.staticB.constC.mutableD.不需要填入内容32.针对数组定义 int data10;,下列表述中错误的是( )。(分数:2.00)A.用*data 可访问到数组的首元素B.用 data9可访问到数组的末元素C.用 data10访问数组元素会超出数组边界D.data 共有 10
14、 个元素,其首元素是 data133.假定 MyClass 为一个类,则该类的拷贝初始化构造函数的声明语句为( )。(分数:2.00)A.MyClassB.MyClass(MyClass x)C.MyClass(MyClass D.MyClass(MyClass *x)34.在包含 1000 个元素的线性表中实现如下各运算,所需的执行时间最长的是( )。(分数:2.00)A.线性表按顺序方式存储,在线性表的第 100 个结点后面插入一个新结点B.线性表按链接方式存储,在线性表的第 100 个结点后面插入一个新结点C.线性表按顺序方式存储,删除线性表的第 900 个结点D.线性表按链接方式存储,
15、删除指针 P 所指向的结点35.有以下程序:#includeiostreamusing namespace std;public:TestClass(int r1,int r2)R1=r1;R2=r2;void print();void print() const;private;int R1,R2;void TestClass:print()coutR1“,“R2end1;void Testclass:print() constcoutR1“,“R2end1;int main()TestClass a(5,4);const TestClass b(20,52);b.print();retur
16、n 0;执行后的输出结果是( )。(分数:2.00)A.5,4B.20,52C.0,0D.4,5二、填空题(总题数:15,分数:30.00)36.在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。(分数:2.00)填空项 1:_37.在深度为 6 的满二叉树中,度为 2 的结点个数为_。(分数:2.00)填空项 1:_38.模块的独立程度可以由两个定性标准度量。其中, 1 是度量一个模块功能强度的一个相对指标。(分数:2.00)填空项 1:_39.用数组 A1n顺序存储完全二叉树的各结点,则当 i0,且 i=_时,结
17、点 Ai的右子女是结点 A2i+1,否则结点 Ai没有右子女。(分数:2.00)填空项 1:_40.数据管理技术的发展经历了人工管理、文件系统和数据库系统 3 个阶段,其中数据独立性最高的是 1。(分数:2.00)填空项 1:_41.执行以下程序,输出结果的最后一行语句是_。#include iostream.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=“y
18、end1;void main()Sample s1(2,3);s1.disp();(分数:2.00)填空项 1:_42.创建对象数组时,对数组的每一个元素都将调用一次构造函数,如果没有显示给出数组元素的初值,则调用缺省构造函数。下列程序涉及对象数组的创建和单个对象的创建,其输出结果是_。#include iostreamusing namespace std;class Foopublic:Foo(int x)coutA;Foo();int main()Foo f3, g(3);return 0;(分数:2.00)填空项 1:_43.表达式 c3=c1.operator+(c2)或 c3=op
19、erator+(c1,c2)还可以表示为 1。(分数:2.00)填空项 1:_44.已知下列程序的输出结果是 42,请将画线处缺失的部分补充完整。#includeiostreamusing namespace std;class TestClassint value;public:TestClass():value(0);void setValue(int value)_=value;,/给 TestClass 的数据成员 value 赋值void print()coutvalue;int main()TestClass f;f.setValue(42);f.print();return 0;
20、(分数:2.00)填空项 1:_45.以下程序输出结果为_。#includeiostreamusing namespace std;class TestClass 1public:TestClass1()TestClass1(int i)x1=i;void dispa()cout“x1=“x1“,“;private:int x1;:class TestClass2:public TestClass1public:TestClass2()TestClass2(int i):TestClass1(i+10)x2=i:void dispb()dispa();cout“x2=“x2end1;priva
21、te:int x2:int main()TestClass2 b(2):b.dispb();return 0;(分数:2.00)填空项 1:_46.请将下列类定义补充完整,横线处应填加语句_。class TestClasspublic:void fun()cout“Base:fun“end1;class TestClass1:public TestClasspublic:voidfun()_;显示调用基类的 fun 函数cout“TestClass1:fun“end1;(分数:2.00)填空项 1:_47.纯虚函数的声明总是以 1 结束。(分数:2.00)填空项 1:_48.在下面程序的横线处
22、填上_,使程序执行后的输出结果为 1/2005。#includeiostream.husing namespace std;class DatePublic:Date(int m=1,int y=0): month(m),year(y)void Print()coutmonth“/“yearend1;_operator+(const Dateprivate:int month, year;Date operator+(const Dateyear=d1.year+d2.year;month=d1.month+d2.month;year+=(month-1)12;month=(month-1)%
23、12+1;return Date(month,year);void main()Date d1(3,2004),d2,d3(10);d2=d3+d1;d2.Print();(分数:2.00)填空项 1:_49.对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用 1 的构造函数。再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。(分数:2.00)填空项 1:_50.有如下程序:#includeiostreamusing namespace std;class Apublic:A()cout“A“;A()cout“A“;class BAa;public:B()cou
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 366 答案 解析 DOC
