【计算机类职业资格】二级C++笔试-163及答案解析.doc
《【计算机类职业资格】二级C++笔试-163及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-163及答案解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-163 及答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列关于类和对象的叙述中,错误的是(分数:2.00)A.一个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系2.在软件设计中,不属于过程设计工具的是(分数:2.00)A.PDL(过程设计语言)B.PAD图C.N-s图D.DFD图3.数据的存储结构是指(分数:2.00)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构中计算机中的表示4.如下程序的输出结果是 #incl
2、udeiostream using namespace std; class A public: A( )cout“A“; ; class Bpublic:B( )cout“B“; class C:public A B b; public: C( )cout“C“; ; int main( )C obj;return 0;(分数:2.00)A.CBAB.BACC.ACBD.ABC5.下列关于 C+流的叙述中,正确的是(分数:2.00)A.cin是一个输入流对象B.可以用 ifstream定义一个输出流对象C.执行语句序列 char*y=“PQMNIt“;couty;将输出字符串“PQMN“的地
3、址D.执行语句序列 char x80;cingetllne(x,80);时,若输入 Happyr new year 则 x中的字符串是“HaPPy“。6.下列对于线性链表的描述中正确的是(分数:2.00)A.存储空间不一定是连续的,且各元素的存储顺序是任意的B.存储空间不一定是连续的,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的7.已知枚举类型定义语句为: enunl Token NAME,NUMBER,PLUS=5,MINUS,PRINT=10 ; 则下列叙述中错误的是(分数:2.00)A.枚举常量
4、 NAME的值为 1B.枚举常量 NuMBER的值为 1C.枚举常量 MINus的值为 6D.枚举常量 PRINT的值为 108.如下程序的输出结果是 #includeiostream using namespaee std; int main( ) eout.fill(*); eout.width(6); cout.fill(#): eout(123endl: return 0; (分数:2.00)A.#123B.123#C.*123D.123*9.要定义一个具有 5个元素的一维数组 veer,并使其各元素的初值依次是 30、50、-88、0 和 0,则下列定义语句中错误的是(分数:2.00
5、)_10.对长度为 n的线性表进行顺序查找,在最坏情况下所需要的比较次数为(分数:2.00)A.log2nB.n/2C.nD.n+111.有如下类声明: class XA int x; public: XA(int U)x=n; ; class XB:public XA int y; public: XB(int a,int B) ; ; 在构造函数 XB的下列定义中,正确的是(分数:2.00)A.XB:XB(int a,intB.:x(A) ,y(B) B) XB:xB(int a,intB) :XA(A) ,y(B)C.XB:XB(int a,D.XB:XB(i12.下列关于模板的叙述中,
6、错误的是(分数:2.00)A.模板声明中的第一个符号总是关键字 templateB.在模板声明中用“”和“”括起来的部分是模板的形参表C.类模板不能有数据成员D.在一定条件下函数模板的实参可以省略13.有如下函数模板定义: templateclass T T func(T x,T y)return x*x+y*y; 在下列对 func的调用中,错误的是(分数:2.00)A.func(3,5);B.func(30,55);C.func(3,55);D.funeint(3,55);14.下列关于 this指针的叙述中,正确的是(分数:2.00)A.任何与类相关的函数都有 this指针B.类的成员函
7、数都有 this指针C.类的友元函数都有 this指针D.类的非静态成员函数才有 this指针15.如下程序的输出结果是 #includeiostream void fun(int X,inty)intt=x;x=y;y=t; int main( ) int a2=23,42; fun(a1,a0); std:couta0“,“a1std:endl; return 0; (分数:2.00)A.42,42B.23,23C.23,42D.42,2316.有如下类声明: class Fooint bar; 则 Foo类的成员 bar是(分数:2.00)A.公有数据成员B.公有成员函数C.私有数据成员
8、D.私有成员函数17.有如下类声明: class MyBASE int k; public: void set(int n)k=n; int get( )constreturn k; ; class MyDERIVED:protected MyBASE protected: intj; public: void set(int m,int n)MyBASE:set(m);j=n; int get( )constreturn MyBASE:get( )+j; ; 则类 MyDERIVED中保护的数据成员和成员函数的个数是(分数:2.00)A.4B.3C.2D.118.对于长度为 n的线性表,在最
9、坏情况下,下列各排序法所对应的比较次数中正确的是(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/219.有如下程序: #includeiostream using namespace std; class BASE public: BASE( )cout“BASE“; ; class DERIVED:public BASE public: DERIVED( )cout“DERIVED“; ; int main( )DERIVED x;return 0; 程序的输出结果是(分数:2.00)A.BASEB.DERIVEDC.BASEDERI
10、VEDD.DERIVEDBASE20.下列关于运算符重载的叙述中,正确的是(分数:2.00)_21.下列关于 C+函数的叙述中,正确的是(分数:2.00)A.每个函数至少要具有一个参数B.每个函数都必须返回一个值C.函数在被调用之前必须先声明D.函数不能自己调用自己22.在 C+中,用于实现运行时多态性的是(分数:2.00)A.内联函数B.重载函数C.模板函数D.虚函数23.下列叙述中正确的是(分数:2.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期便结束D.软件维护是指修复程序中被破坏的指令24.在下列函数原型中,可以作为类 AA构造
11、函数的是(分数:2.00)A.void AA(int);B.int AA( );C.AA(int)eonst;D.AA(int);25.执行语句序列 inti=0;while(i25)i+=3;couti; 输出结果是(分数:2.00)_26.设有如下关系表: (分数:2.00)A.B.C.D.27.对于语句 coutendlx;中的各个组成部分,下列叙述中错误的是(分数:2.00)A.“cout”是一个输出流对象B.“endl”的作用是输出回车换行C.“x”是一个变量D.“”称作提取运算符28.已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下
12、列关于这个函数的叙述中,错误的是(分数:2.00)A.这是运算符一的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值29.如下程序的输出结果是 #includeiostream using namespace std; class Test public: Test( )n+=2; Test( )n-=3; static int getNum( )return n; private: static int n; ; int Test:n=1; int main( ) Test*P=new Test: delete P; cout
13、“n=“Test:getNum( )endl; return 0; (分数:2.00)A.n=0B.n=1C.n=2D.n=330.下列关于栈的描述中错误的是(分数:2.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针31.有如下程序: #includeiostream using name。pace std; class AA int n: public: AA(int k):n(k) in get( )return n; int get( )constreturn n+1; ; int main( ) AA a(5); con
14、st AA b(6); coutaget( )bget( ); return 0: 执行后的输出结果是(分数:2.00)A.55B.57C.75D.7732.在表达式 x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是(分数:2.00)A.operator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数D.operator+有一个参数,operator*有一个参数33.下列字符串中,正确的 C+标识符是(分数:2.00)A.foo-1
15、B.2bC.newD._25634.数据库系统的核心是(分数:2.00)A.数据模型B.数据库管理系统C.数据库D.数据库管理员35.数据库设计的根本目标是要解决(分数:2.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护二、填空题(总题数:14,分数:28.00)36.数据管理技术发展过程经过了人工管理、文件系统和数据库系统 3个阶段,其中数据独立性最高的阶段是 1。(分数:2.00)填空项 1:_37.算法复杂度主要包括时间复杂度和 1 复杂度。(分数:2.00)填空项 1:_38.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块
16、)。其中 1的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_39.一棵二叉树第 6层(根结点为第 1层)的结点数最多为 1 个。(分数:2.00)填空项 1:_40.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_41.下列函数的功能是判断字符串 str是否对称,对称则返回 true,否则返回 false。请在画线处填上适当内容,实现该函数。 bool fun(char*str) int i:0,j=0; while(strj) (6) ; for(J-;ij 在构造函数 XB的下列定义中,正确的是(分
17、数:2.00)A.XB:XB(int a,intB.:x(A) ,y(B) B) XB:xB(int a,intB) :XA(A) ,y(B) C.XB:XB(int a,D.XB:XB(i解析:解析 在派生类的构造函数声明中,一般格式为: 派生类名(参数总表):基类名(参数总表),对象成员名(参数表) XB继承 XA,基类 XA的构造函数带有参数,所以必须给 XA的构造函数的形参赋值,同时也可以为数据成员 Y赋值。12.下列关于模板的叙述中,错误的是(分数:2.00)A.模板声明中的第一个符号总是关键字 templateB.在模板声明中用“”和“”括起来的部分是模板的形参表C.类模板不能有数
18、据成员 D.在一定条件下函数模板的实参可以省略解析:解析 模板定义 template模板参数表 类声明(函数定义) 必须以 template为开头,括起来部分是模板的类型参数,类模板有数据成员和成员函数。13.有如下函数模板定义: templateclass T T func(T x,T y)return x*x+y*y; 在下列对 func的调用中,错误的是(分数:2.00)A.func(3,5);B.func(30,55);C.func(3,55); D.funeint(3,55);解析:解析 在模板函数调用中,当没有类型参数时,要求函数调用的实参必须类型相同,如果实参类型不相同,则必须有
19、类型参数加以强制转换,否则编译会报错。14.下列关于 this指针的叙述中,正确的是(分数:2.00)A.任何与类相关的函数都有 this指针B.类的成员函数都有 this指针C.类的友元函数都有 this指针D.类的非静态成员函数才有 this指针 解析:解析 类的静态成员函数和友元函数都不能有 this指针,只有非静态成员函数和友元函数才能有this指针。故答案为 D。15.如下程序的输出结果是 #includeiostream void fun(int X,inty)intt=x;x=y;y=t; int main( ) int a2=23,42; fun(a1,a0); std:cou
20、ta0“,“a1std:endl; return 0; (分数:2.00)A.42,42B.23,23 C.23,42D.42,23解析:解析 参数 X是引用传递,传递的是地址:参数 Y是值传递,函数 fun( )是做 X与 Y值交换,交换后 X的值要被回传给 a1,此时 a1=a0=23。16.有如下类声明: class Fooint bar; 则 Foo类的成员 bar是(分数:2.00)A.公有数据成员B.公有成员函数C.私有数据成员 D.私有成员函数解析:解析 在数据成员定义时,如果没有 protected等限定符,则自动被默认为私有数据成员。17.有如下类声明: class MyBA
21、SE int k; public: void set(int n)k=n; int get( )constreturn k; ; class MyDERIVED:protected MyBASE protected: intj; public: void set(int m,int n)MyBASE:set(m);j=n; int get( )constreturn MyBASE:get( )+j; ; 则类 MyDERIVED中保护的数据成员和成员函数的个数是(分数:2.00)A.4B.3 C.2D.1解析:解析 在保护派生的单继承中,基类的公有数据成员和成员函数在派生类中成为保护成员。18
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 163 答案 解析 DOC
