【计算机类职业资格】二级C++-24及答案解析.doc
《【计算机类职业资格】二级C++-24及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-24及答案解析.doc(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. 解析:解析 本题考查算法的空间复杂度,是重点之一。算法的空间复杂度一般是指这个算法执行时所需要的内存空间,其中包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间,其中额外
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C24 答案 解析 DOC
