【计算机类职业资格】二级C++-187及答案解析.doc
《【计算机类职业资格】二级C++-187及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-187及答案解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-187 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.在待排序的元素序列基本有序的前提下,效率最高的排序方法 0 是_。(分数:2.50)A.冒泡排序B.选择排序C.快速排序D.归并排序2.算法空间复杂度是指_。(分数:2.50)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间3.下列关于队列的叙述中正确的是_。(分数:2.50)A.在队列中只能满插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表4.设树 T 的度为 4,其中度为 1,2
2、,3,4 的结点个数分别为 4,2,1,1。则 T 中的叶子结点数为_。(分数:2.50)A.8B.7C.6D.55.在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送_。(分数:2.50)A.调用语句B.命令C.口今D.消息6.下面对对象概念描述错误的是_。(分数:2.50)A.任何对象都必须有继承性B.对象是属性和方法的封装体C.对象间的通信靠消息传递D.操作是对象的动态属性7.下面不属于软件设计原则的是_。(分数:2.50)A.抽象B.模块化C.自底向上D.信息隐蔽8.程序流程图(PFD)中的箭头代表的是_。(分数:2.50)A.数据流B.控制流C.调用关系D.组成关系9.
3、下述关于数据库系统的叙述中正确的是_。(分数:2.50)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统能管理更多的数据10.关系表中的每一横行称为一个_。(分数:2.50)A.元组B.字段C.属性D码11.C+语言对 C 语言做了很多改进,最根本的变化是_。(分数:2.50)A.增加了一些新的运算符B.允许函数重载,并允许设置默认参数C.规定函数说明符必须用原型D.引进了类和对象的概念12.以下各选项组中,均是 C+语言关键字的组是_。(分数:2.50)A.public, operator, thisB.short
4、, string, staticC.it, while, =D.private, cout, printf13.下列程序的运行结果为_。 #includeiostream using namespace std; void main() ink a=2; int b=a+1; couta/6endl; (分数:2.50)A.0.66667B.0C.0.7D.0.6666666614.已知有定义: const int D=5; int i=1; double f=0.32; char c=15; 则下列选项错误的是_。(分数:2.50)A.+i;B.D-;C.c+;D.-f;15.下面程序的运行
5、结果为_。 #includeiostream using namespace std; void reverse(int a, int n) int i, t; for(i=0; in/2; i+) t=ai; ai=an-1-i; an-1-i=t; void main() int b10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10; int i, s=0; reverse(b, 8); for(i=6; i10; i+)s+=bi; couts; (分数:2.50)A.22B.10C.34D.3016.下面关于 break 语句的描述中,不正确的是_。(分数:2.50)A.
6、break 可以用于循环体内B.break 语句可以在 for 循环语句中出现多次C.break 语句可以在 switch 语句中出现多次D.break 语句可用于 if 条件判断语句内17.存在定义 int a10, x, *pa;,若 pa=,下列的哪个选项和其他 3 个选项不是等价的?_。(分数:2.50)A.x=*pa;B.x=*(a+1);C.x=*(pa+1);D.x=a1;18.若已定义: int a=(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *P=a, i; 其中 0i9,则对 a 数组元素不正确的引用是_。(分数:2.50)A.ap-aB.*( int c
7、; class A private: int a; static int b; public: A()a=0; c=0; void seta()a+; void setb()b+; void setc()c+; void display()couta“b“c; ; int A:b=0; void main() A a1, a2; a1.seta(); a1.setb(); a1.setc(); a2.seta(); a2.setb(); a2.setc(); a2.display(); (分数:2.50)A.121B.122C.112D.22223.在类的定义中,用于为对象分配内存空间,对类的
8、数据成员进行初始化并执行其他内部管理操作的函数是_。(分数:2.50)A.友元函数B.虚函数C.构造函数D.析构函数24.对类的构造函数和析构函数描述正确的是_。(分数:2.50)A.构造函数可以重载,析构函数不能重载B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载D.构造函数不能重载,析构函数也不能重载25.下面程序的运行结果为_。 #includeiostream using namespace std; class A static int n; public: A()n=1; A(int num)n=num; void print()coutn; ; in
9、t A:n=2; void main() A a, b(3); a.print(); b.print(); coutendl; (分数:2.50)A.11B.13C.23D.3326.在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是_。(分数:2.50)A.一元成员运算符B.二元成员运算符C.一元友元运算符D.B 或 C27.下面对于友元函数描述正确的是_。(分数:2.50)A.友元函数的实现必须在类的内部定义B.友元函数是类的成员函数C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员28.假设可以用 p.a 的形式访问派生类对象 p 的基类成员 a,则 a 是
10、_。(分数:2.50)A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员29.下面程序的运行结果是_。 #includeiostream using namespace std; class base protected: int a; public: base()cout“0“; ; class basel:virtual base public: base1()cout“1“; ; class base2:virtual base public: base2()cout“2“; ; class derived:public base1, public
11、base2 public: derived()cout“3“; ; void main() derived obj; coutendl; (分数:2.50)A.0123B.3120C.0312D.301230.下列程序中画线处应填入的语句是_。 class Base public: void fun()cout“Base of fun“endl; ; class Derived:public Base void fun() _ /显示基类的成员函数 fun cout“Derived of fun“endl; ;(分数:2.50)A.fun();B.Base.fun();C.Base:fun()
12、;D.Base-fun;31.下列关于多态性的描述,错误的是_。(分数:2.50)A.C+语言的多态性分为编译时的多态性和运行时的多态性B.编译时的多态性可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现D.实现运行时多态性的机制称为动态绑定32.语句“ofstream f(“SALARY.DAT“, ios:app|ios:binary);”的功能是建立流对象 f,试图打开文件SALARY.DAT 并与之连接,并且_。(分数:2.50)A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指
13、针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件33.下面程序的运行结果是_。 #includeiostream using namespace std; void main() int num=1; int ref=ref+2; coutnum; num=num+3; coutrefendl; (分数:2.50)A.13B.16C.36D.3334.一个类的友元函数能够访问该类的_。(分数:2.50)A.私有成员B.保护成员C.公有成员D.所有成员35.下面程序的输出结果是_。 #includeiostream using namespace
14、 std; class example int a; public: example(int b)a=b+; void print()a=a+1; couta“; void print()constcouta“; ; void main() example x(3); const example y(2); x.print(); y.print(); (分数:2.50)A.22B.43C.42D.3236.有如下类声明: class MyBASE int k; public: void set(int n)k=n; int get()constreturn k; ; class MyDERIV
15、ED:protected MyBASE protected: int j; public: void set(int m, int n)MyBASE:set(m); j=n; int get()constreturn MyBASE:get()+j; ; 则类 MyDERIVED 中保护的数据成员和成员函数的个数是_。(分数:2.50)A.4B.3C.2D.137.下列关于虚函数的说明中,正确的是_。(分数:2.50)A.虚基类继承的函数都是虚函数B.虚函数不得是静态成员函数C.只能通过指针或引用调用虚函数D.抽象类中的成员函数都是虚函数38.下列有关继承和派生的叙述中,正确的是_。(分数:2.
16、50)A.如果一个派生类私有继承其基类,则该派生类不能访问基类的保护成员B.派生类的成员函数可以访问基类的所有成员C.基类对象可以赋值给派生类对象D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类39.已知在一个类体中包含如下函数类型: VOLUME operator-(VOLUME)const; 下列关于这个函数的叙述中错误的是_。(分数:2.50)A.这是运算符“-”的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值40.有如下程序: #includeiostream using namespace std;
17、class Complex double re, im; public: Complex(double r, double i):re(r), im(i) double real()constreturn re; double image()constreturn im; Complex im+=a.im; return *this; ; ostream int main() Complex x(1, -2), y(2, 3); cout(x+=y)endl; return 0; 执行这个程序的输出结果是_。(分数:2.50)A.(1, -2)B.(2, 3)C.(3, 5)D.(3, 1)二
18、级 C+-187 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.在待排序的元素序列基本有序的前提下,效率最高的排序方法 0 是_。(分数:2.50)A.冒泡排序 B.选择排序C.快速排序D.归并排序解析:解析 从平均时间性能而言,快速排序最佳,其所需时间最少,但快速排序在最坏情况下的时间性能不如堆排序和归并排序。当序列中的记录基本有序或元素个数较少时,冒泡排序和简单选择排序为最佳排序方法。2.算法空间复杂度是指_。(分数:2.50)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间 解析
19、:解析 一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。3.下列关于队列的叙述中正确的是_。(分数:2.50)A.在队列中只能满插入数据B.在队列中只能删除数据C.队列是先进先出的线性表 D.队列是先进后出的线性表解析:解析 队列是指允许在一端进行插入、而在另一端进行删除的线性表。队列义称为“先进先出”或“后进后出”的线性表,它体现了“先来先服务”的原则。在队列中,队尾指针与排头指针共同反映了队列中元素动态变化的情况。4.设树 T 的度为 4,其中度为 1,2,3,4 的结点个数分别为 4,2,1,1。则 T 中的叶子结点数为_。(分数:2.50)A.8 B.7C.6D.5解析:解
20、析 将题中所述的树图形表示,叶子结点数目测可得。5.在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送_。(分数:2.50)A.调用语句B.命令C.口今D.消息 解析:解析 消息是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。消息中只包含传递者的要求,它告诉接受者需要做哪些处理,但并不指示接受者应该怎样完成这些处理。6.下面对对象概念描述错误的是_。(分数:2.50)A.任何对象都必须有继承性 B.对象是属性和方法的封装体C.对象间的通信靠消息传递D.操作是对象的动态属性解析:解析 对象可以做的操作表示它的动态行为,在面向
21、对象解析和面向对象设计中,通常把对象的操作也称为方法或服务。属性在设计对象是确定,一般只能通过执行对象的操作来改变。对象有一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。而继承是使用已有的类定义作为基础建立新类的定义技术。7.下面不属于软件设计原则的是_。(分数:2.50)A.抽象B.模块化C.自底向上 D.信息隐蔽解析:解析 软件设计原则包括抽象、模块化、信息隐蔽和模块独立性。8.程序流程图(PFD)中的箭头代表的是_。(分数:2.50)A.数据流B.控制流 C.调用关系D.组成关系解析:解析 “”或“”表示控制流,“”表示加工步骤,“”表示逻辑条件。9.下述关于数据库系统的
22、叙述中正确的是_。(分数:2.50)A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统能管理更多的数据解析:解析 数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值。10.关系表中的每一横行称为一个_。(分数:2.50)A.元组 B.字段C.属性D码解析:解析 二维表由表框架及表的元组组成。在表框架中按行可以存放数据,每行数据称为元组。11.C+语言对 C 语言做了很多改进,最根本的变化是_。(分数:2.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C187 答案 解析 DOC
