【计算机类职业资格】二级C++笔试-52及答案解析.doc
《【计算机类职业资格】二级C++笔试-52及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-52及答案解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-52 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.已经有“语句 int m=10;”则下列表示引用的表示中正确的是( )。(分数:2.00)A.int x=m;B.int y=10;C.int z;D.float t=8m;2.下面不正确的描述为( )。(分数:2.00)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元C.调用函数时,将为形参分配内存单元D.调用函数时,实参与形参的类型必须一致3.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( )。(分数:2.00)A.抽
2、象和信息隐蔽B.局部化和封装化C.内聚性和耦合性D.激活机制和控制方法4.将 x+y*z 中的“+”用成员函数重载,“*”是友元函数重载应写为( )。(分数:2.00)A.operator+(operator*(y,z)B.operator+(operator*(y,z)C.operator+(x*(y,z)D.x+(operator*(y,z)5.按照“后进先出”原则组织数据的数据结构是( )。(分数:2.00)A.队列B.栈C.双向链表D.二叉树6.索引属于( )。(分数:2.00)A.模式B.内模式C.外模式D.概念模式7.关于静态数据成员的描述中正确的是( )。(分数:2.00)A.类
3、的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化8.下列关于关系运算的叙述中正确的是( )。(分数:2.00)A.投影、选择、连接是从二维表的行的方向来进行运算B.并、交、差是从二维表的列的方向来进行运算C.投影、选择、连接是从二维表的列的方向来进行运算D.以上三种说法都不对9.对于模板定义关键字 class 和 typename 说法不正确的是( )。(分数:2.00)A.程序中的 class 并不能都替换为 typenameB.class 和 typename 都可互相替换C.程序
4、中的 typename 都能替换为 classD.程序中的部分 class 可以替换为 typename10.下列程序执行结果是( )。#includeiostream.hclass Apublic:int a;A():a(10)coutaend1;void main()A obj1;A obj2(obi1);cout“ “obj2.aend1;(分数:2.00)A.10 10B.编译错误 缺少拷贝构造函数C.10 随机数D.随机数 随机数11.存取指针所指的值时,采用的运算符是( )。(分数:2.00)A.#B.C.%D.*12.C+语言本身没有定义 I/O 操作,但 I/O 操作包含在 C
5、+实现中。C+标准库 iostream 提供了基本的I/O 类。I/O 操作分别由两个类 istream 和( )提供。(分数:2.00)A.fstreamB.iostreamC.ostreamD.cin13.有以下程序:class Datepublic:Dare(int y,int m,int d);year=y;month=m;day=d;Date(int y=2000)year=y;month=10;day=1;Date(Date d)year=d.year;month=d.month;day=d.day;void print()coutyear(“.“month“.“dayend1;p
6、rivate:int year,month,day;Date fun(Date d)Date temp;temp=d;return temp;int main()Date date1(2000,1,1),date2(0,0,0);Date date3(date1);date2=fun(date3);return 0;程序执行时,Date 类的拷贝构造函数被调用的次数是( )。(分数:2.00)A.2B.3C.4D.514.下列函数的运行结果是( )。#includeiostream.hint f(int a,int b)int c;if(ab)c=1;else if(a=b)c=0;else
7、c=-1;return(c);void main()int i=2,j=3;int p=f(i,j);coutp;(分数:2.00)A.-1B.1C.2D.编译出错,无法运行15.类 MyClass 的定如下,若要对 value 赋值,则下面语句正确的是( )。class MyClasspublic:MyClass()MyClass(int i)value=new int(i);int *value;(分数:2.00)_16.同一概念在一处为实体而在另一处为属性或联系的冲突在视图集成中叫( )。(分数:2.00)A.命名冲突B.概念冲突C.域冲突D.约束冲突17.设有以下类和对象的定义:cla
8、ss Apublic:int m;;A k1,k2,*p1,*p2;则下面针对成员变量 m 的引用,错误的是( )。(分数:2.00)A.k1.m=1B.k2m=2C.p1m=3D.(*p2).m=418.下列对于软件测试的描述中正确的是( )。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则19.以下程序的输出结果是( )。void main()int a=4,b=5,C=0,d;d=!a! b|!c;coutdend1;(分数:2.00)A.1B.OC.非 0
9、的数D.-120.有如下程序#includeiostream.hvoid main()(char ch25=“6937“,“8254“),*p2;int i,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i2;i+)for(j=0;pij/0;j+=2)s=10 * s+pij-0;;coutS;该程序的输出结果是( )。(分数:2.00)A.69825B.63825C.6385D.69382521.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是( )。(分数:2.00)A.DB 包含 DBS 和 DBMSB.DBMS 包含 DB 和 DBSC
10、.DBS 包含 DB 和 DBMSD.没有任何关系22.对如右二叉树进行后序遍历的结果为( )。(分数:2.00)A.B.C.D.23.阅读以下程序#includeiostream.hvoid main()char line10;cinline;coutlineend1;如运行时输入“This is an example. CR”,则程序的输出结果是( )。(分数:2.00)A.ThisB.This isC.This is aD.This is an example24.如有以下程序:#includeiostreamusing namespace std;long fun(int n)if(n
11、2)return(fun(n-1)+fun(n-2);elsereturn 2;int main()coutfun(3)end1;return 0;则该程序的输出结果应该是( )。(分数:2.00)A.2B.3C.4D.525.下列关于纯虚函数与抽象类的描述中,错误的是( )。(分数:2.00)A.纯虚函数是一种特殊的虚函数,它没有具体的实现B.抽象类是指具有纯虚函数的类C.一个基类声明了纯虚函数,该基类的派生类一定不是抽象类D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出26.考虑以下的函数原型:void A(int a,int b=5,char Z=*);下面的函数调用中,不正确
12、的是( )。(分数:2.00)A.A(7)B.A(3,4)C.A(16,#)D.A(0,2,*)27.类 A 是类 B 的友元,类 B 是类 C 的友元,则下列说法正确的是( )。(分数:2.00)A.类 B 是类 A 的友元B.类 C 是类 A 的友元C.类 A 是类 C 的友元D.以上都不对28.下述关于数据库系统的叙述中,正确的是( )。(分数:2.00)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据29.每个 C+程序中都必须有且仅有一个( )。(分数:2.00)A.类B.预处理命令C.主函数
13、D.语句30.以下程序的输出结果是( )。#includeiostream.hlong fun(int n)long s;if(n=1|n=2)s=2;else s=n-fun(n-1);return s;void main()coutfun(3);(分数:2.00)A.1B.2C.3D.431.面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是( )。(分数:2.00)A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考32.设有“int
14、x11;”,则表达式(x+ * 2/3)的值是( )。(分数:2.00)A.7B.8C.11D.1233.下列关于成员函数特征的描述中,错误的是( )。(分数:2.00)A.成员函数一定是内联函数B.成员函数可以重载C.成员函数可以设置参数的默认值D.成员函数可以是静态的34.在 C+程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序执行速度,则应该选用( )。(分数:2.00)A.内联函数B.重载函数C.递归调用D.嵌套调用35.有如下程序:#includeiostreamusing namespace std;class Conchar ID;public:Con():I
15、D(A)cout1;Con(char ID):ID(ID)cout2;Con(Con c):ID(c.getID()cout3;char getID()constreturn ID;void show(Con c)coutc.getID();int main()Con c1;show(c1);Con c2(B);show(c2);return 0;执行上面程序的输出是( )。(分数:2.00)A.13A23AB.23A13BC.13A23BD.13823A二、填空题(总题数:14,分数:30.00)36.软件维护活动包括改正性维护、适应性维护、 1 和预防性维护。(分数:2.00)填空项 1:
16、_37.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 1。(分数:2.00)填空项 1:_38.冒泡排序算法在最好的情况下的元素交换次数为 1 次。(分数:2.00)填空项 1:_39.在面向对象方法中,类之间共享属性和操作的机制称为 1。(分数:2.00)填空项 1:_40.数据库恢复是将数据库从 1 状态恢复到某一已知的正确状态。(分数:2.00)填空项 1:_41.函数定义的格式是 1 函数名(形式参数表)函数体。(分数:2.00)填空项 1:_42.C+语言程序的注释可以出现在程序中的任何地方,一个注释以
17、1 作为开始和结束的标记。(分数:2.00)填空项 1:_43.纯虚函数的声明总是以_结束。(分数:2.00)填空项 1:_44.下列程序的输出结果是_。#includeiostream.htemplateclass TT max(T x,int n)int i;T max v=x0;for(i=1;in;i+)if(max vxi)max v=xi;return max v;void main()int a=3,2,7,6,8,9;double b=(1.2,3.4,2.5,7.3,6.8;coutmax(a,4)“, “max(b,3)end1;(分数:2.00)填空项 1:_45.用以下
18、语句调用库函数 malloc,使字符指针 st 指向具有 11 字节的动态存储空间,请填空。st=(char*) 1;(分数:2.00)填空项 1:_46.有如下定义:class MAint value;public:MA(int n=0):value(n);MA *ta,tb;其中 MA 类的对象名标识符是_。(分数:2.00)填空项 1:_47.下列程序在构造函数和析构函数中申请和释放类的数据成员 int *a,申请时使用形参 b 初始化 a,请填空。class Apublic:A(int b);A();private:int *a:;A:A(int b)_,A:A()_;(分数:4.00
19、)填空项 1:_48.程序中有如下语句:for(int i=0;i5;i+)cout*(p+i)“,“;能够依次输出 int 型一维数组 DATA 的前 5 个元素。由此可知,变量 p 的定义及初始化语句是_。(分数:2.00)填空项 1:_49.表达式“c3=c1.operator+(c2)”或“c3=operator+(c1,c2)”还可以表示为 1。(分数:2.00)填空项 1:_二级 C+笔试-52 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.已经有“语句 int m=10;”则下列表示引用的表示中正确的是( )。(分数:2.00
20、)A.int x=m; B.int y=10;C.int z;D.float t=8m;解析:解析 引用比较特殊,即必须指向一个已有的同类型变量。引用是已有变量的别名,故选项 C 是错误的,选项 D 中变量类型不同,而选项 B 中是常数。2.下面不正确的描述为( )。(分数:2.00)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元 C.调用函数时,将为形参分配内存单元D.调用函数时,实参与形参的类型必须一致解析:解析 函数调用时用实参替换形参,如果实参为表达式,将为表达式的值创建一个临时对象,然后将该实参替换形参。替换的实质是变量间的复制当然这种复制需要为形参分配内
21、存。需要注意的是:形参在编译时不分配内存,在运行时才分配内存。3.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( )。(分数:2.00)A.抽象和信息隐蔽B.局部化和封装化C.内聚性和耦合性 D.激活机制和控制方法解析:解析 模块的独立程序是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。4.将 x+y*z 中的“+”用成员函数重载,“*”是友元函数重载应写为( )。(分数:2.00)A.operator+(operator*(y,z)B.operator+(operator*(y,z) C.operator+(x*(y,z)D.x
22、+(operator*(y,z)解析:解析 在定义了重载运算符后的函数后,函数 operator+重载了运算符“+”。如果在类以外的其他地方定义了一个函数,在类体中用 friend 对该函数进行声明,此函数就称为本类的友元函数。“*”用友元函数重载就是运算符函数不作为成员函数,而把它放在类外,“*”被改写为“operator *”。“+”为成员函数重载,x.operatot+。所以“x+y*z”被改写为“x.operator+(operator*(y,z)”。5.按照“后进先出”原则组织数据的数据结构是( )。(分数:2.00)A.队列B.栈 C.双向链表D.二叉树解析:解析 栈是限定只在表尾
23、进行插入或删除操作的线性表,因此栈是先进后出的线性表;队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,队列具有先进先出(FIFO)的特点;双向链表可以在链表的头和尾进行添加删除操作;二叉树是非线性结构。6.索引属于( )。(分数:2.00)A.模式B.内模式 C.外模式D.概念模式解析:解析 建立索引是加快查询速度的有效手段,这与索引按什么方式组织有关,它建立在数据库表的基础上,属于内模式。7.关于静态数据成员的描述中正确的是( )。(分数:2.00)A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 52 答案 解析 DOC
