欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】二级C++-205及答案解析.doc

    • 资源ID:1324031       资源大小:82KB        全文页数:22页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】二级C++-205及答案解析.doc

    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,

    24、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.9D.12 解析:解析 简单类之间继承关系的调用,按照通常做法便可以

    25、得到答案。center.get()函数调用后,3 和 4 的和被返回,接着再调用 Circle 类的 radius 成员变量 5 相加后得到 12。5.有如下程序: #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

    26、.BDbdB.BDdb C.DBbdD.DBdb解析:6.已知枚举类型定义语句为: enum Token NAME, NUMBER, PLUS=5, MINUS, PRINT=10;则下列说法中错误的是_。(分数:2.50)A.枚举常量 NAME 的值为 1 B.枚举常量 NUMBER 的值为 1C.枚举常量 MINUS 的值为 6D.枚举常量 PRINT 的值为 10解析:7.结构化程序设计的三种基本结构是_。(分数:1.00)A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回和转移解析:解析 程序的三种基本控制结构包括顺序、选择和重复(循环),这三种结构足以表

    27、达出各种其他形式的结构。8.下列关于重载函数的调用时选择的依据中,错误的是 _ 。(分数:2.00)A.根据函数参数个数不同B.根据函数参数类型不同C.根据函数名字不同 D.根据函数的返回值不同解析:解析 函数的重载要求函数名相同。9.下列语句中,正确的是_。(分数:1.00)A.char str=“abcde“;B.char*str=“abcde“; C.char str5=“abcde“;D.char*str5=“abcde“;解析:解析 本题考查字符串的定义,A 选项中,定义了一个字符,而用字符串赋值,所以错误,C 选项定义了字符数组,一个字符所占空间是 1 位,再加上隐含的“0”,一共

    28、是 6 位,所以字符数组的大小应该为 6,D 选项定义了一个字符串指针数组,是指一个数组里面装着指针,赋值错误。所以答案为 B。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.程序有错,无输出结果 解析:解析 这个程序有错误不能通过编泽。#define 宏定义后不可有分号;用分号隔开后,int 只定义了 a,b 要重新定义。11.已知类

    29、 CC 以成员函数方式重载了二元运算符*,c1 和 c2 是 CC 类的两个对象,则下列对该运算符的调用中错误的是(分数: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“ 解析:解析 由于字符/0 作为字符串的结束标志,所以当从键盘上输入“I l

    30、ove this game”时,只把字母 I 输入字符串 str。13.有如下程序: #includeiomanip #includeiostream using namespace std; int main() coutsetfill(“*“)setw(6)123456; return 0; 运行时的输出结果是 _ 。(分数:2.00)A.*123*456B.*123456*C.*123456 D.123456解析:解析 在主函数中第一次输出时调用函数 setfill(“*“)设置填充字符为*,调用函数 setw(6)设置每次输出的宽度为 6,所以第一次输出 123 时,多余的三个空位用*

    31、填充,即结果为*123,第二次从输出流中输出 456。14.有类定义如下: 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+中,“*”是作为成员函数重载的运算符,“+”是作为友元函数重载的运算符,采用运算符函数调用格式时,该表达式应表示为

    32、_。(分数: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.友元类型 解析:解析 所谓的访问控制只包含公有类型、私有类型和保护类型 3 种,友元可以是一个函数,也可以是一个类。17.下列对基类和派生类关系的描述中,错误的是 _ 。(分数:1.00)A.派生

    33、类是基类的具体化B.派生类是基类的子集 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,3 B.2,3C.1,4D.1,2

    34、解析:解析 本题中子函数 f(int*p,*q)的功能是对指针 p 的值加 1,*q 的值加 1,主函数中调用子函数 f(r,n)时,子函数的执行结果是 r 值加 1,n 的值加 1。而 m 的值并没有发生变化,最后程序输出的结果为 1,3。所以正确答案为选项 A。19.关于 getline()函数的下列描述中, _ 是错误的。(分数:1.00)A.该函数是用来从键盘上读取字符串的B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符时便停止D.该函数中所使用的终止符只能是换行符 解析:20.有如下程序: #includeiostream using namespace std

    35、; 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; ; int main() Circle c(3,4,5); coutc.get()endl; return 0; 运行时的输出结果是_。(分数:2

    36、.50)A.5B.7C.9D.12 解析:解析 主函数中语句“coutc.get()endl;”调用 Circle 类成员函数 get(),返回x+y+radius 的值,即 3+4+5=12。21.类模板的使用实际上是将类模板实例化成一个具体的_。(分数:1.00)A类 B.对象C.函数D.模板类解析:解析 类模板就是把类中的数据分离出来,作为一个类的描述。C+编译器根据类模板和特定的数据类型来产生一个类,类模板就是一个抽象的类。22.下列程序的运行结果是 _ 。 #includeiostream.h void fun(int *a, int *b) int *k; k=a; a=b; b=

    37、k; void main() int a=2OO4,b=9,*x= fun(x, y); couta“ “bend1;(分数:2.00)A.20049 B.92004C.00D.编译时出错解析:23.关于二义性的描述错误的是 _ 。(分数:2.00)A.一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B.解决二义性可以用对成员名的限定法C.父类和子类中同时出现同名函数,也可能存在二义性 D.一个子类是从两个父类派生出来的,而这两个父类只有一个共同的父类,对该父类成员进行访问时,可能出现二义性解析:24.有如下程序: #includeiostream Using name

    38、space std; Class MyClass Public: MyClass() cout“t“; MyClass(MyClassa) cout“#“; MyClass() cout“; ; int main() MyClass a; MyClass b(a); Rcturn 0; 运行时的输出结果是_。(分数:1.00)A.*#B.#*C.*# D.#*解析:解析 MyClass a;先执行,MyClass()函数输出*; MyClass b(a);执行,MyClass( MyClassa)输出#; 最后执行两个析构函数,输出。25.执行以下程序时,输入一行字符串为“Thank you

    39、very much!”,程序的输出结果为_。 #includeiostream using namespace std; int main() char a100; cina; couta“/n“; return 0;(分数:2.00)ATB.Thank C.Thank you very much!D.Thank you解析:26.对下列二叉树 (分数:1.00)A.ACBDFEG B.ACBDFGEC.ABDCGEFD.FCADBEG解析:解析 二叉树的遍历有三种:前序、中序和后序。中序遍历首先遍历左子树或左子结点,然后访问根结点,最后遍历右子树或右子结点,分析本题二叉树,对其进行中序遍历,

    40、结果为 ACBDFEG。27.执行下列语句段后,输出字符“*”的个数是_。 for(int i=50; i1; i-=2) cout“*“:(分数:1.00)A.24B.25 C.26D.50解析:解析 本题考查 for 循环语句,题目中每执行完循环体后,i 都会减 2,那么只有 50 到 2 之间的偶数才能输出“*”,所以总共输出 25 次。28.对于模板定义关键字 class 和 typename 说法不正确的是_。(分数:2.50)A.程序中的 class 并不能都替换为 typenameB.class 和 typename 都可互相替换 C.程序中的 typename 都能替换为 cl

    41、assD.程序中的部分 class 可以替换为 typename解析:解析 在 C+程序中的 typename 是都可以替换为 class 的,但 class 不能都替换为 typename。29.下列描述中,错误的是_。(分数:2.00)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员 D.保护继承时基类中的保护成员在派生类中仍是保护成员解析:解析 保护继承时基类中的公有成员在派生类中是保护成员。30.不能作为函数重载的判断依据的是 _ 。(分数:2.00)A.constB.返回类型

    42、C.参数个数D.参数类型解析:解析 所谓函数重载是指同一函数名可以对应多个函数实现。进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。但函数的返回类型不能作为判断重载的依据。31.下面程序的输出结果是 _ 。 #includeiostream #includestring using namespace std; void main() charp110,p210; strcpy(p1,“abc“); strcpy(p2,“ABC“); charstr50=“xyz“; strcpy(str+2,strcat(p1,p2); coutstr; (分数:2.00)A.xyabcA

    43、BC B.yzabcABCC.xyzabcABCD.zabcABC解析:解析 本题考查字符串操作函数和指针的使用。strcat(p1,p2)将字符串 p1 和 p2 连接,接着调用 strcpy 函数,从数组 str 的第 3 个位置开始复制连接后的字符串,因此本题答案为 xyabcABC。32.下列叙述中正确的是 _ 。(分数:2.00)A.线性链表的各元素在存储空间中的位置必须是连续的B.线性链表的头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序

    44、也是任意的 解析:解析 在线性链表中,各元素在存储空间中的位置是任意的,各元素的顺序也是任意的,依靠指针来实现数据元童的前后件关系。33.下列程序的执行结果为_。 #includeiostream. h void main() int a=3, b=0; int*P= b=+a+; cout*P“,“bendl;(分数:1.00)A.3, 4B.4, 3 C.3, 4D.4, 4解析:解析 *p 为所指对象 a 的值,语句“b=+a+;”等价于“b=b+a; a=a+1;”。34.有以下类定义 class MyClass private: int id; char gender, char*p

    45、hone; public: MyClass():id(0),gender(“#“),phone(NULL) MyClass(int no,char ge=“#“,char*ph=NUl1.) id=no;gende=ge;phone=ph; ; 下列类对象定义语句中错误的是_。(分数:2.50)A.MyClass myObj;B.MyClass myObj(11,“13301111155“); C.MyClass myObj(12,“m“);D.MyClass myObj(12);解析:解析 本题考查构造函数的重载和默认参数的使用。只要生成对象,类中就必须要有相应的构造函数供其调用。选项 B,

    46、提供的实参分别是 int 和 char*,没有相应的构造函数供其调用,是错误的。35.下列关于类和对象的叙述中,错误的是 _ 。(分数:2.00)A.一个类只能有一个对象 B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系解析:解析 此题考查的是类和对象的相关概念。类是将不同的数据和与这些数据相关的操作封装起来装在一起的集合体。对象是类的具体实例,也即类是对某一类对象的抽象,类和对象之间可以说是数据类型与变量的关系。一个类可以有无数个对象。二、填空题(总题数:15,分数:26.00)36.作为成员函数重载的运算符,第一操作数就是参数表中隐含的 1 所指向的对象,因此并不显示地出现在参数表中。 (分数:1.00)解析:this 指针37.下面程序的运行结果为 【10】 。 # include iostreamh void fun(int x=0,int y=0) cout X y; void main( ) fun(5); (分数:1.00)解析:【10】50 解析:本题考查的是函数的默认参数,如果一个函数中有多个参数,则默认参数应从右至左逐个定义,所以题目中 x 使用参数 5,y 使用默认参数 0。 38.


    注意事项

    本文(【计算机类职业资格】二级C++-205及答案解析.doc)为本站会员(吴艺期)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开