【计算机类职业资格】二级C++-205及答案解析.doc
《【计算机类职业资格】二级C++-205及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-205及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-205 及答案解析(总分:89.00,做题时间:90 分钟)一、选择题(总题数:35,分数:63.00)1.在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是(分数:2.00)A.后缀一元运算符B.前缀一元运算符C.无操作数的运算符D.二元运算符2.具有 3 个结点的二叉树有(分数:1.00)A.2 种形态B.4 种形态C.7 种形态D.5 种形态3.类模板的使用实际上是将类模板实例化成一个具体的 _ 。(分数:2.00)A类B.对象C.函数D.模板类4.有如下程序: #includeiostream using namespace std; class Poi
2、nt int x,y; public: Point(int x1=0,int y1=0):x(x1),y(y1) int get()return x+y; ; class Circle Point center; int radius; public: Circle(int cx,int cy,int r):center(cx,cy),radius(r) int get()return center.get()+radius; ; int main() Circle c(3,4,5); coutc.get()endl; return 0; 运行时的输出结果是_。(分数:1.00)A.5B.7C
3、.9D.125.有如下程序: #includeiostream using namespace std; class Base public: Base()cout“B“; Base()cout“b“; ; class Derived:public Base public: Derived()cout“D“; Derived()cout“d“; ; int main() Derived obj; return 0; 运行这个程序的输出是_。(分数:2.50)A.BDbdB.BDdbC.DBbdD.DBdb6.已知枚举类型定义语句为: enum Token NAME, NUMBER, PLUS=
4、5, MINUS, PRINT=10;则下列说法中错误的是_。(分数:2.50)A.枚举常量 NAME 的值为 1B.枚举常量 NUMBER 的值为 1C.枚举常量 MINUS 的值为 6D.枚举常量 PRINT 的值为 107.结构化程序设计的三种基本结构是_。(分数:1.00)A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移8.下列关于重载函数的调用时选择的依据中,错误的是 _ 。(分数:2.00)A.根据函数参数个数不同B.根据函数参数类型不同C.根据函数名字不同D.根据函数的返回值不同9.下列语句中,正确的是_。(分数:1.00)A.char str
5、=“abcde“;B.char*str=“abcde“;C.char str5=“abcde“;D.char*str5=“abcde“;10.有下列程序: #include stdio.h #define PT 3.5; #define S(x) PT*x*x; votd main() int a=1;b=2; prinif(“%4.If/n“,S(a+b); 程序运行后的输出结果是_。(分数:2.50)A.14.OB.31.5C.7.5D.程序有错,无输出结果11.已知类 CC 以成员函数方式重载了二元运算符*,c1 和 c2 是 CC 类的两个对象,则下列对该运算符的调用中错误的是(分数:
6、2.50)A.c1*c2;B.c1.operator*(c2);C.operator*(c1,c2);D.c2.operator*(c1);12.有如下语句序列: char str10;cinstr; 当从键盘输入”I love this game”时,str 中的字符串是_。(分数:2.00)A.“I love this game“B.“I love thi“C.“I love“D.“I“13.有如下程序: #includeiomanip #includeiostream using namespace std; int main() coutsetfill(“*“)setw(6)12345
7、6; return 0; 运行时的输出结果是 _ 。(分数:2.00)A.*123*456B.*123456*C.*123456D.12345614.有类定义如下: class Type public: Type(int i=0); Type operator-(int); friend Type operator+(Type,Type); private: int val: 若有对象定义“Type c1;”,则下列语句序列中,错误的是_。(分数:2.00)A.Type(3)+c1;B.c1+Type(3);C.3-c1;D.c1-3;15.如果表达式 y*x+中,“*”是作为成员函数重载的运
8、算符,“+”是作为友元函数重载的运算符,采用运算符函数调用格式时,该表达式应表示为_。(分数:3.00)A.operator+(0).operator*(y)B.operator*(x.operator+(0),y)C.operator*(operator+(x,0)D.operator*(operator+(x,0),y)16.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是_。(分数:1.00)A.公有类型B.私有类型C.保护类型D.友元类型17.下列对基类和派生类关系的描述中,错误的是 _ 。(分数:1.00)A.派生类是基类的具体化B.派生类是基类的
9、子集C.派生类是基类定义的延续D.派生类是基类的组合18.有下列程序: #include stdio.h void f(int*p,int*q); void main() int m=1,n=2,*r=m; f(r,n);printf(“%d,%d“,m,n); void f(int*p,int*q) p=p+1;*q=*q+1;) 程序运行后的输出结果是_。(分数:2.50)A.1,3B.2,3C.1,4D.1,219.关于 getline()函数的下列描述中, _ 是错误的。(分数:1.00)A.该函数是用来从键盘上读取字符串的B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇
10、到终止符时便停止D.该函数中所使用的终止符只能是换行符20.有如下程序: #includeiostream using namespace std; class Point int x,y; public: Point(int x1=0,int y1=0):x(x1),y(y1) int get()return x+y; ; class Circle Point center; int radius; public: Circle(int cx,int cy,int r):center(cx,cy),radius(r) int get()return center.get()+radius;
11、; int main() Circle c(3,4,5); coutc.get()endl; return 0; 运行时的输出结果是_。(分数:2.50)A.5B.7C.9D.1221.类模板的使用实际上是将类模板实例化成一个具体的_。(分数:1.00)A类B.对象C.函数D.模板类22.下列程序的运行结果是 _ 。 #includeiostream.h void fun(int *a, int *b) int *k; k=a; a=b; b=k; void main() int a=2OO4,b=9,*x= fun(x, y); couta“ “bend1;(分数:2.00)A.20049B
12、.92004C.00D.编译时出错23.关于二义性的描述错误的是 _ 。(分数:2.00)A.一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B.解决二义性可以用对成员名的限定法C.父类和子类中同时出现同名函数,也可能存在二义性D.一个子类是从两个父类派生出来的,而这两个父类只有一个共同的父类,对该父类成员进行访问时,可能出现二义性24.有如下程序: #includeiostream Using namespace std; Class MyClass Public: MyClass() cout“t“; MyClass(MyClassa) cout“#“; MyCla
13、ss() cout“; ; int main() MyClass a; MyClass b(a); Rcturn 0; 运行时的输出结果是_。(分数:1.00)A.*#B.#*C.*#D.#*25.执行以下程序时,输入一行字符串为“Thank you very much!”,程序的输出结果为_。 #includeiostream using namespace std; int main() char a100; cina; couta“/n“; return 0;(分数:2.00)ATB.ThankC.Thank you very much!D.Thank you26.对下列二叉树 (分数:
14、1.00)A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG27.执行下列语句段后,输出字符“*”的个数是_。 for(int i=50; i1; i-=2) cout“*“:(分数:1.00)A.24B.25C.26D.5028.对于模板定义关键字 class 和 typename 说法不正确的是_。(分数:2.50)A.程序中的 class 并不能都替换为 typenameB.class 和 typename 都可互相替换C.程序中的 typename 都能替换为 classD.程序中的部分 class 可以替换为 typename29.下列描述中,错误的是_。(分数
15、:2.00)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员D.保护继承时基类中的保护成员在派生类中仍是保护成员30.不能作为函数重载的判断依据的是 _ 。(分数:2.00)A.constB.返回类型C.参数个数D.参数类型31.下面程序的输出结果是 _ 。 #includeiostream #includestring using namespace std; void main() charp110,p210; strcpy(p1,“abc“); strcpy(p2,“ABC“);
16、charstr50=“xyz“; strcpy(str+2,strcat(p1,p2); coutstr; (分数:2.00)A.xyabcABCB.yzabcABCC.xyzabcABCD.zabcABC32.下列叙述中正确的是 _ 。(分数:2.00)A.线性链表的各元素在存储空间中的位置必须是连续的B.线性链表的头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的33.下列程序的执行结果为_。 #includeiostream. h vo
17、id main() int a=3, b=0; int*P= b=+a+; cout*P“,“bendl;(分数:1.00)A.3, 4B.4, 3C.3, 4D.4, 434.有以下类定义 class MyClass private: int id; char gender, char*phone; public: MyClass():id(0),gender(“#“),phone(NULL) MyClass(int no,char ge=“#“,char*ph=NUl1.) id=no;gende=ge;phone=ph; ; 下列类对象定义语句中错误的是_。(分数:2.50)A.MyCl
18、ass myObj;B.MyClass myObj(11,“13301111155“);C.MyClass myObj(12,“m“);D.MyClass myObj(12);35.下列关于类和对象的叙述中,错误的是 _ 。(分数:2.00)A.一个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系二、填空题(总题数:15,分数:26.00)36.作为成员函数重载的运算符,第一操作数就是参数表中隐含的 1 所指向的对象,因此并不显示地出现在参数表中。 (分数:1.00)37.下面程序的运行结果为 【10】 。 # include ios
19、treamh void fun(int x=0,int y=0) cout X y; void main( ) fun(5); (分数:1.00)38.有如下程序: #include iostream using namespace std; templatetypename T T total(T * data) T s=0; while(*data)s+=*data+; return s; int main() int x=2,4,6,8,0,12,14,16,18; couttotal(x); return 0; 执行上面程序的输出是 1。 (分数:2.50)39.C+语言的基本控制结构
20、为顺序结构、选择结构和 _ 1_ 。 (分数:1.00)40.下列程序的运行结果为 1。 #includeiostream.h void main( ) int i; for(i=1;i6;i+)if(i=3)break; cout“i=“iendl; (分数:2.00)41.以下程序的执行结果是 _ 1_ 。 #includeiostream. h class Sample public: int x: int y; void disp() cout“x=“x“,y=“yend1; ; void main() int Sample: * pc; Sample s; pc= s.*pc=10;
21、 pc:= s.*pc=20; s.disp(); (分数:2.00)42.表达式 operator+(x,int)还可以表示为 1。 (分数:2.00)43.请在下列程序中的横线处填写正确的语句。 #includeiostream using namespace std; class Base public: void fun()cout“Basefun”endl; ); class Derivde:public Base public: void fun() /调用基类的函数 fun() cout“Derived fun”endl; ; (分数:2.00)44.在关系数据库中,用来表示实体
22、之间联系的是 1。 (分数:2.00)45.关系操作的特点是 【5】 操作。 (分数:1.00)46.下列程序通过把类 Distance 定义为类 Point 的友元类来实现计算两点之间距离的功能。请完成该程序。#include iostream #include cmath using namespace std; class Point public: 1; Point ( 2) X=a; Y=b; void Print() cout “X=“Xendl; cout “X=“Xendl; private: float X, Y; ; class Distance public: float
23、 Dis(Point ; float Distance: Dis (Point 3; coutx resultendl; return result; int main() Point p(10, 10), q(20, 20); Distance d; d. Dis(p, q); return 0; (分数:2.50)47.若要访问指针变量 q 所指向的数据,应使用表达式 1。 (分数:2.00)48.写出执行完下列代码段之后指定变量的值: bool x=true,y=false,z=false; x=x class Point int x,y; public: Point(int x1=0,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C205 答案 解析 DOC
