【计算机类职业资格】二级C++笔试-415及答案解析.doc
《【计算机类职业资格】二级C++笔试-415及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-415及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-415 及答案解析(总分:82.00,做题时间:90 分钟)一、选择题(总题数:35,分数:57.00)1.最简单的交换排序方法是A) 快速排序 B) 选择排序 C) 堆排序 D) 冒泡排序(分数:1.00)A.B.C.D.2.下列关于析构函数的描述中,错误的是( )。A) 类中有且仅有一个析构函数B) 析构函数可以有形参C) 析构函数没有函数类型D) 析构函数对象消失时被自动执行(分数:1.00)A.B.C.D.3.以下 for 语句中不是死循环的是A) for(int i=0;i1;+i); B) for(int i=0;+i);C) for(int i=1;i0;+i);
2、 D) for(;);(分数:1.00)A.B.C.D.4.下列关于 C语言类的描述中错误的是A) 类用于描述事物的属性和对事物的操作B) 类与类之间通过封装而具有明确的独立性C) 类与类之间必须是平等的关系,不能组成层次结构D) 类与类之间可以通过一些方法进行通信和联络(分数:2.00)A.B.C.D.5.关于关键字 class 和 typename,下列描述正确的是( )。A) 程序中所有的 class 都可以替换为 typenameB) 程序中所有的 typename 都可以替换为 classC) A 和 B 都可以D) A 和 B 都不可以(分数:2.00)A.B.C.D.6.有如下语
3、句序列:int k0:d0k+5;cout$; while(k19);while(k-0)cout*;执行上面:的语句序列输出字符“$”和“*”的个数分别是( )。A) 4 和 20 B) 5 和 20C) 4 和 21 D) 5 和 21(分数:2.00)A.B.C.D.7.下面的哪个选项不能作为函数的返回类型?A)void B)int C)new D)long(分数:1.00)A.B.C.D.8.有如下程序:#includeiostreamusing namespace std;class Testpublic:Test() n+=2;Test() n-=3;static int getN
4、um() return n;private:static int n;int Test:n=1;int main()Test *p=new Test;delete p;cout“n=“Test:getNum()endl;return 0;执行后的输出结果是( )。A) n=0 B) n=1 C) n=2 D) n=3(分数:2.00)A.B.C.D.9.下列各函数的说明中,表示纯虚函数的是( )。A) virtual int fuc(int); B) void fuc(int)=0;C) virtual void fuc()=0; D) virtual void fuc(int)(分数:2.0
5、0)A.B.C.D.10.若变量已正确定义并赋值,以下符合 C+语言语法的表达式是( )。A) a=b+l B) a=b=c+2C) int 18.5%3 D) aa+7=c+b(分数:2.00)A.B.C.D.11.单个用户使用的数据视图的描述称为A) 外模式 B) 概念模式 C) 内模式 D) 存储模式(分数:2.00)A.B.C.D.12.关于关键字 class 和 typename,下列表述中正确的是A) 程序中的 typename 都可以替换为 classB) 程序中的 class 都可以替换为 typenameC) 在模板形参表中只能用 typename 来声明参数的类型D) 在模
6、板形参表中只能用 class 或 typename 来声明参数的类型(分数:1.00)A.B.C.D.13.若有如下语句#includeiostreamhvoid main()int x=3:doX=X-2;coutX;while(!(-x);则上面程序段A)输出的是 1 B)输出的是 1 和-2C)输出的是 3 和 0 D)是死循环(分数:1.00)A.B.C.D.14.继承机制的作用是A) 信息隐藏 B) 数据封装 C) 定义新类 D) 数据抽象(分数:2.00)A.B.C.D.15.关于面向对象的程序设计方法,下列说法正确的是A) “封装性”指的是将不同类型的相关数据组合在一起,作为一个
7、整体进行处理B) “多态性”指的是对象的状态会根据运行时要求自动变化C) 基类的私有成员在派生类的对象中不可访问,也不占内存空间D) 在面向对象的程序设计中,结构化程序设计方法仍有着重要作用(分数:2.00)A.B.C.D.16.下列各种调试方法中,靠演绎、归纳以及二分法来实现的是( )。A) 强行排错法 B) 回溯法 C) 原因排除法 D) 静态调试(分数:1.00)A.B.C.D.17.以下程序的输出结果是( )。min()int i=0,a=0;while(i20)for(;)if(i%10)=0)break;else i-;i+=11;a+=i;coutaendl;A) 21 B) 3
8、2 C) 33 D) 11(分数:2.00)A.B.C.D.18.有以下程序: #includeiostream#includestringusing namespace std;int main()char arr24;strcpy(arr0,“you“);strcpy(arr1,“me“);arr03=MyClass ()private:int data;下列对 Myclass 类对象数组的定义和初始化语句中,正确的是( )。A) MyClass arrays2;B) MyClass arrays2=MyClass(5);C) MyClass arrays2=MyClass(5), MyC
9、lass(6);D) MyClass*arrays=new MyClass2;(分数:2.00)A.B.C.D.20.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指( )。A) 数据与程序独立存放B) 不同的程序被存放在不同的文件中C) 不同的数据只能被所对应的应用程序所使用D) 上述三种说法都不对(分数:2.00)A.B.C.D.21.下面关于虚函数的表述中正确的是( )。A) 虚函数不能声明为另一个类的友元函数B) 派生类必须重新定义基类的虚函数C) 如果在重定义虚函数时使用了保留字 virtual,那么该重定义函数仍是虚函数D) 虚函数不能够声明为静态函数(分数:2.00)A.
10、B.C.D.22.在单链表中,增加头结点的目的是A) 方便运算的实现B) 使单链表至少有一个结点C) 标识表结点中首结点的位置D) 说明单链表是线性表的链式存储实现(分数:1.00)A.B.C.D.23.若调用一个函数,且此函数中没有 return 语句,则正确的说法是该函数( )。A没有返回值B返回若干个系统默认值C有返回值,但返回一个不确定的值D返回一个用户所希望的函数值(分数:2.00)A.B.C.D.24.在单链表中,增加头节点的目的是A) 方便运算的实现B) 使单链表至少有一个节点C) 标识表节点中首节点的位置D) 说明单链表是线性表的链式存储实现(分数:2.00)A.B.C.D.2
11、5.下列有关类继承的叙述中,错误的是( )。A继承可以实现软件复用B虚基类可以解决由多继承产生的二义性问题C派生类构造函数要负责调用基类的构造函数D派生类没有继承基类的私有成员(分数:2.00)A.B.C.D.26.关于动态联编的下列叙述中, _ 是错误的。A) 动态联编是以虚函数为基础的B) 动态联编调用虚函数操作是指向对象的指针或引用C) 动态联编是在运行时确定所调用的函数代码的D) 动态联编是在编译时确定操作函数的(分数:2.00)A.B.C.D.27.当使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式是( )。A) ios:in B) ios:out
12、C) ios:trunc D) ios:binary(分数:1.00)A.B.C.D.28.下面的函数模板定义中错误的是_ 。A) templateclass Q QF (Q x)return Q +x;B) templateclass Q QF (Q x)returnx/x;C) template class T T F(T x) return x*x;D) template class Tbool F (T x) return x1;(分数:2.00)A.B.C.D.29.对于语句 coutendlx;中的各个组成部分,下列叙述中错误的是 A) “cout”是一个输出流对象 B) “end
13、l”的作用是输出回车换行 C) “x”是一个变量 D) “”称作提取运算符(分数:2.00)A.B.C.D.30.下列关于虚函数的描述中,正确的是A) 虚函数是一个 static 类型的成员函数B) 虚函数是一个非成员函数C) 基类中采用 virtual 说明一个虚函数后,派生类中定义相同原型的函数时可不必加 virtual 说明D) 派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型(分数:2.00)A.B.C.D.31.在公有派生时,派生类中定义的成员函数只能访问原基类的( )。A) 私有成员、保护成员和公有成员 B) 保护成员和私有成员C) 公有成员和保护成员 D) 公有成
14、员和私有成员(分数:2.00)A.B.C.D.32.类的析构函数的作用是( )。A) 一般成员函数B) 类的初始化C) 对象的初始化D) 释放由对象所占用的资源(分数:2.00)A.B.C.D.33.下列叙述不属于线性链表较之线性表顺序存储结构的优点的是( )。A) 线性链表存储方式简单B) 线性链表运算效率高C) 线性链表的存储空间易于扩展D) 线性链表便于存储空间的动态分配(分数:1.00)A.B.C.D.34.在 C中用来实现运行时多态性的是A) 重载函数 B) 析构函数C) 构造函数 D) 虚函数(分数:1.00)A.B.C.D.35.如果表达式-x/y 中的“-”和“/”是作为友元函
15、数重载的运算符,采用运算符函数调用格式,该表达式还可表示为A) operator/(xoperator-(),y);B) operator/(operator-(x),y);C) x.operator-().operator/(y);D) y.operator/(operator-(x);(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:25.00)36.在关系模型中,把数据看成一个二维表,每一个二维表称为一个 1。(分数:1.00)填空项 1:_37.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为 1。(分数:1.00)填空项 1:_
16、38.有以下程序:#includeiostream.hclassAint x;public:A(int A) x=a;friend class B;class Bpublic:void print(AA) a.x-;couta.xend1;void main()Aa(10);Bb;b.print(A) ;程序执行后的输出结果是_。(分数:1.00)填空项 1:_39.模板使我们可以用一个代码段指定一组相关函数(称为 1 )或一组相关类(称为 2。(分数:1.00)填空项 1:_填空项 1:_40.数据库设计包括概念设计、 1 和物理设计。(分数:2.00)填空项 1:_41.下列程序的运行结果
17、是_。#includeiostream. hclass Basepublic:virtual void func(int i)cout“class Base:“iendl;class Derived: public Basepublic:void func(double d)cout“class Derived:“dendl;);void main()Base a, *p=Derived b;p=(* p).func(3.3);(分数:2.00)填空项 1:_42.按“先进后出”原则组织数据的数据结构是 1。(分数:2.00)填空项 1:_43.下列程序的定义语句中,x1的初值是_,程序运行后
18、输出的内容是_。#includestdio.hvoid main()int x=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16),*p4,i;for(i=0;i4;i+)pi=x2*i+1;printf(“%d“,pi0);printf(“/n“)(分数:4.00)填空项 1:_44.计算机技术中,为解决一个特定问题而采取的特定的有限的步骤称为 1。(分数:2.00)填空项 1:_45.下列程序在构造函数和析构函数中申请和释放类的数据成员 int * a,申请时使用形参 b 初始化 a,请填空。class Apublic:A(int b) ;A( ) ;priva
19、te:int * a;A: :A(int b) _;A: :A( ) _;(分数:2.00)填空项 1:_46.在最坏情况下,堆排序需要比较的次数为 1。(分数:1.00)填空项 1:_47.C+程序第 1 条语句是从 1 函数开始执行的。(分数:2.00)填空项 1:_48.表达式 x.operator+(yoperator+(0)还可以写成 1。(分数:1.00)填空项 1:_49.数据库系统中实现各种数据管理功能的核心软件称为 1。(分数:2.00)填空项 1:_50.继承的方式有公有继承、私有继承和 1 种。(分数:1.00)填空项 1:_二级 C+笔试-415 答案解析(总分:82.
20、00,做题时间:90 分钟)一、选择题(总题数:35,分数:57.00)1.最简单的交换排序方法是A) 快速排序 B) 选择排序 C) 堆排序 D) 冒泡排序(分数:1.00)A.B.C.D. 解析:解析 让考生加深对各种排序方法特点的了解。解题要点 冒泡排序是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线性表变成有序。错解分析 交换排序方法有冒泡排序和快速排序,显然选项 B 和选项 C 错误,冒泡排序比较简单,其算法也容易理解,但快速排序本身较为复杂,且采用了递归调用,其算法理解也稍难。考点链接 插入排序、选择排序、归并排序、基数排序等排序方法的特点。2.下列关于析构函数的描
21、述中,错误的是( )。A) 类中有且仅有一个析构函数B) 析构函数可以有形参C) 析构函数没有函数类型D) 析构函数对象消失时被自动执行(分数:1.00)A.B. C.D.解析:3.以下 for 语句中不是死循环的是A) for(int i=0;i1;+i); B) for(int i=0;+i);C) for(int i=1;i0;+i); D) for(;);(分数:1.00)A. B.C.D.解析:解析 考查循环语句 for 的使用。解题要点 for 循环的一般格式为 for(初始化部分;终止条件判断部分;迭代部分)循环体;说明如下:for 循环开始时,首先执行初始化操作,然后判断终止条
22、件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。错解分析 在 for 语句中,如果省略了终止条件判断部分,并且在语句中没有 break,或者是终止条件判断部分始终没有终止,都将出现死循环。考点链接 for 循环语句可由 while 循环语句来代替。4.下列关于 C语言类的描述中错误的是A) 类用于描述事物的属性和对事物的操作B) 类与类之间通过封装而具有明确的独立性C) 类与类之间必须是平等的关系,不能组成层次结构D) 类与类之间可以通过一些方法进行通信和联络(分数:2.00)A.B.C. D.解析:解析 C语言中的类是可以组成层次结构的,类是用
23、于描述事物的属性和对事物的操作,类与类之间有相对的独立性,但其可以通过一些方法进行信息的通信。5.关于关键字 class 和 typename,下列描述正确的是( )。A) 程序中所有的 class 都可以替换为 typenameB) 程序中所有的 typename 都可以替换为 classC) A 和 B 都可以D) A 和 B 都不可以(分数:2.00)A.B. C.D.解析:6.有如下语句序列:int k0:d0k+5;cout$; while(k19);while(k-0)cout*;执行上面:的语句序列输出字符“$”和“*”的个数分别是( )。A) 4 和 20 B) 5 和 20C
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 415 答案 解析 DOC
