【计算机类职业资格】二级C++笔试75及答案解析.doc
《【计算机类职业资格】二级C++笔试75及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试75及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 75 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.已知类 Myst 有一个只需要一个 double 型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列 Myst x(3.2),y(5.5),z(0.0); z=8.9-y; y=x-6.3; 能够正常运行,运算符函数 operator应该在类中声明为(分数:2.00)A.friend Myst operator-(Myst class Sample private: int n; public: Sample(int i) n=i; void setva
2、lue(int i) n=i; void display() cout“n=“nend1; ; int main() const Sample a(l0); a.setvalue(5); a.display(); return 0; (分数:2.00)A.1B.2C.3D.43.若有以下程序: #include iostream using namespace std; int 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
3、; return 0; 程序运行后,输出的结果是(分数:2.00)A.20B.24C.25D.154.一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称为(分数:2.00)A.虚析构函数B.虚构造函数C.纯虚函数D.静态成员函数5.有以下程序 #include iostream using namespace std; class sample private: int x; public: sample(int a) x=a; friend double square(sample s); ; double square(sample s) r
4、eturn s.x*s.x; int main() sample s1 (20),s2(30); coutsquare(s2)end1; return 0; 执行结果是(分数:2.00)A.20B.30C.900D.4006.有以下程序 #include iostream #include string using namespace std; class base private: char baseName10; public: base() strcpy(baseName,“Base“); virtual char *myName() return baseName; char *cla
5、ssName() Return baseName; ; class Derived: public base private: char derivedName10; public: Derived() 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)
6、A.Derived BaseB.Base BaseC.Derived DerivedD.Base Derived7.考虑函数原型 void test(int a,int b=7,char z=*),下面的函数调用中,属于不合法调用的是(分数:2.00)A.test(5);B.test(5,8);C.test(6,#;D.test(0,0,*);8.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(分数:2.00)A.选择B.连接C.投影D.并9.下列关于 E-R 图的描述中正确的是(分数:2.00)A.E-R 图只能表示实体之间的联系B.E-R 图只能表示实体和实体
7、之间的联系C.E-R 图只能表示实体和属性D.E-R 图能表示实体、属性和实体之间的联系10.在关系模型中,(分数:2.00)A.为了建立一个关系,首先要构造数据的逻辑关系B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项C.一个关系的属性名表称为关系模式D.一个关系可以包括多个二维表11.下列对变量的引用中,错误的是(分数:2.00)A.int a; int B.char a; char C.iht a; int p =a;D.float a; float 12.下列关于 new 运算符的描述中错误的是(分数:2.00)A.使用运算符 new 创建对象数组时必须定义初始值B.使用运
8、算符 new 创建对象时,会调用类的构造函数C.运算符 new 可以用来动态创建对象和对象数组D.使用 new 运算符创建的对象可以使用运算符 delete 删除13.若有以下程序: #include iostream using namespace std; class A private: int a; public: A(int i) a=i; void disp() cout a“,“; ; class B private: int b; public: B(int j) b=j; void disp() coutb“,“; ; class C: public B,public A p
9、rivate: int c; public: C(int k):A(k-2),B(k+2) c=k; void disp() A:disp(); B:disp(); coutcend1; ; int main() C obj (10); obj.disp(); return 0; 程序执行后的输出结果是(分数:2.00)A.10,10,10B.10, 12,14C.8,10,12D.8,12,1014.通过公有派生类的对象,只能访问基类成员中的(分数:2.00)A.公有成员B.私有成员C.保护成员D.公有成员和保护成员15.下面有关重载函数的说法中正确的是(分数:2.00)A.重载函数必须具有
10、不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同16.有以下程序: class Date public: 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() coutyear“.“month“.“dayend1; private: int year, month,day; ; Da
11、te 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.517.考虑下面的函数原型: void f(int a,int b=7,char c=); 下面的函数调用中,不合法的是(分数:2.00)A.f(5)B.f(5,8)C.f(6,class T219.一棵二叉树中共
12、有 70 个叶子结点与 80 个度为 1 的结点,则该二叉树中的总结点数为(分数:2.00)A.221B.219C.231D.22920.下列叙述中正确的是(分数:2.00)A.接口复杂的模块,其耦合程度一定低B.耦合程度弱的模块,其内聚程度一定低C.耦合程度弱的模块,其内聚程度一定高D.上述三种说法都不对21.有以下程序: #include iostream using namespace std; int main() int x=15; while(x10 if(x/3) x+; break; coutxend1; return 0; 执行后的输出结果是(分数:2.00)A.15B.16
13、C.17D.1822.以下非法的赋值表达式是(分数:2.00)A.n=(i=2,+;B.j+;C.+(i+1);D.x=j0;23.在进行任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是(分数:2.00)A.failB.eofC.badD.good24.下面对对象概念描述错误的是(分数:2.00)A.任何对象都必须有继承性B.对象是属性和方法的封装体C.对象间的通讯靠消息传递D.操作是对象的动态属性25.若有一个 MyClass 类,则执行语句 MyClass a,b(2),*p;后,自动调用该类的构造函数 ( )次。(分数:2.00
14、)A.2B.3C.4D.526.重载输入流运算符必须使用的原型为(分数:2.00)A.istreamB.istreamC.istream operator (istream,类名D.类名 operator (istream27.在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示(分数:2.00)A.模块之间的调用关系B.程序的组成成份C.控制程序的执行顺序D.数据的流向28.面向对象程序设计将数据和什么放在一起,作为一个相互依存、不可分割的整体来处理?(分数:2.00)A.对数据的操作B.信息C.数据隐藏D.数据抽象29.下列叙述中正确的是(分数:2.00)A.线性链表中的各元素在存
15、储空间中的位置必须是连续的B.线性链表中的表头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的30.下列虚基类的声明中正确的是(分数:2.00)A.class virtual B:public AB.virtual class B:public AC.class B:public A virtualD.class B:virtual public A31.设有 a、b、c、d、m、n 均为 int 型变量,且 a=5、b=6、c=7、d=8、
16、m=2、n=2,则逻辑表达式(m=ab)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.2034.在下面的 4 个关键字中用来说明虚函数的是(分数:2.00)A.virtualB.publicC.protectedD.private35.下列关于栈的叙述正确的是(分数:2.00)A.在栈中只能插入数据B.在栈中只能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表二、B填空题/B(总题
17、数:15,分数:30.00)36.在深度为 5 的完全二叉树中,度为 2 的结点数最多为U 【1】 /U。(分数:2.00)填空项 1:_37.在面向对象方法中,允许作用于某个对象上的操作称为U 【2】 /U。(分数:2.00)填空项 1:_38.软件生命周期包括 8 个阶段。为了使各时期的任务更明确,又可分为 3 个时期:软件定义期、软件开发期、软件维护期。编码和测试属于U 【3】 /U期。(分数:2.00)填空项 1:_39.在关系运算中,U 【4】 /U运算是对两个具有公共属性的关系所进行的运算。(分数:2.00)填空项 1:_40.实体之间的联系可以归结为一对一的联系,一对多的联系与多
18、对多的联系。如果一个学校有许多学生,而一个学生只归属于一个学校,则实体集学校与实体集学生之间的联系属于U 【5】 /U的联系。(分数:2.00)填空项 1:_41.写出执行完下列代码段之后指定变量的值: bool x=true,y=false,z=false; x=x class Base int x; public: Base(int i) x=i; Base() ; class Derived: public Base public: _完成类 Derive 构造函数的定义 ; int main() Derived Obj; return 0; 在横线处应填入的语句是U 【9】 /U。(分
19、数:2.00)填空项 1:_45.下列程序的输出结果是U 【10】 /U。 #include iostream using namespace std; int main() int data=1; int data+=5; r+=5; coutdataend 1; return 0; (分数:2.00)填空项 1:_46.有以下程序 #include iostream using namespace std; class MyClass public: MyClass(); MyClass(); static int s; void SetValue(int val); ; int MyCl
20、ass: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; 运行后的输出结果是U 【11】 /U。(分数:2.00)填空项 1:_47.有以下程序: #include iostream using namespace std; long fib( int n ) if(n2) return ( fib( n-1
21、)+fib( n-2 ) ); else return 2; int main() coutfib(3)end1; return 0; 则该程序的输出结果应该是U 【12】 /U。(分数:2.00)填空项 1:_48.已知 int DBL(int n)return n+n;和 long DBL(long n)return n+n)是一个函数模板的两个实例,则该函数模板的定义是U 【13】 /U。(分数:2.00)填空项 1:_49.有以下程序 #include iostream using namespace std; class Base int a; public: Base(int x)
22、 a=x; void show()couta; ; class Derived: public Base int 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; 运行后的打印结果是U 【14】 /U。(分数:2.00)填空项 1:_50.有如下程序: #include iostream using namespace std; class AA public: virtual void f(
23、) cout“AA“; ; class BB: public AA public: BB() cout“BB“; ; class CC: public BB public: virtual void f() BB:f(); cout“CC“; ; int main() AA aa,*p; BB bb; CC cc; p= P-f(); return 0; 运行后的输出结果U 【15】 /U。(分数:2.00)填空项 1:_二级 C+笔试 75 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.已知类 Myst 有一个只需要一个 doubl
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 75 答案 解析 DOC
