【计算机类职业资格】二级C++笔试-296及答案解析.doc
《【计算机类职业资格】二级C++笔试-296及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-296及答案解析.doc(33页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-296 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列虚基类的声明中正确的是(分数:2.00)A.class virtual B:public AB.virtual class B:public AC.class B:public A virtualD.class B:virtual public A2.面向对象程序设计将数据和什么放在一起,作为一个相互依存、不可分割的整体来处理?(分数:2.00)A.对数据的操作B.信息C.数据隐藏D.数据抽象3.通过公有派生类的对象,只能访问基类成员中的(分数:2.00)A.公有成
2、员B.私有成员C.保护成员D.公有成员和保护成员4.设有 a、b、c、d、m、n 均为 int 型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)class baseprivate:char baseName10;public:base()strcpy(baseName,“Base“);virtual char *myName()return baseName;char *className()Return baseName;class Derived: public baseprivate:char derivedName10;public:Derived(
3、)strcpy(derivedName,“Derived“ );char *myName()return derivedName;char *className()return derivedName;void showPtr(base int main()base bb;Derived dd;showPtr(dd);return 0;运行后的输出结果为(分数:2.00)A.Derived BaseB.Base BaseC.Derived DerivedD.Base Derived8.一棵二叉树中共有 70 个叶子结点与 80 个度为 1 的结点,则该二叉树中的总结点数为(分数:2.00)A.
4、221B.219C.231D.2299.若有一个 MyClass 类,则执行语句 MyClass a,b(2),*p;后,自动调用该类的构造函数 ( )次。(分数:2.00)A.2B.3C.4D.510.在进行任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是(分数:2.00)A.failB.eofC.badD.good11.在关系模型中,(分数:2.00)A.为了建立一个关系,首先要构造数据的逻辑关系B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项C.一个关系的属性名表称为关系模式D.一个关系可以包括多个二维表12.下列叙
5、述中错误的是(分数:2.00)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据处理的效率无关C.数据的存储结构与数据处理的效率密切相关D.数据的存储结构在计算机中所占的空间不一定是连续的13.下列关于栈的叙述正确的是(分数:2.00)A.在栈中只能插入数据B.在栈中只能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表14.在下面的 4 个关键字中用来说明虚函数的是(分数:2.00)A.virtualB.publicC.protectedD.private15.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(分数:2.00)A.选择B.连接C
6、.投影D.并16.有以下程序#include iostreamusing namespace std; class sampleprivate:int x;public:sample(int(分数:2.00)A.17.有以下程序:#include iostreamusing namespace std;int main()int x=15;while(x10if(x/3)x+; break;coutxend1;return 0;执行后的输出结果是(分数:2.00)A.15B.16C.17D.1818.在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示(分数:2.00)A.模块之间的调
7、用关系B.程序的组成成份C.控制程序的执行顺序D.数据的流向19.下列叙述中正确的是(分数:2.00)A.接口复杂的模块,其耦合程度一定低B.耦合程度弱的模块,其内聚程度一定低C.耦合程度弱的模块,其内聚程度一定高D.上述三种说法都不对20.有以下程序: class Datepublic:Date(int y, int m, int d);year = y;month = m;day = d;Date(int y = 2000)year = y;month = 10;day = 1;Date(Date month = d.month;day = a.day;void print()coutye
8、ar“.“month“.“dayend1;private:int year, month,day;Date fun(Date d)Date temp;temp = d;return temp;int main()Date date 1 (2000,1,1),date2(0,0,0);Date date3(date 1);date2 = fun(date3);return 0;程序执行时,Date 类的拷贝构造函数被调用的次数是(分数:2.00)A.2B.3C.4D.521.下列关于 E-R 图的描述中正确的是(分数:2.00)A.E-R 图只能表示实体之间的联系B.E-R 图只能表示实体和实体
9、之间的联系C.E-R 图只能表示实体和属性D.E-R 图能表示实体、属性和实体之间的联系22.考虑下面的函数原型:void f(int a,int b=7,char c=);下面的函数调用中,不合法的是(分数:2.00)A.f(5)B.f(5,8)C.f(6,B.istreamC.istream operator (istream,类名D.类名 operator (istream26.已知类 Myst 有一个只需要一个 double 型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列 Myst x(3.2),y(5.5),z(0.0);z=8.9-y;y=x-6.3; 能够正常运行
10、,运算符函数 operator应该在类中声明为(分数:2.00)A.friend Myst operator-(Mystint f()static int i = 0;ints= 1;s+=i;i+;return s;int main()int i,a = 0;for(i = 0;i5;i+)a+=f();coutaendl;return 0;程序运行后,输出的结果是(分数:2.00)A.20B.24C.25D.1529.下列模板的声明中,正确是(分数:2.00)A.templateTB.templateclass T1,T2C.templateclass T1,class T2D.templ
11、ateclass T1 ;class T230.若有以下程序:#include iostreamusing namespace std;class Aprivate:int a;public:A(int i)a=i;void disp()cout a“,“;class Bprivate:int b;public:B(int j)b=j;void disp()coutb“,“;class C: public B,public Aprivate:int c;public:C(int k):A(k-2),B(k+2)c=k;void disp()A:disp();B:disp();coutcend1
12、;int main()C obj (10);obj.disp();return 0;程序执行后的输出结果是(分数:2.00)A.10,10,10B.10, 12,14C.8,10,12D.8,12,1031.以下程序的输出结果是#include iostream.hvoid main()int a=0,i;for(i=1 ;i5;i+)switch(i)case 0:case 3: a+=2;case 1:case 2: a+=3;default: a+=5;coutaend1;return;(分数:2.00)A.31B.13C.10D.2032.一个在基类中说明的虚函数,它在该基类中没有定义
13、,但要求任何派生类都必须定义自己的版本,此虚函数又称为(分数:2.00)A.虚析构函数B.虚构造函数C.纯虚函数D.静态成员函数33.下列对变量的引用中,错误的是(分数:2.00)A.int a; int B.char a; char C.iht a; int p =a;D.float a; float 34.以下程序段共有错误( )处#include iostreamusing namespaces std;class Sampleprivate:int n;public:Sample(int i)n=i;void setvalue(int i)n=i;void display()cout“
14、n=“nend1;int main()const Sample a(l0);a.setvalue(5);a.display();return 0;(分数:2.00)A.1B.2C.3D.435.下面有关重载函数的说法中正确的是(分数:2.00)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同二、填空题(总题数:15,分数:30.00)36.在深度为 5 的完全二叉树中,度为 2 的结点数最多为 【1】 。(分数:2.00)填空项 1:_37.在面向对象方法中,允许作用于某个对象上的操作称为 【2】 。(分数:2.00)填空项
15、 1:_38.软件生命周期包括 8 个阶段。为了使各时期的任务更明确,又可分为 3 个时期:软件定义期、软件开发期、软件维护期。编码和测试属于 【3】 期。(分数:2.00)填空项 1:_39.在关系运算中, 【4】 运算是对两个具有公共属性的关系所进行的运算。(分数:2.00)填空项 1:_40.实体之间的联系可以归结为一对一的联系,一对多的联系与多对多的联系。如果一个学校有许多学生,而一个学生只归属于一个学校,则实体集学校与实体集学生之间的联系属于 【5】 的联系。(分数:2.00)填空项 1:_41.写出执行完下列代码段之后指定变量的值:bool x=true,y=false,z=fal
16、se;x=xclass Baseint x;public:Base(int i) x=i;Base();class Derived: public Basepublic:_完成类 Derive 构造函数的定义;int main()Derived Obj;return 0;在横线处应填入的语句是 【9】 。(分数:2.00)填空项 1:_45.下列程序的输出结果是 【10】 。#include iostreamusing namespace std;int main()int data=1;int data+=5;r+=5;coutdataend 1;return 0;(分数:2.00)填空项
17、1:_46.有以下程序#include iostreamusing namespace std;class MyClasspublic:MyClass();MyClass();static int s;void SetValue(int val);int MyClass:s=0;MyClass:MyClass()s+;void MyClass:SetValue(int val)(s=val;int main()MyClass my3,*p;p=my;for(int k=0;k3;k+)p-SetValue(k+l);p+;coutMyClass:send1;return 0;运行后的输出结果是
18、 【11】 。(分数:2.00)填空项 1:_47.有以下程序:#include iostreamusing namespace std;long fib( int n )if(n2)return ( fib( n-1 )+fib( n-2 ) );elsereturn 2;int main()coutfib(3)end1;return 0;则该程序的输出结果应该是 【12】 。(分数:2.00)填空项 1:_48.已知 int DBL(int n)return n+n;和 long DBL(long n)return n+n)是一个函数模板的两个实例,则该函数模板的定义是 【13】 。(分数
19、:2.00)填空项 1:_49.有以下程序#include iostreamusing namespace std;class Baseint a;public:Base(int x) a=x;void show()couta; ;class Derived: public Baseint b;public:Derived(int i):Base(i+1),b(i) void show() coutb; ;int main()Base b(5),*pb;Derived d(1);pb=pb-show();return 0;运行后的打印结果是 【14】 。(分数:2.00)填空项 1:_50.有
20、如下程序:#include iostreamusing namespace std;class AApublic:virtual void f()cout“AA“;class BB: public AApublic:BB()cout“BB“;class CC: public BBpublic:virtual void f()BB:f();cout“CC“;int main()AA aa,*p; BB bb; CC cc;p=P-f();return 0;运行后的输出结果 【15】 。(分数:2.00)填空项 1:_二级 C+笔试-296 答案解析(总分:100.00,做题时间:90 分钟)一、
21、选择题(总题数:35,分数:70.00)1.下列虚基类的声明中正确的是(分数:2.00)A.class virtual B:public AB.virtual class B:public AC.class B:public A virtualD.class B:virtual public A 解析:解析 本题考核虚基类的声明方式。虚基类说明格式如下:Virtual继承方式基类名其中,virtual 是虚基类的关键词。虚基类的说明是用在定义派生类时,写在派生类名的后面。即:class派生类名:Virtual继承方式基类名。2.面向对象程序设计将数据和什么放在一起,作为一个相互依存、不可分割的
22、整体来处理?(分数:2.00)A.对数据的操作 B.信息C.数据隐藏D.数据抽象解析:解析 面向对象语言包含 3 个要素,即对象、类和继承。这 3 个要素反映了面向对象的传统观念。面向对象程序设计的本质是把数据和对数据的操作当成一个整体即对象。3.通过公有派生类的对象,只能访问基类成员中的(分数:2.00)A.公有成员 B.私有成员C.保护成员D.公有成员和保护成员解析:解析 本题考核派生类的访问权限。派生类的继承方式有三种:公有继承 public、私有继承private 和保护继承 protected。当公有派生时,派生类成员函数只能访问基类的公有成员和保护成员,但是通过派生类的对象只能访问
23、基类的公有成员。4.设有 a、b、c、d、m、n 均为 int 型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)class baseprivate:char baseName10;public:base()strcpy(baseName,“Base“);virtual char *myName()return baseName;char *className()Return baseName;class Derived: public baseprivate:char derivedName10;public:Derived()strcpy(derivedN
24、ame,“Derived“ );char *myName()return derivedName;char *className()return derivedName;void showPtr(base int main()base bb;Derived dd;showPtr(dd);return 0;运行后的输出结果为(分数:2.00)A.Derived Base B.Base BaseC.Derived DerivedD.Base Derived解析:解析 本题考核虚函数的应用。类 Derived 是从基类 Base 公有派生而来的。因此, Derived 是基类 Base 的子类型。m
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 296 答案 解析 DOC
