【计算机类职业资格】二级C++-226及答案解析.doc
《【计算机类职业资格】二级C++-226及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-226及答案解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-226 及答案解析(总分:67.50,做题时间:90 分钟)一、选择题(总题数:38,分数:67.50)1.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是_。(分数:1.00)A.-对一B.一对多C.多对多D.多对一2.有如下类定义: class Animal public: virtual void Name()=0; ; class Koala:public Animal public: void Name()/*函数体略*/ ; 关于上述类定义,下列描述中错误的是_。(分数:2.50)A.类 Koala 是类 Animal
2、的派生类B.类 Koala 中的 Name 函数是一个虚函数C.类 Animal 中的 Name 函数是一个纯虚函数D.语句“Animal a;”能够建立类 Animal 的一个对象 a3.在公有继承的情况下,允许派生类直接访问的基类成员包括_。(分数:1.00)A.公有成员B.公有成员和保护成员C.公有成员、保护成员和私有成员D.保护成员4.建立派生类对象时,3 种构造函数分别是 a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这 3 种构造函数的调用顺序为(分数:1.00)A.abcB.acbC.cabD.cba5.设有关键码序列(66,13,51,76,81,26,
3、57,69,23),要按关键码值递增的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为_。(分数:2.50)A.23,13,51,57,66,26,81,69,76B.13,23,26,51,57,66,81,76,69C.23,13,51,57,26,66,81,69,76D.23,13,51,57,81,26,66,69,766.数据库管理系统中负责数据模式定义的语言是 _ 。(分数:2.00)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言7.有以下定义,则此数组的元素中不正确的一个赋值结果是 _。 static int a10=1,2,3
4、,4,5;(分数:2.00)A.a10=2B.a0=1C.a3=4D.a7=08.下面是类 Shape 的定义: class Shape public: virtual void Draw()=0; ; 下列关于 Shape 类的描述中,正确的是_。(分数:2.50)A.类 Shape 是虚基类B.类 Shape 是抽象类C.类 Shape 中的 Draw 函数声明有误D.语句“Shape s;”能够建立 Shape 的一个对象 s9.若有下面的函数调用: fun(a+b,3,max(n-1,b) 则 fun 的实参个数是_。(分数:1.00)A.3B.4C.5D.610.如下函数模板: te
5、mplateclass TT square(T x)return x*x; 其中,T 是_。(分数:2.50)A.函数形参B.函数实参C.模板形参D.模板实参11.下列叙述中正确的是(分数:2.00)A.软件测试的主要目的是确定程序中错误的位置B.软件调试的主要目的是发现程序中错误的类型C.程序经调试后还应进行测试D.软件的测试与调试工,作最好都由程序编制者来完成12.有如下类定义: class Sample public; Sample(int x):ref(x) / private: Sample():ref(0) / static int val=5; / constint ref; /
6、 ; 上述程序段中,错误的语句是_。(分数:2.00)A.B.C.D.13.在下列原型所示的 C+函数中,按“传值”方式传递参数的是_。(分数:2.00)A.void f1(int x);B.void f2(int*x);C.void f3(const int*x);D.void f4(int14.下列叙述中错误的是_。(分数:1.00)A.gets 函数用于从终端读入字符串B.getchar 函数用于从磁盘文件读入字符C.fputs 函数用于把字符串输出到文件D.fwrite 函数用于以二进制形式输出数据到文件15.计算斐波那契数列第 n 项的函数定义如下: int fib(int n) i
7、f(n=0)return 1; else if(n=1)return 2; else return fib(n-1)+fib(n-2); 若执行函数调用表达式 fib(2),函数 fib 被调用的次数是_。(分数:2.50)A.1B.2C.3D.416.为了提高函数调用的实际运行速度,可以将较简单的函数定义为_。(分数:1.00)A.内联函数B.重载函数C.递归函数D.函数模板17.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假设根结点在第 1 层) _ 。(分数:2.00)A.3B.4C.6D.718.关于运算符重载,下列表述中正确的是_。(分数:2.00)A.C
8、+已有的任何运算符都可以重载B.运算符函数的返回类型不能声明为基本数据类型C.在类型转换符函数的定义中不需要声明返回类型D.可以通过运算符重载来创建 C+中原来没有的运算符19.下列关于输入流类成员函数 getline()的描述中,错误的是_。(分数:2.00)A.该函数是用来读取键盘输入的字符串的B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符便停止D.该函数读取字符串时,可以包含空格20.与语句“coutendl;”不等价的是_。(分数:2.50)A.cout“n“B.cout“/12“C.cout“/xA“D.cout“/0“21.若已定义过类 A 和 B,并且定义
9、类 C 如下: class C public: int val; A aObj; B bObj; C*cObj; C(): cObj(0), val(0) ; 若要建立类 C 的对象 object,则类成员 val、aObj、bObj 和 cObj 中最后被初始化的是_。(分数:1.00)A.valB.aObjC.bObjD.cObj22.在数据库系统中,把具有以下特征中之 _ 两个特征的数据模型称为网状模型。(分数:2.00)A.允许有一个以上的结点没有双亲B.有且仅有一个结点无双亲C.根以外的结点有且仅有一个双亲D.一个结点可以有多个双亲23.下面关于 break 语句的描述中,不正确的是
10、_。(分数:1.00)A.break 可以用于循环体内B.break 语句可以在 for 循环语句中出现多次C.break 语句可以在 switch 语句中出现多次D.break 语句可用于 if 条件判断语句内24.有如下程序: #includeiostream using namespace std; class B public: B(int xx):x(xx)+count;x+=10; virtual void show()const coutcount“_“xendl; protected: static int count; private: int x; ; class D:pu
11、blic B public: D(int xx,int yy):B(xx),y(yy)+count;y+=100; virtual void show()const coutcount“_“yendl; private: int y; ; int B:count=0; int main() B *ptr=new D(10,20); ptr-show(); delete ptr; return 0; 运行时的输出结果是_。(分数:2.00)A.1_120B.2_120C.1_20D.2_2025.下列程序将 x、y 和 z 按从小到大的顺序排列,横线处应添加语句 _ 。 templateclas
12、s T void fun (_) T a; if(xy) a=x;x=y;y=a; if(yz) a=y;y=z;z=a; if(xy) a=x;x=y;y=a; (分数:2.00)A.Tx,Ty,TzB.Tx;y;zC.T class D:public B protected: void fun4() ; 若 obj 是类 D 的对象,则下列语句中不违反访问控制权限的是_。(分数:1.00)A.obj.fun1();B.obj.fun2();C.obj.fun3();D.obj.fun4();29.若执行语句:coutsetfill(“*“)setw(10)123“OK“endl 后将输出
13、_ 。(分数:2.00)A.*1230KB.123*OKC.*123*OKD.123*OK*30.程序段“int x=12; double y=3.141593; printf(“%d%8.6“f“,x,y);”的输出结果是_。(分数:2.50)A.123.141593B.12 3.141593C.12,3.141593D.123.141593031.下列选项中合法的用户标识符是 _ 。(分数:2.00)A.10ngB.2TestC.3DmaxD.dat32.有如下程序: #includeiostream using namespace std; class Pair int m; int n
14、; public: Pair(int i,int j):m(i),n(j) bool operator(Pair P)const; /须在类体外给出定义 ; int main() Pair p1(3,4),p2(4,3),p3(4,5); cout(p1p2)(p2p1)(p2p3)(p3p2); return 0; 运算符函数。perator的功能是比较两个 Pair 对象的大小,当左边对象大时,返回 true,否则返回false。比较规则是首先比较两对象的 m 成员,m 大者为大:当 m 相等时比较 n,n 大者为大。程序输出0101,下列对运算符重载函数的正确定义是_。(分数:2.00)
15、A.bool Pair:operator(Pair p)constif(m!=p.m)return mp.m;return np.n;B.bool Pair:operator(Pair P)if(m!=p.m)return mp.m;return np.n;C.bool Pair:operator(Pair p)constif(mp.m)return true;return np.n;D.bool Pair:operator(Pair P)if(mp.m)return true;return np.n;33.有如下程序: #includeiostream using namespace std
16、; class CD public: CD()cout“C“;) private: char name80; ; int main()CD a,*b,d2;return 0; 运行时的输出结果是_。(分数:2.00)A.CCCCB.CCCC.CCDC34.以下各选项中, _ 中都是 C+语言保留字。(分数:1.00)A.cout,operator,thisB.short,string,staticC.if,while,=D.private,public,printf35.下列不属于 C+规定的类继承方式的是(分数:2.50)A.protectiveB.privateC.protectedD.p
17、ublic36.在下列链表中,能够从任意一个结点出发直接访问到所有结点的是_。(分数:2.50)A.单链表B.循环链表C.双向链表D.二叉链表37.数据库系统的三级模式不包括_。(分数:1.00)A.概念模式B.内模式C.外模式D.数据模式38.有如下程序: #includeiostream 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“); de
18、lete p2; return 0; 执行这个程序的输出结果是_。(分数:1.00)A.ABXB.ABXBC.AXBD.AXBB二级 C+-226 答案解析(总分:67.50,做题时间:90 分钟)一、选择题(总题数:38,分数:67.50)1.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是_。(分数:1.00)A.-对一B.一对多C.多对多 D.多对一解析:解析 因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。2.有如下类定义: class Animal public: virtual void
19、 Name()=0; ; class Koala:public Animal public: void Name()/*函数体略*/ ; 关于上述类定义,下列描述中错误的是_。(分数:2.50)A.类 Koala 是类 Animal 的派生类B.类 Koala 中的 Name 函数是一个虚函数C.类 Animal 中的 Name 函数是一个纯虚函数D.语句“Animal a;”能够建立类 Animal 的一个对象 a 解析:3.在公有继承的情况下,允许派生类直接访问的基类成员包括_。(分数:1.00)A.公有成员B.公有成员和保护成员 C.公有成员、保护成员和私有成员D.保护成员解析:解析 本
20、题考查公用继承对基类成员的访问属性。在公用继承中,基类的公用成员和保护成员在派生类中保持原有的访问属性,其私有成员仍为基类私有。所以本题答案为 B。4.建立派生类对象时,3 种构造函数分别是 a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这 3 种构造函数的调用顺序为(分数:1.00)A.abc B.acbC.cabD.cba解析:解析 本题考查的是在继承中派生类的对象调用构造函数的顺序,应该是先调用基类的构造函数,然后是成员中的对象对应类的构造函数,最后是派生类自己的构造函数。5.设有关键码序列(66,13,51,76,81,26,57,69,23),要按关键码值递增
21、的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为_。(分数:2.50)A.23,13,51,57,66,26,81,69,76 B.13,23,26,51,57,66,81,76,69C.23,13,51,57,26,66,81,69,76D.23,13,51,57,81,26,66,69,76解析:解析 快速排序是起泡排序的改进。在快速排序中,任取一个记录,以它为基准用交换的方法将所有的记录分成两部分,关键码值比它小的在一部分,关键码值比它大的在另一部分,再分别对两个部分实施上述过程,一直重复到排序完成。6.数据库管理系统中负责数据模式定义的语言是 _ 。(
22、分数:2.00)A.数据定义语言 B.数据管理语言C.数据操纵语言D.数据控制语言解析:7.有以下定义,则此数组的元素中不正确的一个赋值结果是 _。 static int a10=1,2,3,4,5;(分数:2.00)A.a10=2 B.a0=1C.a3=4D.a7=0解析:8.下面是类 Shape 的定义: class Shape public: virtual void Draw()=0; ; 下列关于 Shape 类的描述中,正确的是_。(分数:2.50)A.类 Shape 是虚基类B.类 Shape 是抽象类 C.类 Shape 中的 Draw 函数声明有误D.语句“Shape s;”
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C226 答案 解析 DOC
