欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:1324680       资源大小:79.50KB        全文页数:24页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    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.类的静态数据成员不能被类的成员函数

    24、调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化 解析:解析 C+类中的静态成员变量是该类中所有对象所共有的,它能够被类中的任何函数调用,所以选项 A,B,C 是错误的。而类的静态数据成员是必须要进行初始化才能使用的。8.下列关于关系运算的叙述中正确的是( )。(分数:2.00)A.投影、选择、连接是从二维表的行的方向来进行运算B.并、交、差是从二维表的列的方向来进行运算C.投影、选择、连接是从二维表的列的方向来进行运算 D.以上三种说法都不对解析:解析 在关系模型的数据语言中,一般除了运用常规的集合运算(并、交、差、笛卡儿积等)外,还定义了一些专门的关系运算,

    25、如投影、选择、连接等。前者是将关系(即二维表)看成是元组的集合,这些运算主要是从二维表的行的方向来进行的;后者主要是从二维表的列的方向来进行运算。因此,选项 A与选项 B 的说法都是错误的,而选项 C 的说法正确。9.对于模板定义关键字 class 和 typename 说法不正确的是( )。(分数:2.00)A.程序中的 class 并不能都替换为 typenameB.class 和 typename 都可互相替换 C.程序中的 typename 都能替换为 classD.程序中的部分 class 可以替换为 typename解析:解析 在 C+程序中的 typename 是都可以替换为 c

    26、lass 的,但 clgss 不能都替换为 typename。10.下列程序执行结果是( )。#includeiostream.hclass Apublic:int a;A():a(10)coutaend1;void main()A obj1;A obj2(obi1);cout“ “obj2.aend1;(分数:2.00)A.10 10 B.编译错误 缺少拷贝构造函数C.10 随机数D.随机数 随机数解析:解析 本题考查拷贝构造函数的知识。如果类中没有实现拷贝构造函数可以完成数据成员的自动赋值,对于复杂对象,则可能需要显式定义拷贝构造函数。11.存取指针所指的值时,采用的运算符是( )。(分数

    27、:2.00)A.#B.C.%D.* 解析:解析 对指针所指向的地址取值时,采用的存取运算符为*。B 为取地址符。12.C+语言本身没有定义 I/O 操作,但 I/O 操作包含在 C+实现中。C+标准库 iostream 提供了基本的I/O 类。I/O 操作分别由两个类 istream 和( )提供。(分数:2.00)A.fstreamB.iostreamC.ostream D.cin解析:解析 本题考查的是 C+标准库 iostream 提供的基本 I/O 类。istream 提供了向流中插入数据的有关操作;ostream 提供了从流中提取数据的有关操作。13.有以下程序:class Date

    28、public: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;private: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 d

    29、ate3(date1);date2=fun(date3);return 0;程序执行时,Date 类的拷贝构造函数被调用的次数是( )。(分数:2.00)A.2B.3 C.4D.5解析:解析 本题考核拷贝构造函数。上述程序中,拷贝构造函数一共被调用了 3 次:第 1 次是在执行语句 Date date3(date1)时,用已经建立的对象 date1 对正在建立的对象 date3 进行初始化;第 2 次是在调用 fun 函数时,由于是传值调用,因此实参对象 date3 要对形参对象 d 进行初始化;第 3 次是在执行fun 函数中的返回语句 return temp;时,系统初始化一个匿名对象时使

    30、用了拷贝构造函数。14.下列函数的运行结果是( )。#includeiostream.hint f(int a,int b)int c;if(ab)c=1;else if(a=b)c=0;else c=-1;return(c);void main()int i=2,j=3;int p=f(i,j);coutp;(分数:2.00)A.-1 B.1C.2D.编译出错,无法运行解析:解析 本题的函数是根据 a 和 b 的值来给 c 赋值。15.类 MyClass 的定如下,若要对 value 赋值,则下面语句正确的是( )。class MyClasspublic:MyClass()MyClass(i

    31、nt i)value=new int(i);int *value;(分数:2.00)_解析:解析 因题目中定义的指针 value 是指向变量 i 的,所以直接利用语句 MyClass(int i)value=new int(i);16.同一概念在一处为实体而在另一处为属性或联系的冲突在视图集成中叫( )。(分数:2.00)A.命名冲突B.概念冲突 C.域冲突D.约束冲突解析:解析 同一概念在一处为实体,而在另一处为属性或联系的冲突称为概念冲突。17.设有以下类和对象的定义:class Apublic:int m;;A k1,k2,*p1,*p2;则下面针对成员变量 m 的引用,错误的是( )。

    32、(分数:2.00)A.k1.m=1B.k2m=2 C.p1m=3D.(*p2).m=4解析:解析 A*p1,A*p2 为指向 A 类对象的指针,故“p1m=3,(*p2).m=4”是正确的。但 k2 不是指针,k2m 的表示是错误的。18.下列对于软件测试的描述中正确的是( )。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误 D.软件测试的目的是使程序符合结构化原则解析:解析 软件测试是保证软件质量的关键环节,直接影响着软件的质量评估。软件测试不仅要讲究策略,而且要讲究时效性。软件测试的目的是尽可能多地

    33、发现程序中的错误。19.以下程序的输出结果是( )。void main()int a=4,b=5,C=0,d;d=!a! b|!c;coutdend1;(分数:2.00)A.1 B.OC.非 0 的数D.-1解析:解析 本题考查逻辑运算符!逻辑“非”,逻辑“与”,|逻辑“或”,三者的优先级顺序为!|,本题中 d=!4!5|!0,即 d=0|1,也即 d=1。20.有如下程序#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=

    34、0;pij/0;j+=2)s=10 * s+pij-0;;coutS;该程序的输出结果是( )。(分数:2.00)A.69825B.63825C.6385 D.693825解析:解析 该题主要要搞清楚以下几点:定义了一个指针数组 char *p2后,程序中第一个循环“for(i=0;i2;j+)pi=chi”的作用是使指针数组的 p0元素(它本身是一个指针)指向了二维数组 ch 的第一行字符串,并使指针数组的 p1元素指向了二维数组 ch 的第二行字符串这样,就使指针数组 p 和二维数组 ch 建立起了一种对应关系,以后对二维数组 ch 的某个元素的引用就有两种等价的形式:chij或 pij。

    35、对二维数组 ch 的初始化,使其第一行 ch0中存入了字符串“6937”,第二行ch1中的内容为字符串“8254”。程序中第二个循环中的循环体“s=s*10+pij-0”的功能是这样的,每执行一次,将 s 中的值乘以 10(即将 s 中的数值整体向左移动一位,并在空出来的个位上添一个0),再将当前 pij中的字符量转换为相应的数字,然后把这个数字加到 s 的个位上。注意到内层循环的循环条件 pij)/0是指 pij中的字符只要不是字符串结束标志/0就继续循环,语句j+=2;是使下标 j 每次增加 2,即一个隔一个地从 pi所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从 p0所

    36、指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从 p1所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果 s 中的值应该是 6385。21.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是( )。(分数:2.00)A.DB 包含 DBS 和 DBMSB.DBMS 包含 DB 和 DBSC.DBS 包含 DB 和 DBMS D.没有任何关系解析:解析 数据库系统(DBS)是指在计算机系统中引入数据库后的系统,一般有数据库(DB)、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。2

    37、2.对如右二叉树进行后序遍历的结果为( )。(分数:2.00)A.B.C.D. 解析:解析 二叉树的遍历有 3 种:前序、中序和后序。后序遍历首先遍历左子树或左子结点,然后遍历右子树或右子结点,最后访问根结点。分析本题二叉树,对其进行后序遍历的结果为 DEBFCA。23.阅读以下程序#includeiostream.hvoid main()char line10;cinline;coutlineend1;如运行时输入“This is an example. CR”,则程序的输出结果是( )。(分数:2.00)A.This B.This isC.This is aD.This is an exa

    38、mple解析:解析 本题考查 C+中 cin 输入流对象的使用规则,其特点是以空格、回车和 tab 为分隔符。因此 this 和 is 之间的空格告诉 cin 对象停止接收后面的数据。故正确答案为 A。24.如有以下程序:#includeiostreamusing namespace std;long fun(int n)if(n2)return(fun(n-1)+fun(n-2);elsereturn 2;int main()coutfun(3)end1;return 0;则该程序的输出结果应该是( )。(分数:2.00)A.2B.3C.4 D.5解析:解析 主函数中调用 fun(3),在

    39、fun 内部当 n2 时,递归调用 fun(n-1)+fun(n-2),否则返回2。所以当 n=3 时,调用 fun(2)+fun(1),即返回 2+2,等于 4。25.下列关于纯虚函数与抽象类的描述中,错误的是( )。(分数:2.00)A.纯虚函数是一种特殊的虚函数,它没有具体的实现B.抽象类是指具有纯虚函数的类C.一个基类声明了纯虚函数,该基类的派生类一定不是抽象类 D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出解析:解析 纯虚函数是在声明虚函数时被“初始化”为 0 的虚函数。不定义对象而只作为一种基本类型作为继承的类,称为抽象类。凡是包含纯虚函数的类都是抽象类。抽象类的作用是

    40、作为一个类族的共同基类。26.考虑以下的函数原型:void A(int a,int b=5,char Z=*);下面的函数调用中,不正确的是( )。(分数:2.00)A.A(7)B.A(3,4)C.A(16,#) D.A(0,2,*)解析:解析 A、B 项中,实参不全,参数默认为函数原型中的初始值,但在 C 项中,第二个实参(char型)与函数原型中的第二个形参类型不一致,故 C 项错误。27.类 A 是类 B 的友元,类 B 是类 C 的友元,则下列说法正确的是( )。(分数:2.00)A.类 B 是类 A 的友元B.类 C 是类 A 的友元C.类 A 是类 C 的友元D.以上都不对 解析:

    41、解析 选项 A、B 和 C 都不正确,因为友元关系是单项的,并且没有交换性、传递性。28.下述关于数据库系统的叙述中,正确的是( )。(分数:2.00)A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据解析:解析 数据库系统会减少数据冗余,但不可能避免一切冗余。29.每个 C+程序中都必须有且仅有一个( )。(分数:2.00)A.类B.预处理命令C.主函数 D.语句解析:解析 每个 C+程序中都要有且仅有一个主函数,该函数是程序的入口,而语句、预处理命令和函数及类在程序中都可以有多个。30.以下程序的输

    42、出结果是( )。#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.1 B.2C.3D.4解析:解析 题中 fun 函数进行了递归调用,第 1 次调用时:fun(3)n=3,s=3-fun(2),第二次调用时:fun(2)n=2 s=2,返回第一次调用后,s=3-2=1。31.面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是( )。(分数:2.00)A.模拟现实世界中不同事物之间的联系B.强调模拟现实

    43、世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题 D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考解析:解析 面向对象设计通过对人类认识客观世界及事物发展过程的抽象,建立了规范化的分析设计方法,由此带来软件模块化特色突出、可读性好、易维护等一系列优点。32.设有“int x11;”,则表达式(x+ * 2/3)的值是( )。(分数:2.00)A.7 B.8C.11D.12解析:解析 当自加运算符做后缀表达式的时候,表达式的值不变,只有变量的值增 1,所以表达式(x+*2/3)相当于(11*2/3)取整后为 7。33.下列关于成员函数特征的描述中,错误的

    44、是( )。(分数:2.00)A.成员函数一定是内联函数 B.成员函数可以重载C.成员函数可以设置参数的默认值D.成员函数可以是静态的解析:解析 成员函数不一定是内联函数。34.在 C+程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序执行速度,则应该选用( )。(分数:2.00)A.内联函数 B.重载函数C.递归调用D.嵌套调用解析:解析 本题考查的是内联函数的相关知识点。C+引入内联函数是用它来代替 C 语言中的预处理宏函数,内联函数在调用时,是将表达式用内联函数体来替换,这样会加快程序的执行速度。35.有如下程序:#includeiostreamusing namespa

    45、ce std;class Conchar ID;public:Con():ID(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.13A23B D.13823A解析:解析 Con c1 定义 c1 对象,调用 Con 的无

    46、参数构造函数,输出 1,ID 值变为 A,执行 show(c1)时会调用拷贝构造函数,将 c1 对象的值复制给 show 函数的形参,此时输出 3,然后在 show()中输出 c1的 ID 值 A,Con c2(B)定义 c2 对象,调用 Con(char ID)构造函数,输出 2,c2 的 ID 值为 B,show(c2)执行时先调用拷贝构造函数输出 3,然后输出 B。因此程序输出结果为“13A23B”。二、填空题(总题数:14,分数:30.00)36.软件维护活动包括改正性维护、适应性维护、 1 和预防性维护。(分数:2.00)填空项 1:_ (正确答案:完善性维护)解析:解析 软件维护活动包括改正性维护、适应性维护、完善性维护和预防性维护。37.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 1。(分数:2.00)填空项 1:_ (正确答案:物理独立性)解析:解析 数据独立性包括数据的物理独立性和数据的逻辑独立性。物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的,即数据在磁盘上怎样存储由 DBMS 管理,用户程


    注意事项

    本文(【计算机类职业资格】二级C++笔试-52及答案解析.doc)为本站会员(sofeeling205)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开