【计算机类职业资格】二级C++-184及答案解析.doc
《【计算机类职业资格】二级C++-184及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-184及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-184 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列选项中不符合良好程序设计风格的是_。(分数:2.50)A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 goto 语句D.模块设计要保证高耦合、高内聚2.从工程管理角度看,软件设计一般分为两步完成,它们是_。(分数:2.50)A.概要设计与详细设计B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据设计3.下列选项中不属于软件生命周期开发阶段任务的是_。(分数:2.50)A.软件测试B.概要设计C.软件维护D.详细设计4.在数据库系统中,用户所见
2、的数据模式为_。(分数:2.50)A.概念模式B.外模式C.内模式D.物理模式5.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和_。(分数:2.50)A.编码设计B.测试阶段C.运行阶段D.物理设计6.下列操作中正确的是_。 (分数:2.50)A.T=RSB.T=RSC.T=RSD.T=R/S7.下列描述中正确的是_。(分数:2.50)A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对8.在长度为 64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为_。(分数:
3、2.50)A.63B.64C.6D.79.数据库技术的根本目标是要解决数据的_。(分数:2.50)A.存储问题B.共享问题C.安全问题D.保护问题10.对下列二叉树进行中序遍历的结果是_。 (分数:2.50)A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG11.下列有关内联函数的叙述中,正确的是_。(分数:2.50)A.内联函数在调用时发生控制转移B.内联函数必须通过关键字 inline 来定义C.内联函数是通过编译器来实现的D.内联函数函数体的最后一条语句必须是 return 语句12.下列情况中,不会调用拷贝构造函数的是_。(分数:2.50)A.用一个对象去初始化同
4、一类的另一个新对象时B.将类的一个对象赋值给该类的另一个对象时C.函数的形参是类的对象,调用函数进行形参和实参结合时D.函数的返回值是类的对象,函数执行返回调用时13.下列有关继承和派生的叙述中,正确的是_。(分数:2.50)A.如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员B.派生类的成员函数可以访问基类的所有成员C.基类对象可以赋值给派生类对象D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类14.下列运算符不能重载为友元函数的是_。(分数:2.50)A.= () -B.+ - +- -C. = =D.+= -= *= /=15.关于在调用模板函数时模板实
5、参的使用,下列表述正确的是_。(分数:2.50)A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略B.对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略C.对于虚拟类型参数所对应的模板实参,若能够省略则必须省略D.对于常规参数所对应的模板实参,任何情况下都不能省略16.下列关于输入流类成员函数 getline()的描述中,错误的是_。(分数:2.50)A.该函数是用来读取键盘输入的字符串的B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符便停止D.该函数读取字符串时,可以包含空格17.下列符号中,正确
6、的 C+标识符是_。(分数:2.50)A.enumB.2bC.foo-9D._3218.下列语句中,错误的是_。(分数:2.50)A.const int buffer=256;B.const double *point;C.int const buffer=256;D.double * const point;19.if 语句的语法格式可描述为:格式 1:if(条件)语句或格式 2:if(条件)语句1else语句 2关于上面的语法格式,下列表述中错误的是_。(分数:2.50)A.条件部分可以是一个 if 语句,例如 if(if(a=0) ) B.语句部分可以是一个 if 语句,例如 if()i
7、f() C.如果在条件前加上逻辑非运算符!并交换语句 1和语句 2的位置,语句功能不变D.语句部分可以是一个循环语句,例如 if()while() 20.有如下说明:int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, *p=a; 则数值为 9 的表达式是_。(分数:2.50)A.*p+9B.*(p+8)C.*p+=9D.p+821.若有下面的函数调用:fun(a+b, 3, max(n-1, b),则 fun 的实参个数是_。(分数:2.50)A.3B.4C.5D.622.以下关键字不能用来声明类的访问权限的是_。(分数:2.50)A.publicB.staticC.
8、protectedD.private23.在公有继承的情况下,允许派生类直接访问的基类成员包括_。(分数:2.50)A.公有成员B.公有成员和保护成员C.公有成员、保护成员和私有成员D.保护成员24.关于运算符重载,下列表述中正确的是_。(分数:2.50)A.C+已有的任何运算符都可以重载B.运算符函数的返回类型不能声明为基本数据类型C.在类型转换符函数的定义中不需要声明返回类型D.可以通过运算符重载来创建 C+中原来没有的运算符25.关于关键字 class 和 typename,下列表述中正确的是_。(分数:2.50)A.程序中的 typename 都可以替换为 classB.程序中的 cl
9、ass 都可以替换为 typenameC.在模板形参表中只能用 typename 来声明参数的类型D.在模板形参表中只能用 class 或 typename 来声明参数的类型26.有如下程序: #includeiostream #includeiomanip using namespace std; int main() coutsetprecision(3)fixed setfill(“*“)setw(8); cout12.345_34.567; return 0; 若程序的输出是: *12.345*34.567 则程序中下画线处遗漏的操作符是_。(分数:2.50)A.setprecisio
10、n(3)B.fixedC.setfill(“*“)D.setw(8)27.有如下程序: #includeiostream #includeiomanip using namespace std; class MyClass public: MyClass()cout“A“; MyClass(char c)coutc; MyClass()cout“B“; ; int main() MyClass p1, *p2; p2=new MyClass(“X“); delete p2; return 0; 执行这个程序屏幕上将显示输出_。(分数:2.50)A.ABXB.ABXBC.AXBD.AXBB28.
11、有如下程序: #includeiostream using namespace std; int i=1; class Fun public: static int i; int value()return i-1; int value()constreturn i+1; ; int Fun:i=2; int main() int i=3; Fun fun1; const Fun fun2; _ return 0; 若程序的输出结果是: 123 则程序中下画线处遗漏的语句是_。(分数:2.50)A.coutfun1.value()Fun:ifun2.value();B.coutFun:ifun
12、1.value()fun2.value();C.coutfun1.value()fun2.value()Fun:i;D.coutfun2.value()Fun:ifun1.value();29.有如下程序: #includeiostream using namespace std; class Obj( static int i; public: Obj()i+; Obj()i-; static int getVal()return i; ; int Obj:i=0; void f()Obj ob2; coutob2.getVal(); int main() Obj ob1; f(); Obj
13、*ob3=new Obj; coutob3-getVal(); delete ob3; coutObj:getVal(); return 0; 程序的输出结果是_。(分数:2.50)A.232B.231C.222D.22130.有如下程序: #includeiostream using namespace std; class Base protected: Base()cout“A“; Base(char c)coutc; ; class Derived:public Base public: Derived(char c)coutc; ; int main() Derived d1(“B“
14、); return 0; 执行这个程序屏幕上将显示输出_。(分数:2.50)ABB.BAC.ABD.BB31.有如下类定义: class MyBase int k; public: MyBase(int n=0):k(n) int value()constreturn k; ; class MyDerived:MyBase int j; public: MyDerived(int i):j(i) int getK()constreturn k; int getJ()constreturn j; ; 编译时发现有一处语法错误,对这个错误最准确的描述是_。(分数:2.50)A.函数 getK 试图
15、访问基类的私有成员变量 kB.在类 MyDerived 的定义中,基类名 MyBase 前缺少关键字 public、protected 或 privateC.类 MyDerived 缺少一个无参的构造函数D.类 MyDerived 的构造函数没有对基类数据成员 k 进行初始化32.在一个派生类对象结束其生命周期时_。(分数:2.50)A.先调用派生类的析构函数后调用基类的析构函数B.先调用基类的析构函数后调用派生类的析构函数C.如果基类没有定义析构函数,则只调用派生类的析构函数D.如果派生类没有定义析构函数,则只调用基类的析构函数33.有如下的运算符重载函数定义: double operato
16、r+(int i, int k)return double(i+k); 但定义有错误,对这个错误最准确的描述是(分数:2.50)A.+只能作为成员函数重载,而这里的+是作为非成员函数重载的B.两个 int 型参数的和也应该是 int 型,而这里将+的返回类型声明为 doubleC.没有将运算符重载函数声明为某个类的友元D.C+已经提供了求两个 int 型数据之和的运算符+,不能再定义同样的运算符34.语句“ofstream f(“SALARY.DAT“, ios_base:app);”的功能是建立流对象 f,并试图打开文件SALARY.DAT 与 f 关联,而且_。(分数:2.50)A.若文件
17、存在,将其置为空文件;若文件不存在,打开失败B.若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件C.若文件存在,将文件指针定位于文件首;若文件不存在,打开失败D.若文件存在,打开失败;若文件不存在,建立一个新文件35.有如下程序: #includeiostream using namespace std; class A public: virtual void funcl()cout“A1“; void func2()cout“A2“; ; class B:public A public: void func1()cout“B1“; void func2()cout“B2“;
18、 ; int main() A *p=new B; p-func1(); p-func2(); return 0; 运行此程序,屏幕上将显示输出_。(分数:2.50)A.B182B.A1A2C.B1A2D.A18236.有以下程序: #includeiostream using namespace std; int main() int *p, b; b=3; p= p=p+1; cout*pendl; return 0; 上述程序运行后输出的结果是_。(分数:2.50)A.不确定B.2C.3D.537.下列关于 C+函数的叙述中,正确的是_。(分数:2.50)A.每个函数至少要具有一个参数B
19、.每个函数都必须返回一个值C.函数在被调用之前必须声明D.函数不能自己调用自己38.下列关于 C+函数的说明中,正确的是_。(分数:2.50)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return 语句C.标准 C+要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式39.有如下程序: #includeiostream void fun(int x=y; y=t; int main() int a2=23, 42; fun(al, a0); std:couta0“, “a1std:endl; return 0
20、; 执行后的输出结果是_。(分数:2.50)A.42, 42;B.23, 23;C.23, 42;D.42, 23;40.有如下程序: #includeiostream using namespace std; int main() void function(double val); double val; function(val); coutval; return 0; void function(double val) val=3; 编译运行程序将会出现的情况是_。(分数:2.50)A.编译出错,无法运行B.输出 3C.输出 3.0D.输出一个不确定的数二级 C+-184 答案解析(总
21、分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列选项中不符合良好程序设计风格的是_。(分数:2.50)A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 goto 语句D.模块设计要保证高耦合、高内聚 解析:解析 良好的程序设计风格可以使程序结构清晰合理,使程序代码便于维护,因此,程序设计风格对保证程序的质量很重要。主要应注意和考虑下述一些因素:(1)源程序要文档化;(2)数据说明的次序要规范化;(3)语句的结构应该简单直接,不应该为提高效率而把语句复杂化,避免滥用 goto 语句。模块设计要保证低耦合、高内聚。2.从工程管理角度看,软件设计
22、一般分为两步完成,它们是_。(分数:2.50)A.概要设计与详细设计 B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据设计解析:解析 从工程管理角度看,软件设计分为两步完成:概要设计与详细设计。概要设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。3.下列选项中不属于软件生命周期开发阶段任务的是_。(分数:2.50)A.软件测试B.概要设计C.软件维护 D.详细设计解析:解析 软件生命周期分为软件定义、软件开发及软件维护。其中软件开发阶段的任务中软件设计
23、阶段可分解成概要设计阶段和详细设计阶段;软件维护不属于软件开发阶段。4.在数据库系统中,用户所见的数据模式为_。(分数:2.50)A.概念模式B.外模式 C.内模式D.物理模式解析:解析 概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图,它主要描述数据的记录类型及数据间关系,还包括数据间的语义关系等。数据库管理系统的三级模式结构由外模式、模式、内模式组成。数据库的外模式也称为用户级数据库,是用户所看到和理解的数据库,是从概念模式导出的子模式,用户可以通过子模式描述语言来描述用户级数据库的记录,还可以利用数据语言对这些记录进行操作。内模式,或称存储模式或物理模式,是指
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C184 答案 解析 DOC
