【计算机类职业资格】二级C++-16-2及答案解析.doc
《【计算机类职业资格】二级C++-16-2及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-16-2及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
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 的用法,它可以运算出各种数据类型所占
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C162 答案 解析 DOC
