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

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

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

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

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

    1、二级 C+-16-2 及答案解析(总分:80.50,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:55.50)1.下面描述中属于软件测试目的的是 A. 改正程序中的错误 B. 发现程序中的错误 C. 表明程序没有错误 D. 验证程序的可靠性(分数:2.00)A.B.C.D.2.下面程序的执行结果是#include“iostream.h“void main()int*p,r;pnew int;*p20;rsizeof(*p);coutrendl;delete p; A. 程序错误 B. 内存为 20 地址的大小 C. 20 D. 4(分数:2.00)A.B.C.D.3.一个人有一个

    2、身份证号码,一个身份证号码对应一个人。实体“人”和实体“身份证号码”存在的联系是 A. 一对一 B. 一对多 C. 多对多 D. 无定义(分数:2.00)A.B.C.D.4.下列叙述中正确的是U /U。 A.数据库系统是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统 C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致(分数:2.00)A.B.C.D.5.有以下程序#includeiostreamhstruct STU char num10;float score3;void main( ) struct STU s3=

    3、 “20021“,90,95,85 ,“20022“,95,80,75 ,“20023“,100,95,90 ,* p=s;int i;float sum=0;for(i=0;i3;i+)sum=sum+p-scorei;cout sum;程序运行后的输出结果是 A. 260 B. 270 C. 280 D. 285(分数:1.00)A.B.C.D.6.若有如下语句:#includeiostream.hvoid main( ) int x3;doxx2;cout x;while(!(X) ) ;则上面程序段 A. 输出的是 1 B. 输出的是 1 和2 C. 输出的是 3 和 0 D. 是死循

    4、环(分数:2.00)A.B.C.D.7.有关类和对象的说法不正确的是U /U。 A. 对象是类的一个实例 B. 任何一个对象只能属于一个具体的类 C. 一个类只能有一个对象 D. 类与对象的关系和数据类型和变量的关系相似(分数:1.00)A.B.C.D.8.下列程序执行后的输出结果是U /U。void funcl(int i);void func2(int i);char st=“hello,friend!”;void funcl(int i) printf(“%c“,sti);if(i3)i+=2;func2(i);void func2(int i) printf(“%c“,sti);if(

    5、i3)i+=2;funcl(i); main() int i=0;funcl(i);printf(“/n“); A.hello B.hel C.hol D.hlm(分数:1.00)A.B.C.D.9.有关析构函数的说法中错误的是 A. 析构函数有且只有一个 B. 析构函数无任何函数类型 C. 析构函数和构造函数一样可以有形参 D. 析构函数的作用是在对象被撤销时做清理工作(分数:2.00)A.B.C.D.10.对于多重继承,下面说法中正确的是U /U。 A. 一个派生类只有一个基类 B. 一个基类只能产生一个派生类 C. 一个派生类可有多个基类 D. 一个基类必须产生多个派生类(分数:2.00

    6、)A.B.C.D.11.有如下程序段:int i=1;while(1)i+;if(i=10) break;if(i%2=0) cout*;执行这个程序段输出字符*的个数是U /U。 A.10 B.3 C.4 D.5(分数:2.00)A.B.C.D.12.不能作为函数重载的判断依据的是U /U。 A. const B. 返回类型 C. 参数个数 D. 参数类型(分数:2.00)A.B.C.D.13.下面关于数组的初始化正确的是_。 A.charstr=a,b,c B.charstr2=a,b,c C.charstr23=far,b,c,d),e,f D.charstr()=a,b,c(分数:1.

    7、00)A.B.C.D.14.将 ER 图转换到关系模式时,实体与联系都可以表示成 A. 属性 B. 关系 C. 键 D. 域(分数:1.00)A.B.C.D.15.对关系 S 和关系 R 进行集合运算,结果中既包含 S 中元组也包含 R 中元组,这种集合运算称为U /U。 A.并运算 B.交运算 C.差运算 D.积运算(分数:2.00)A.B.C.D.16.一个函数为 void(int,char=a),另一个函数为 void f(int),则它们U /U。 A.不能在同一程序中定义 B.可以在同一程序中定义并可重载 C.可以在同一程序中定义,但不可以重载 D.以上说法均不正确 (分数:1.00

    8、)A.B.C.D.17.以下程序运行后的输出结果是U /U。#includeiostream.hvoid main()char aft=“abbcabbcabbc“;int i=0,j=0,k=0;while(ai)if(ai=a)j+;if(ai=b)k+;i+;coutj“kend1; A. 2,6 B. 3,5 C. 4,7 D. 3,6(分数:2.00)A.B.C.D.18.下列是模板声明的开始部分,其中正确的是 A. templateT B. templateclassT1,T2 C. templateclassT1,classT2 D. templateclassT1;classT

    9、2(分数:2.00)A.B.C.D.19.派生类的对象对它的基类成员中U /U是可以访问的。 A.公有继承的公有成员 B.公有继承的私有成员 C.公有继承的保护成员 D.私有继承的公有成员(分数:1.00)A.B.C.D.20.下列叙述中错误的是_。 A.在程序中凡是以“#”开始的语句行都是预处理命令行 B.预处理命令行的最后不能以分号表示结束 C.#define MAX 是合法的宏定义命令行 D.C+中预处理命令行的处理是在程序执行的过程中进行的(分数:1.00)A.B.C.D.21.下列叙述中正确的是 A. 数据的逻辑结构与存储结构必定一一对应 B. 由于计算机存储空间是向量式的存储结构,

    10、因此,数据的存储结构一定是线性结构 C. 程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 D. 以上三种说法都不对(分数:1.00)A.B.C.D.22.以下 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.23.源程序的文档化不包括U /U。 A.符号名的命名要有实际意义 B.正确的文档形式 C.良好的视觉组织 D.正确的程序注释(分数:2.00)A.B.C.D.24.如下程序的输出结果是main()flo

    11、at x=2.0, y;if(x0.0)y=0.0;else if(x10.0)y= 1.0/x;else y= 1.0coutyend1 A. 0.000000 B. 0.250000 C. 0.500000 D. 1.000000(分数:2.00)A.B.C.D.25.下列有关类成员的叙述中,正确的是_。 A.友元函数是类的成员函数 B.类成员的默认访问权限是私有的 C.类成员函数必须声明为公有的 D.类的静态数据成员不能是常成员(分数:1.00)A.B.C.D.26.设树 T 的度为 4,其中度为 1,2,3,4 的结点个数分别为 4,2,1,1。则 T 中的叶子结点数为 A. 5 B.

    12、 6 C. 7 D. 8(分数:1.00)A.B.C.D.27.有下列二叉树,对此二叉树前序遍历的结果为U /U。(分数:2.00)A.B.C.D.28.从工程管理角度,软件设计一般分为两步完成,它们是U /U。 A.概要设计与详细设计 B.数据设计与接口设计 C.软件结构设计与数据设计 D.过程设计与数据设计(分数:2.00)A.B.C.D.29.若执行语句:coutsetfill(*)setw(10)123“OK“endl 后将输出U /U。 A. *1230K B. 123*OK C. *123*OK D. 123*OK*(分数:2.00)A.B.C.D.30.若有一个 MyClass

    13、类,则执行语句 MyClass a,b(2),*p;后,自动调用该类的构造函数 U /U次。 A. 2 B. 3 C. 4 D. 5(分数:1.00)A.B.C.D.31.下述关于数据库系统的叙述中正确的是 A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型一致 D.数据库系统比文件系统能管理更多的数据 (分数:1.00)A.B.C.D.32.以下正确的描述为 A. 每个 C+语言程序必须在开头用预处理命令: B. 预处理命令必须位于 C+源程序的首部 C. 在 C+语言中预处理命令都以“#”开头 D. C+语言的预处理命令只能实现宏定义和条件

    14、编译的功能(分数:2.00)A.B.C.D.33.若要对 Date 类中重载的加法运算符成员函数进行声明,下列选项中正确的是U /U A.Data+( Data); B.Data operator+(Data); C.Data+operator(Data); D.operator+(Data.Data);(分数:2.50)A.B.C.D.34.在 C+中,数据封装要解决的问题是U /U。 A.数据的规范化 B.便于数据转换 C.避免数据丢失 D.防止不同模块之间数据的非法访问(分数:2.00)A.B.C.D.35.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做U /U。 A.

    15、软件投机 B.软件危机 C.软件工程 D.软件产生(分数:1.00)A.B.C.D.二、B填空题/B(总题数:15,分数:25.00)36.与二维表中的“行”的概念最接近的概念是 1。(分数:2.00)填空项 1:_37.一个类中有U U /U /U个析构函数。(分数:2.00)填空项 1:_38.数据库系统中实现各种数据管理功能的核心软件称为U U /U /U。(分数:1.00)填空项 1:_39.要想把类的一般成员函数说明为类的常成员函数,则应该使用关键词U U /U /U说明成员函数。(分数:1.00)填空项 1:_40.下面程序的输出结果是_。 #includeiostream.h v

    16、oid main() inta61,2,3,4,5,6; for(int i0;i5;i+) coutai“; coutendl;(分数:2.00)填空项 1:_41.在面向对象方法中,类之间共享属性和操作的机制称为U U /U /U。(分数:1.00)填空项 1:_42.请分析下面的程序并给出该程序的执行结果U U /U /U。 #include iostream class AA int a; public: AA() cout“ Initializing AA!/n“ ; AAM() cout“ Destroying AA!/n“ ; ; class BB int b; AA p; pu

    17、blic: BB() cout“Initializing BB!/n“ ; BB() cout“Destroying BB!/n“ ; ; void main() BB X; cout“Ending main!/n ; (分数:2.00)填空项 1:_43.与成员访问表达式 p-name 等价的表达式是 1。(分数:2.00)填空项 1:_44.若要作为类 A 的成员函数重载前置“+”运算符,使其作用于类 A 的对象,则该运算符函数的声明部分应该是 1。(分数:2.00)填空项 1:_45.数学表达式 (分数:2.00)填空项 1:_46.若有整型变量 x=2,则表达式 x2 的结果是U U

    18、/U /U。(分数:2.00)填空项 1:_47.下列函数的功能是判断字符串 str 是否对称,对称则返回 true,否则返回 false。请在横线处填上适当内容,实现该函数。 bool fun(char*str) int i=o,i=0; while(strj)U U /U/U;for(j-;iji+,j-); return iU U /U/Uj; (分数:1.00)填空项 1:_48.表达式 x=operator-(y,z)其可以表示 1 为。(分数:1.00)填空项 1:_49.若下列程序运行时输出结果为 1,A,101 2,B,35 请将程序补充完整。 #includeiostream

    19、 using namespace std; int main() void test(mt,char,double_); test(1,A,10.1); test(2,B); return 0; void test(int a,char b,double c) couta,b,cendl; (分数:2.00)填空项 1:_50.若需要把一个函数“void Furic( );“定义为一个类 Sample 的友元函数,则应在类 Sample 的定义中加入一条语句 1。(分数:2.00)填空项 1:_二级 C+-16-2 答案解析(总分:80.50,做题时间:90 分钟)一、B选择题/B(总题数:3

    20、5,分数:55.50)1.下面描述中属于软件测试目的的是 A. 改正程序中的错误 B. 发现程序中的错误 C. 表明程序没有错误 D. 验证程序的可靠性(分数:2.00)A.B. C.D.解析:解析 软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。 测试不是为了证明程序是正确的,而是在设想程序有错误的前提下进行的,其目的是设法暴露程序中的错误和缺陷。有人将测试的挑剔性总结为以下三点: 测试是程序执行的过程,目的在于发现错误; 一个好的测试在于能发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误。 由于测试的这一特征,一般应当避免由开发者测试自己

    21、的程序。 测试只能说明程序有错,而不能证明程序无错,希望通过有限次的测试就能发现程序中的所有错误是不可能的,即完全测试是不可能的。 由此可知,选项 A、C、D 都不属于软件测试目的。2.下面程序的执行结果是#include“iostream.h“void main()int*p,r;pnew int;*p20;rsizeof(*p);coutrendl;delete p; A. 程序错误 B. 内存为 20 地址的大小 C. 20 D. 4(分数:2.00)A.B.C.D. 解析:解析 考查指针和运算符 sizeof 的运用。 解题要点 理解 sizeof 的用法,它可以运算出各种数据类型所占

    22、内存空间的多少。 错解分析 选项 C)中是指针 p 所指向的内存地址中内容是 20。 考点链接 在用完申请后的内存应立刻释放。3.一个人有一个身份证号码,一个身份证号码对应一个人。实体“人”和实体“身份证号码”存在的联系是 A. 一对一 B. 一对多 C. 多对多 D. 无定义(分数:2.00)A. B.C.D.解析:解析 一个人有一个身份证号码,一个身份证号码对应一个人。则实体“人”和实体“身份证号码”之间存在一对一联系。4.下列叙述中正确的是U /U。 A.数据库系统是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统 C.数据库技术的根本目标是要解决数据共享的问题

    23、 D.数据库系统中,数据的物理结构必须与逻辑结构一致(分数:2.00)A.B.C. D.解析:5.有以下程序#includeiostreamhstruct STU char num10;float score3;void main( ) struct STU s3= “20021“,90,95,85 ,“20022“,95,80,75 ,“20023“,100,95,90 ,* p=s;int i;float sum=0;for(i=0;i3;i+)sum=sum+p-scorei;cout sum;程序运行后的输出结果是 A. 260 B. 270 C. 280 D. 285(分数:1.00

    24、)A.B. C.D.解析:解析 考查结构体的用法 【解题要点】:C+语言规定数组名代表数组的首地址,也就是第 0 号元素的地址,在本题中 s 就是 s0的地址,指针变量 P 指向 s,也就是指向 s0,所以在 for 循环累加的是 s0的 score 成员值。 【考点链接】注意结构体与类的区别。6.若有如下语句:#includeiostream.hvoid main( ) int x3;doxx2;cout x;while(!(X) ) ;则上面程序段 A. 输出的是 1 B. 输出的是 1 和2 C. 输出的是 3 和 0 D. 是死循环(分数:2.00)A.B. C.D.解析:解析 dow

    25、hile 语句的一般格式为 do 循环体语句 while(表达式) ;,先执行循环体语句一次,再判断表达式的值,若为真则继续执行循环,否则终止循环。本题中,先执行 xx2,即为 1。判断表达式的值,!(x) 为真,x0,继续循环。再次执行循环体语句后,x2,此时表达式的值为 0,结束循环。7.有关类和对象的说法不正确的是U /U。 A. 对象是类的一个实例 B. 任何一个对象只能属于一个具体的类 C. 一个类只能有一个对象 D. 类与对象的关系和数据类型和变量的关系相似(分数:1.00)A.B.C. D.解析:8.下列程序执行后的输出结果是U /U。void funcl(int i);void

    26、 func2(int i);char st=“hello,friend!”;void funcl(int i) printf(“%c“,sti);if(i3)i+=2;func2(i);void func2(int i) printf(“%c“,sti);if(i3)i+=2;funcl(i); main() int i=0;funcl(i);printf(“/n“); A.hello B.hel C.hol D.hlm(分数:1.00)A.B.C. D.解析:9.有关析构函数的说法中错误的是 A. 析构函数有且只有一个 B. 析构函数无任何函数类型 C. 析构函数和构造函数一样可以有形参 D

    27、. 析构函数的作用是在对象被撤销时做清理工作(分数:2.00)A.B.C. D.解析:解析 本题考查析构函数的有关特性。考生不仅要熟记析构函数和构造函数的特点,还要深刻理解它们的内插,只有这样才可以灵活运用。10.对于多重继承,下面说法中正确的是U /U。 A. 一个派生类只有一个基类 B. 一个基类只能产生一个派生类 C. 一个派生类可有多个基类 D. 一个基类必须产生多个派生类(分数:2.00)A.B.C. D.解析:解析 C+支持多重继承。11.有如下程序段:int i=1;while(1)i+;if(i=10) break;if(i%2=0) cout*;执行这个程序段输出字符*的个数

    28、是U /U。 A.10 B.3 C.4 D.5(分数:2.00)A.B.C. D.解析:解析 本题主要考查 while 的作用。只有 i 为偶数时才输出“*”,而本题只有 2,4,6,8 时才满足条件,而当 i 为 10 时程序结束,即只有 4 个“*”被输出。12.不能作为函数重载的判断依据的是U /U。 A. const B. 返回类型 C. 参数个数 D. 参数类型(分数:2.00)A.B. C.D.解析:解析 所谓函数重载是指同一函数名可以对应多个函数实现。进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。但函数的返回类型不能作为判断重载的依据。13.下面关于数组的初始

    29、化正确的是_。 A.charstr=a,b,c B.charstr2=a,b,c C.charstr23=far,b,c,d),e,f D.charstr()=a,b,c(分数:1.00)A. B.C.D.解析:解析 本题考查的是字符数组的初始化。选项 B 中用三个元素初始化大小为 2 的数组,越界了;选项 C 中应该是 2 行 3 列的数组,题中使用 3 行 2 列初始化;选项 D 中数组应用方括号。14.将 ER 图转换到关系模式时,实体与联系都可以表示成 A. 属性 B. 关系 C. 键 D. 域(分数:1.00)A.B. C.D.解析:解析 数据库逻辑设计的主要工作是将 E-R 图转换

    30、成指定 RDBMS 中的关系模式。首先,从 E-R 图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R 图中属性也可以转换成关系的属性。实体集也可以转换成关系。15.对关系 S 和关系 R 进行集合运算,结果中既包含 S 中元组也包含 R 中元组,这种集合运算称为U /U。 A.并运算 B.交运算 C.差运算 D.积运算(分数:2.00)A. B.C.D.解析:16.一个函数为 void(int,char=a),另一个函数为 void f(int),则它们U /U。 A.不能在同一程序中定义 B.可以在同一程序中定义并可重载 C.可以在同一程序中定义,但不可以重载 D.以上说法

    31、均不正确 (分数:1.00)A.B.C. D.解析:17.以下程序运行后的输出结果是U /U。#includeiostream.hvoid main()char aft=“abbcabbcabbc“;int i=0,j=0,k=0;while(ai)if(ai=a)j+;if(ai=b)k+;i+;coutj“kend1; A. 2,6 B. 3,5 C. 4,7 D. 3,6(分数:2.00)A.B.C.D. 解析:解析 程序中首先定义字符数组 a,然后在 while 循环中统计字符 a 和 b 的个数。其中 j 记录 a的个数,k 记录 b 的个数。第一个 if 语句是当第 i 个字符为

    32、a 时,i 加 1;第二个 if 语句是当第 i 个字符为 b 时,k 加 1。18.下列是模板声明的开始部分,其中正确的是 A. templateT B. templateclassT1,T2 C. templateclassT1,classT2 D. templateclassT1;classT2(分数:2.00)A.B.C. D.解析:解析 本题考核模板的声明。模板声明的开始部分为:template类型形参表。其中,类型形参表可以包含基本数据类型,也可以包含类类型。类型形参需要加前缀 class。如果类型形参多于一个,则每个类型形参都要使用 class。形参表中的参数是惟一的,而且至少在

    33、函数定义体中出现一次。形参表中至少有一个形参的类型必须用类型形参表中的形参来定义。所以只有 C 选项的声明是正确的。19.派生类的对象对它的基类成员中U /U是可以访问的。 A.公有继承的公有成员 B.公有继承的私有成员 C.公有继承的保护成员 D.私有继承的公有成员(分数:1.00)A. B.C.D.解析:20.下列叙述中错误的是_。 A.在程序中凡是以“#”开始的语句行都是预处理命令行 B.预处理命令行的最后不能以分号表示结束 C.#define MAX 是合法的宏定义命令行 D.C+中预处理命令行的处理是在程序执行的过程中进行的(分数:1.00)A.B.C. D.解析:解析 预处理命令是

    34、以“#”开始的语句,每一条预处理命令必须单独占用一行,由于不是 C 语言的语句,并且命令行的最后不能以分号表示结束,定义格式为“#define 标识符字符串”,预处理命令行是系统对源程序进行编译之前进行处理的,不是在程序执行的过程中。21.下列叙述中正确的是 A. 数据的逻辑结构与存储结构必定一一对应 B. 由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 C. 程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 D. 以上三种说法都不对(分数:1.00)A.B.C.D. 解析:解析 一种数据的逻辑结构根据需要可以表示成多种存储结构,因此,数据的逻辑

    35、结构与存储结构不一定是一一对应的,因此选项 A 错误。计算机的存储空间是向量式的存储结构,但一种数据的逻辑结构根据需要可以表示成多种存储结构,如线性链表是线性表的链式存储结构,数据的存储结构不一定是线性结构,因此选项 B 错误。 数组一般是顺序存储结构,但利用数组也能处理非线性结构。选项 C 错误。 只有选项 D 的说法正确。22.以下 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 的使用。 【

    36、解题要点】for 循环的一般格式为 for(初始化部分;终止条件判断部分;迭代部分) 循环体; 说明如下:for 循环开始时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。 【错解分析】在 for 语句中,如果省略了终止条件判断部分,并且在语句中没有 break,或者是终止条件判断部分始终没有终止,都将出现死循环。 【考点链接】for 循环语句可由 while 循环语句来代替。23.源程序的文档化不包括U /U。 A.符号名的命名要有实际意义 B.正确的文档形式 C.良好的视觉组织 D.正确的程序注释(分数:2

    37、.00)A.B. C.D.解析:解析 源程序的文档化主要包括 3 点:(1) 符号名应具有一定实际的含义,便于理解程序功能:(2) 正确的程序注释;(3) 良好的视觉组织。利用空格、空行、缩进等技巧使程序层次清晰。24.如下程序的输出结果是main()float x=2.0, y;if(x0.0)y=0.0;else if(x10.0)y= 1.0/x;else y= 1.0coutyend1 A. 0.000000 B. 0.250000 C. 0.500000 D. 1.000000(分数:2.00)A.B.C. D.解析:解析 本题主要考察条件语句的运行规则,考生按照逻辑顺序分析可知正确

    38、答案为 C。25.下列有关类成员的叙述中,正确的是_。 A.友元函数是类的成员函数 B.类成员的默认访问权限是私有的 C.类成员函数必须声明为公有的 D.类的静态数据成员不能是常成员(分数:1.00)A.B. C.D.解析:解析 友元函数不是类的成员函数,但是可以具有类的成员的一些访问权限,A 选项错误;类的成员访问权限默认是私有的,B 选项正确;类的成员函数可以声明为私有的,C 选项错误;类的静态数据成员可以是常成员,D 选项错误。26.设树 T 的度为 4,其中度为 1,2,3,4 的结点个数分别为 4,2,1,1。则 T 中的叶子结点数为 A. 5 B. 6 C. 7 D. 8(分数:1

    39、.00)A.B.C.D. 解析:解析 根据给定的条件,在树中,各结点的分支总数为:41+22+13+41=15:树中的总结点数为:15(各结点的分支总数)+1(根结点)=16:非叶子结点总数为: 4+2+1+1=8。因此,叶子结点数为16(总结点数)-8(非叶子结点总数)=8。因此,本题的正确答案为 D。27.有下列二叉树,对此二叉树前序遍历的结果为U /U。(分数:2.00)A.B.C. D.解析:解析 对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且在访问左、右子树时,先访问根结点,再依次访问其左、右子树。28.从工程管理角度,软件设计一般分为两步完成,它们是U

    40、/U。 A.概要设计与详细设计 B.数据设计与接口设计 C.软件结构设计与数据设计 D.过程设计与数据设计(分数:2.00)A. B.C.D.解析:29.若执行语句:coutsetfill(*)setw(10)123“OK“endl 后将输出U /U。 A. *1230K B. 123*OK C. *123*OK D. 123*OK*(分数:2.00)A. B.C.D.解析:解析 cout.fill()用于设置或返回输出的填充字符,默认是空格,fill()函数的设置一直有效,直到下一个 fill()函数改变该值为止。setw(int n)作用是设置输入输出的宽度,此设置只对一次输入或输出效,在

    41、完成一次数据的输入或输出后,宽度设置自动恢复为 0。注意:默认为输出数据在指定宽度内右对齐。30.若有一个 MyClass 类,则执行语句 MyClass a,b(2),*p;后,自动调用该类的构造函数 U /U次。 A. 2 B. 3 C. 4 D. 5(分数:1.00)A. B.C.D.解析:解析 本题考核构造函数的调用。C+在创建一个对象时,会自动调用类的构造函数,在构造函数中可以执行初始化成员变量的操作。语句 MyClassa,b(2),*p;创建了两个对象 a、b 和一个对象指针。在创建 a 和 b 对象时系统会调用类的构造函数。但在创建对象指针 p 时,不调用类的构造函数,因为指针

    42、p 本身不定义类对象,而是定义了 p 可以指向一个 MyClass 的对象。31.下述关于数据库系统的叙述中正确的是 A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型一致 D.数据库系统比文件系统能管理更多的数据 (分数:1.00)A.B. C.D.解析:解析:数据库系统的数据具有高共享性和低冗余性,但不能完全避免数据冗余;数据的一致性是指在系统中同一数据的不同出现应保持相同的值。32.以下正确的描述为 A. 每个 C+语言程序必须在开头用预处理命令: B. 预处理命令必须位于 C+源程序的首部 C. 在 C+语言中预处理命令都以“#”开头

    43、D. C+语言的预处理命令只能实现宏定义和条件编译的功能(分数:2.00)A.B.C. D.解析:解析 本题中,A 和 B 的描述是一样的,故可以捧除。在 C+中,建议用 inline 函数取代 C 语言中的宏定义功能。33.若要对 Date 类中重载的加法运算符成员函数进行声明,下列选项中正确的是U /U A.Data+( Data); B.Data operator+(Data); C.Data+operator(Data); D.operator+(Data.Data);(分数:2.50)A.B. C.D.解析:解析 重载运算符的函数一般格式如下: 函数类型 operator 运算符名称(形参列表),因此选B。34.在 C+中,数据封装要解决的问题是U /U。 A.数据的规范化 B.便于数据转换 C.避免数据丢失 D.防止不同模块之间数据的非法访问(分数:2.00)A.B.C.D. 解析:35.开发软件所需高成本和产品的低质量之间有着尖


    注意事项

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




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

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

    收起
    展开