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

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

1、二级 C+-24 及答案解析(总分:83.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:56.00)1.最简单的交换排序方法是 A. 快速排序 B. 选择排序 C. 堆排序 D. 冒泡排序(分数:1.00)A.B.C.D.2.有 3 个关系 R,S 和 T 如下表所示:(分数:2.00)A.B.C.D.3.算法的空间复杂度是指U /U。 A. 算法程序的长度 B. 算法程序中的指令条数 C. 算法程序所占的存储空间 D. 算法执行过程中所需要的存储空间(分数:1.00)A.B.C.D.4.假定 AB 为一个类,则执行 AB x;语句时将自动调用该类的 A. 有参构造函数 B

2、. 无参构造函数 C. 拷贝构造函数 D. 赋值重载函数(分数:2.00)A.B.C.D.5.下列程序的运行结果为 #includeiostream.h templateclass TT class FF TTa1,a2,a3; public: FF(TT b1,TT b2,TT b3) a1b1;a2b2;a3b3; TT Sum( ) return a1a2a3; void main( ) FF int x(int(1.1) ,2,3) ,y(int(4.2) ,5,6) ; cout x. Sum( ) y. Sum( ) endl; ) 6.1 15.2 ) 6 15 ) 6 15.2

3、 ) 6.1 15(分数:2.00)A.B.C.D.6.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是 A.数据库系统 B.文件系统 C.人工管理 D.数据项管理 (分数:1.00)A.B.C.D.7.下列关于类定义的说法中,正确的是_。 A.类定义中包括数据成员和函数成员的声明 B.类成员的缺省访问权限是保护的 C.数据成员必须被声明为私有的 D.成员函数只能在类体外进行定义(分数:2.00)A.B.C.D.8.包容类 Contain 和内嵌类 Embed 定义如下:#includeiostream.hclass Containpri

4、vate:int X;protected:int z;public:class Embedprivate:int y;public:Embed()y=100;int Embed_Fun();MyEmbed;int Contain_Fun();对上面的定义,正确的描述是U /U。 A.定义类 Embed 对象的语句是:Contain? Embed embed; B.类 Contain 的成员函数 Contain_Fun()中可以用 MyEmbe D.y 的方式访问类 Embed 的私有成员 y C.类 Embed 的成员函数 Embed_Fun()中可以直接访问 Contain 的私有成员 x

5、D.类 Embed 的成员函数 Embed_Fun()中可以直接访问 Contain 的保护成员 Z (分数:1.00)A.B.C.D.9.下面程序的运行结果为#includeiostream.hvoid main( )char a=3;switch(a) case3: cout “3“;case2: cout “2“;break;default: cout “1“; A. 3 B. 321 C. 31 D. 32(分数:1.00)A.B.C.D.10.在 C+语言中输出“Hello World”的语句是U /U。 A. cout“Hello World“; B. cout“Hello Wor

6、ld“; C. cin“Hello World“; D. cin“Hello World“;(分数:2.00)A.B.C.D.11.下列函数中对调用它的函数没有起到任何作用的是_ 。 A. void fl(double int b; float c; double d; 则表达式 a*b+c-d 结果为 A. double B. int C. float D. char(分数:2.00)A.B.C.D.13.关于 getline()函数的下列描述中,U /U是错误的。 A. 该函数是用来从键盘上读取字符串的 B. 该函数读取的字符串长度是受限制的 C. 该函数读取字符串时,遇到终止符时便停止

7、D. 该函数中所使用的终止符只能是换行符(分数:1.00)A.B.C.D.14.下列关于 this 指针的叙述中,正确的是U /U。 A.this 指针是一个隐含指针,它隐含于类的成员函数中 B.只有在使用 this 时,系统才会将对象的地址赋值给 this C.类的友元函数也有 this 指针 D.this 指针表示了成员函数当前操作的数据所属的对象(分数:2.00)A.B.C.D.15.有以下类定义classPointpublic:Point(int x0,int y0)_xx;_yy;void Move (int xOff,int yOff_x xOff;_yyOffvoid Print

8、() constcout(_x,_y)endl;private:int_x_y;下列语句中会发生编译错误的是 A. Pointpt;pt;Print(); B. const Point pt;ptPrint(); C. Pointpt;pt.Move(1,2); D. const Point pt;pt.Move(1,2);(分数:1.00)A.B.C.D.16.一个函数为 void f(int,char ch=a),另一个函数为 void f(iht),则它们U /U。 A. 不能在同一程序中定义 B. 可以在同一程序中定义并可重载 C. 可以在同一程序中定义,但不可以重载 D. 以上三种说

9、法均不正确(分数:2.00)A.B.C.D.17.已知数据表 A 中每个元素距其最终位置不远,为节省时间,应采用的算法是U /U。 A.堆排序 B.直接插入排序 C.快速排序 D.直接选择排序(分数:2.00)A.B.C.D.18.执行语句序列intn:cinn:switch(n) casel:case2:cout1:case 3:case4:cout2: break:delhult:cout3:时,若键盘输入 1,则屏幕显示 A. 1 B. 2 C. 3 D. 12(分数:1.00)A.B.C.D.19.下列叙述正确的是_。 A.算法的执行效率与数据的存储结构无关 B.算法的空间复杂度是指算

10、法程序中指令(或语句)的条数 C.算法的有穷性是指算法必须能在执行有限个步骤之后终止 D.以上三种描述都不对(分数:1.00)A.B.C.D.20.有下列程序:#include stdio.hvoid main()int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i;for(i=0;i12;i+)csi+;for(i=1;i5;i+)printf(“%d“,ci);printf(“/n“) A.1 2 3 4 B.2 3 4 4 C.4 3 3 2 D.1 1 2 3(分数:2.50)A.B.C.D.21.若语句:coutseffill()setw(5)3141512s

11、ctw(5)“OK!“;是程序中第 1 个输出语句,则输出结果是U /U。 A.3141512OK! B.31415120K! C.314150K! D.31415OK!(分数:2.00)A.B.C.D.22.下列关于构造函数的描述中,错误的是_。 A.构造函数名与类名相同 B.构造函数可以有返回值 C.构造函数可以重载 D.每个类都有构造函数(分数:2.50)A.B.C.D.23.有三个关系 R. S 和 T 如下:(分数:2.00)A.B.C.D.24.设有以下程序段:int a5=0,*p,*q;p=a;q=a;则下列选项中,合法的运算是U /U。 A. p+q B. p-q C. p*

12、q D. p%q(分数:1.00)A.B.C.D.25.将 7 个数据进行插入排序,在最坏情况下需要比较的次数是 A. 42 B. 6 C. 7 D. 21(分数:2.00)A.B.C.D.26.定义如下一维数组:int a5,*p;,则下列描述错误的是U /U。 A.表达式 p=p+1 是合法的 B.表达式 a=a+1 是合法的 C.表达式 p-a 是合法的 D.表达式 a+2 是合法的 (分数:1.00)A.B.C.D.27.对于语句 coutendlx;中的各个组成部分,下列叙述中错误的是 A. “cout“是一个输出流对象 B. “endl“的作用是输出回车换行 C. “x“是一个变量

13、 D. “称作提取运算符(分数:2.00)A.B.C.D.28.下面对静态数据成员的描述中,正确的是U /U。 A. 静态数据成员是类的所有对象共享的数据 B. 类的每个对象都有自己的静态数据成员 C. 类的不同对象有不同的静态数据成员值 D. 静态数据成员不能通过类的对象调用(分数:2.00)A.B.C.D.29.设有二元关系 R 和三元关系 S,下列运算中合法的是 A. RS B. RS C. R-S D. RS(分数:2.00)A.B.C.D.30.下列对模板的声明中,正确的是_。 A. templateT B. template C. templateclass T1, class T

14、2 D. templateclass T1;class T2(分数:2.00)A.B.C.D.31.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是U /U。 A.DB 包含 DBS 和 DBMS B.DBMS 包含 DB 和 DBS C.DBS 包含 DB 和 DBMS D.没有任何关系(分数:2.00)A.B.C.D.32.C+中用 3 个保留字实现异常处理,除了 try 和 catch 外,还有U /U。 A.if B.class C.throw D. return (分数:1.00)A.B.C.D.33.若有定义“int k,*q;”,则下列各选项中,赋值表达式

15、正确的是U /U。 A. q=(private:int data;class Derive: public Basepublic:Derive(): Base(0)Derive(int x)d=x;void setvalue(int i)data=i;private:d; A. 1 B. 2 C. 3 D. 4(分数:1.00)A.B.C.D.35.对于语句 const int x=10;的描述正确的是U /U。 A.该语句不允许定义为 int const x=10; B.在程序中可以重新对 X 赋值 C.变量 X 不能使用+ +运算符 D.const 关键字只能用来修饰常量 (分数:1.00

16、)A.B.C.D.二、B填空题/B(总题数:15,分数:27.00)36.类 Sample 的构造函数将形参 data 赋值给数据成员 data。请将类定义补充完整。 class Sample public: Sample(int data=0); private: int data; ; Sample:Sample(int data) (分数:2.00)填空项 1:_37.若要访问指针变量 q 所指向的数据,应使用表达式 1。(分数:2.00)填空项 1:_38.虚函数必须是类的 1。(分数:2.00)填空项 1:_39.C+语言中的多态性是在编译时通过 【13】 和模板体现的,在运行时是通

17、过 【14】 体现的。(分数:1.00)填空项 1:_40.若有函数 fun(x,y),并且已经使函数指针变量 p 指向函数 fun,则使用 p 调用函数 fun 的方法是 1。(分数:2.00)填空项 1:_41.在面向对象方法中,类之间共享属性和操作的机制称为 1。(分数:2.00)填空项 1:_42.在数据库的外模式、模式和内模式 3 级模式的体系结构中,存在两级映射:外模式到模式的映射定义了外模式与模式之间的对应关系;模式到内模式的映射定义了数据库的逻辑结构与 1 之间的对应关系。(分数:2.00)填空项 1:_43.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 1(

18、分数:1.00)填空项 1:_44.有以下程序: #includeiostream using namespace std; class MyClass public: 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+) pSetValue(k+1); p+; coutM

19、yClass:sendl; return 0; 运行后的输出结果是_。(分数:2.00)填空项 1:_45.以下程序的输出结果_。 #includeiostream.h void main() int a=0 a+=(a=8); couta; (分数:1.00)填空项 1:_46.以下程序的执行结果是U U /U /U。 #includeiostream. h class Sample public: int x: int y; void disp() cout“x=“x“,y=“yend1; ; void main() int Sample: * pc; Sample s; pc= s.*p

20、c=10; pc:= s.*pc=20; s.disp(); (分数:2.00)填空项 1:_47.软件维护活动包括改正性维护、适应性维护、 1 和预防性维护。(分数:2.00)填空项 1:_48.在 C+类中,默认的数据成员的访问权限是U U /U /U。(分数:2.00)填空项 1:_49.执行下列语句序列: im x=1, coutx-yend1; 输出结果为_。(分数:2.00)填空项 1:_50.已知有函数 f 的定义如下: int f() static int s=0; s+=2; return s; 则在某程序中第二次执行函数调用语句 f();时,函数 f 的返回值是_。(分数:

21、2.00)填空项 1:_二级 C+-24 答案解析(总分:83.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:56.00)1.最简单的交换排序方法是 A. 快速排序 B. 选择排序 C. 堆排序 D. 冒泡排序(分数:1.00)A.B.C.D. 解析:解析 让考生加深对各种排序方法特点的了解。 解题要点 冒泡排序是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线性表变成有序。 错解分析 交换排序方法有冒泡排序和快速排序,显然选项 B 和选项 C 错误,冒泡排序比较简单,其算法也容易理解,但快速排序本身较为复杂,且采用了递归调用,其算法理解也稍难。 考点链接 插

22、入排序、选择排序、归并排序、基数排序等排序方法的特点。2.有 3 个关系 R,S 和 T 如下表所示:(分数:2.00)A.B.C.D. 解析:解析 两个相同结构关系的并是由属于这两个关系的元组组成的集合。3.算法的空间复杂度是指U /U。 A. 算法程序的长度 B. 算法程序中的指令条数 C. 算法程序所占的存储空间 D. 算法执行过程中所需要的存储空间(分数:1.00)A.B.C.D. 解析:解析 本题考查算法的空间复杂度,是重点之一。算法的空间复杂度一般是指这个算法执行时所需要的内存空间,其中包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间,其中额外

23、空间还包括算法程序执行过程的工作单元以及某种数据结构所需要的附加存储空间。4.假定 AB 为一个类,则执行 AB x;语句时将自动调用该类的 A. 有参构造函数 B. 无参构造函数 C. 拷贝构造函数 D. 赋值重载函数(分数:2.00)A.B. C.D.解析:解析 当没有显式调用指定形式的构造函数,则系统自动调用无参构造函数,如果没有为类指定此构造函数,则系统自动为其生成一个最简单的无参构造函数。5.下列程序的运行结果为 #includeiostream.h templateclass TT class FF TTa1,a2,a3; public: FF(TT b1,TT b2,TT b3)

24、 a1b1;a2b2;a3b3; TT Sum( ) return a1a2a3; void main( ) FF int x(int(1.1) ,2,3) ,y(int(4.2) ,5,6) ; cout x. Sum( ) y. Sum( ) endl; ) 6.1 15.2 ) 6 15 ) 6 15.2 ) 6.1 15(分数:2.00)A.B. C.D.解析:解析 本题考查模板函数的应用,表达式 int(1.1) 和 int(4.2) 是将 1.1 和 4.2 强制转换为整型。6.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是

25、 A.数据库系统 B.文件系统 C.人工管理 D.数据项管理 (分数:1.00)A. B.C.D.解析:解析:人工管理阶段是在 20 世纪 50 年代中期以前出现的,数据不独立,完全依赖于程序;文件系统是数据库系统发展的初级阶段,数据独立性差;数据库系统具有高度的物理独立性和一定的逻辑独立性。7.下列关于类定义的说法中,正确的是_。 A.类定义中包括数据成员和函数成员的声明 B.类成员的缺省访问权限是保护的 C.数据成员必须被声明为私有的 D.成员函数只能在类体外进行定义(分数:2.00)A. B.C.D.解析:类的成员的缺省访问权限是私有的,数据成员可以是私有,可以是公用的,也可以是受保护的

26、。类的成员函数可以在类内定义。8.包容类 Contain 和内嵌类 Embed 定义如下:#includeiostream.hclass Containprivate:int X;protected:int z;public:class Embedprivate:int y;public:Embed()y=100;int Embed_Fun();MyEmbed;int Contain_Fun();对上面的定义,正确的描述是U /U。 A.定义类 Embed 对象的语句是:Contain? Embed embed; B.类 Contain 的成员函数 Contain_Fun()中可以用 MyEm

27、be D.y 的方式访问类 Embed 的私有成员 y C.类 Embed 的成员函数 Embed_Fun()中可以直接访问 Contain 的私有成员 x D.类 Embed 的成员函数 Embed_Fun()中可以直接访问 Contain 的保护成员 Z (分数:1.00)A. B.C.D.解析:9.下面程序的运行结果为#includeiostream.hvoid main( )char a=3;switch(a) case3: cout “3“;case2: cout “2“;break;default: cout “1“; A. 3 B. 321 C. 31 D. 32(分数:1.00

28、)A.B.C.D. 解析:解析 本题主要考查的是 switch 语句的使用,在第一个 case 处,因为满足条件所以输出字符 3,但这个分支没有 break 语句终止,所以会继续执行下面的分支语句,即输出字符 2,这时出现 break语句,结束整个语句,即输出 32。10.在 C+语言中输出“Hello World”的语句是U /U。 A. cout“Hello World“; B. cout“Hello World“; C. cin“Hello World“; D. cin“Hello World“;(分数:2.00)A. B.C.D.解析:解析 cout格式输出。11.下列函数中对调用它的

29、函数没有起到任何作用的是_ 。 A. void fl(double int b; float c; double d; 则表达式 a*b+c-d 结果为 A. double B. int C. float D. char(分数:2.00)A. B.C.D.解析:解析 本题考察混合运算表达式类型,由表达式中具有最高优先级的类型所确定,所以答案为A。13.关于 getline()函数的下列描述中,U /U是错误的。 A. 该函数是用来从键盘上读取字符串的 B. 该函数读取的字符串长度是受限制的 C. 该函数读取字符串时,遇到终止符时便停止 D. 该函数中所使用的终止符只能是换行符(分数:1.00)

30、A.B.C.D. 解析:14.下列关于 this 指针的叙述中,正确的是U /U。 A.this 指针是一个隐含指针,它隐含于类的成员函数中 B.只有在使用 this 时,系统才会将对象的地址赋值给 this C.类的友元函数也有 this 指针 D.this 指针表示了成员函数当前操作的数据所属的对象(分数:2.00)A.B.C.D. 解析:15.有以下类定义classPointpublic:Point(int x0,int y0)_xx;_yy;void Move (int xOff,int yOff_x xOff;_yyOffvoid Print() constcout(_x,_y)en

31、dl;private:int_x_y;下列语句中会发生编译错误的是 A. Pointpt;pt;Print(); B. const Point pt;ptPrint(); C. Pointpt;pt.Move(1,2); D. const Point pt;pt.Move(1,2);(分数:1.00)A.B.C.D. 解析:解析 本题考核常对象、常数据成员与常成员函数。如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数,不能调用其他的成员函数,D 选项中对象 pt 为常对象,而成员函数Move()不是常成员函数,所以这样调用会发生编译错误。16.一个函数为 void f(int,

32、char ch=a),另一个函数为 void f(iht),则它们U /U。 A. 不能在同一程序中定义 B. 可以在同一程序中定义并可重载 C. 可以在同一程序中定义,但不可以重载 D. 以上三种说法均不正确(分数:2.00)A.B. C.D.解析:解析 题目中的两个函数参数个数不同,因此可以在同一程序中定义为重载函数。所以,选项 B)叙述正确。17.已知数据表 A 中每个元素距其最终位置不远,为节省时间,应采用的算法是U /U。 A.堆排序 B.直接插入排序 C.快速排序 D.直接选择排序(分数:2.00)A.B. C.D.解析:18.执行语句序列intn:cinn:switch(n) c

33、asel:case2:cout1:case 3:case4:cout2: break:delhult:cout3:时,若键盘输入 1,则屏幕显示 A. 1 B. 2 C. 3 D. 12(分数:1.00)A.B.C.D. 解析:解析 本题考核 C语句中的 switch 语句。switch 语句也称为开关语句,用于有多重选择的场合,测试某一个变量具有多个值时所执行的动作。switch 语句中每个 case 语句只是一个入口标号,并不能确定执行的终点,因此,每个 case 分支的最后应该加 break 语句,用来结束这个 switch 结构,否则,会从入口点开始,一直执行到 switch 结构的结

34、束点。若键盘输入 1,n 的值被赋为 1,进入第一个分支,没有 break 跳出,然后进入第二个分支,执行“cout1”输出 1,然后进入第 3、4 个分支,执行“cout2;”,然后执行 break,跳出 switch 语句。所以最后输出为 12。19.下列叙述正确的是_。 A.算法的执行效率与数据的存储结构无关 B.算法的空间复杂度是指算法程序中指令(或语句)的条数 C.算法的有穷性是指算法必须能在执行有限个步骤之后终止 D.以上三种描述都不对(分数:1.00)A.B.C. D.解析:解析 算法的执行效率与数据的存储结构密切相关。算法的空间复杂度是指算法执行过程中所需的存储空间。20.有下

35、列程序:#include stdio.hvoid main()int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i;for(i=0;i12;i+)csi+;for(i=1;i5;i+)printf(“%d“,ci);printf(“/n“) A.1 2 3 4 B.2 3 4 4 C.4 3 3 2 D.1 1 2 3(分数:2.50)A.B.C. D.解析:解析 本题考查对 f。r 循环的使用,首先给两个数组赋值,第一个 for 循环从 0 开始循环 12 次遍历 s 教组的各个元素,数组将 s中的元素值作为 c数组中的下标,然后自加,使相应的值自加,当i=0,cs0

36、+为 c1+,其值变为 1,当执行 i=1,2,11 后,c1、c2、c3、c4分别为4、3、3、2,故选项 C 正确。21.若语句:coutseffill()setw(5)3141512sctw(5)“OK!“;是程序中第 1 个输出语句,则输出结果是U /U。 A.3141512OK! B.31415120K! C.314150K! D.31415OK!(分数:2.00)A. B.C.D.解析:22.下列关于构造函数的描述中,错误的是_。 A.构造函数名与类名相同 B.构造函数可以有返回值 C.构造函数可以重载 D.每个类都有构造函数(分数:2.50)A.B. C.D.解析:解析 构造函数

37、没有返回值,虽然叫函数,但是它没有任何返回值,包括 void 型都不是,官方叫法为“构造器”。23.有三个关系 R. S 和 T 如下:(分数:2.00)A.B.C.D. 解析:解析 关系 R 与 s 并,由属于 R 或属于 s 的元组构成的集合组成;R 和 S 的广义笛卡儿积是一个(n+m)列的元组的集合。元组的前 n 列是关系 R 的一个元组,后 m 列是关系 S 的一个元组;关系 R 与 S 的交既属于 R 同时又属于 S 的元组构成的集合。自然连接,要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中将重复属性列去掉。24.设有以下程序段:int a5=0,*p,*q;p=a

38、;q=a;则下列选项中,合法的运算是U /U。 A. p+q B. p-q C. p*q D. p%q(分数:1.00)A.B. C.D.解析:解析 本题考核指针的运算。C+语言中,指向同一字符串的指针之间能且只能进行减运算,减运算后返回的是一整型数,表示指针之间的地址偏移量。25.将 7 个数据进行插入排序,在最坏情况下需要比较的次数是 A. 42 B. 6 C. 7 D. 21(分数:2.00)A.B.C.D. 解析:解析 对长度为 n 的线性表进行插入排序,在最坏情况下需要 n(n-1)/2 次比较,现线性表的长度为?,在最坏情况下需要比较的次数为 7(7-1)/2=21。26.定义如下

39、一维数组:int a5,*p;,则下列描述错误的是U /U。 A.表达式 p=p+1 是合法的 B.表达式 a=a+1 是合法的 C.表达式 p-a 是合法的 D.表达式 a+2 是合法的 (分数:1.00)A.B. C.D.解析:27.对于语句 coutendlx;中的各个组成部分,下列叙述中错误的是 A. “cout“是一个输出流对象 B. “endl“的作用是输出回车换行 C. “x“是一个变量 D. “称作提取运算符(分数:2.00)A.B.C.D. 解析:解析 本题考核 C+的输出流。语句中符号“是插入运算符,而提取运算符是“。28.下面对静态数据成员的描述中,正确的是U /U。 A

40、. 静态数据成员是类的所有对象共享的数据 B. 类的每个对象都有自己的静态数据成员 C. 类的不同对象有不同的静态数据成员值 D. 静态数据成员不能通过类的对象调用(分数:2.00)A. B.C.D.解析:解析 静态成员表示整个类范围共享的信息;必须对静态数据成员进行初始化;静态数据成员是属于类的,不能通过类的对象调用。29.设有二元关系 R 和三元关系 S,下列运算中合法的是 A. RS B. RS C. R-S D. RS(分数:2.00)A.B.C.D. 解析:解析 在并()、交()、差()三种运算中,都要求参加运算的两个关系具有相同的属性名表,其运算结果电与它们具有相同的属性名。即它们

41、的表框架是相同的。由此可以看出,本题给出的两个关系R 与 S 其表格框架是不同的(R 是二元关系,S 是三元关系),因此,它们不能作并()、交()、差()这三种运算。而两个不同框架的关系是可以作笛卡尔积()运算的。30.下列对模板的声明中,正确的是_。 A. templateT B. template C. templateclass T1, class T2 D. templateclass T1;class T2(分数:2.00)A.B.C. D.解析:解析 模板的声明格式为:template模板形参表。模板形参表中每个形参用 typename 或class 开头,若模板形参表由多个模板形

42、参组成,则要用逗号隔开。31.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是U /U。 A.DB 包含 DBS 和 DBMS B.DBMS 包含 DB 和 DBS C.DBS 包含 DB 和 DBMS D.没有任何关系(分数:2.00)A.B.C. D.解析:解析 数据库系统(DBS)是指在计算机系统中引入数据库后的系统,一般有数据库(DB)、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。32.C+中用 3 个保留字实现异常处理,除了 try 和 catch 外,还有U /U。 A.if B.class C.throw D. return (分数:1.

43、00)A.B.C. D.解析:33.若有定义“int k,*q;”,则下列各选项中,赋值表达式正确的是U /U。 A. q=(private:int data;class Derive: public Basepublic:Derive(): Base(0)Derive(int x)d=x;void setvalue(int i)data=i;private:d; A. 1 B. 2 C. 3 D. 4(分数:1.00)A.B. C.D.解析:解析 本题考核派生类的定义和成员的访问权限。第一处错误:在派生类的构造函数 Derive(int x)中没有调用基类的构造函数对基类对象初始化:第二处错

44、误:数据 data 是基类 Base 的私有成员,派生类 Derive 不能访问,所以在函数 setvalue 中对 data 的赋值是错误的。35.对于语句 const int x=10;的描述正确的是U /U。 A.该语句不允许定义为 int const x=10; B.在程序中可以重新对 X 赋值 C.变量 X 不能使用+ +运算符 D.const 关键字只能用来修饰常量 (分数:1.00)A.B.C. D.解析:二、B填空题/B(总题数:15,分数:27.00)36.类 Sample 的构造函数将形参 data 赋值给数据成员 data。请将类定义补充完整。 class Sample public: Sample(int data=0); p

展开阅读全文
相关资源
猜你喜欢
相关搜索

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

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