【计算机类职业资格】计算机等级考试二级(C++)38及答案解析.doc

上传人:周芸 文档编号:1339697 上传时间:2019-10-17 格式:DOC 页数:14 大小:102KB
下载 相关 举报
【计算机类职业资格】计算机等级考试二级(C++)38及答案解析.doc_第1页
第1页 / 共14页
【计算机类职业资格】计算机等级考试二级(C++)38及答案解析.doc_第2页
第2页 / 共14页
【计算机类职业资格】计算机等级考试二级(C++)38及答案解析.doc_第3页
第3页 / 共14页
【计算机类职业资格】计算机等级考试二级(C++)38及答案解析.doc_第4页
第4页 / 共14页
【计算机类职业资格】计算机等级考试二级(C++)38及答案解析.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、计算机等级考试二级(C+)38 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.下列函数的运行结果是( )。 #include iostreamh int f(int a,int b) int c; if (a b)c=1; else if(a=b)c=0; else c=-1; return(c); void main( ) int i=2,j=3; int p=f(i,j); cout p; (分数:2.00)A.-1B.1C.2D.编译出错,无法运行2.下面程序的运行结果为( )。 # incl

2、ude iostreamh class A public: A( ) cout “1“; A( ) cout “2“; ; class B:public A public: B( ) cout “3“; B ( ) cout “4“; ; void main ( ) B b; (分数:2.00)A.F10B.F4C.F5D.Ctrl3.下列关于输入流类成员函数 getline( )的描述中,错误的是_。(分数:2.00)A.该函数是用来读取键盘输入的字符串的B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符便停止D.该函数读取字符串时,可以包含空格4.下面关于数组的描述错误

3、的是( )。(分数:2.00)A.在 C+语言中数组的名字就是指向该数组第一个元素的指针B.长度为 n 的数组,下标的范围是 0n-1C.数组的大小必须在编译时确定D.数组只能通过值参数和引用参数两种方式传递给函数5.有以下程序段: typedef struct NODE int num; struct NODE *next; OLD; 以下叙述中正确的是_。 (分数:2.00)A.以上的说明形式非法B.NODE 是一个结构体类型C.OLD 是一个结构体类型D.OLD 是一个结构体变量6.以下对结构体类型变量 td 的定义中,错误的是_。 (分数:2.00)A.B.C.D.7.以下各选项组中,

4、均是 C+语言关键字的组是( )。(分数:2.00)A.无法引用,必须更名使两者名字不同B.在实例变量加关键字 thisC.在实例变量加关键字 superD.不影响,系统可以自己区分8.以下不正确的定义语句是( )。(分数:2.00)A.doublex5=20,40,60,80,100;B.inty5=0,1,3,5,7,9;C.charcl=1,2,3,4,5;D.charc2:/x1O,/xa,/x8;9.下面程序输出的结果是( )。 #includeiostreamh void main( ) int i; int a33=1,2,3,4,5,6,7,8,9; for(i=0;i3;i+

5、) coutaii“ “; (分数:2.00)A.1 5 9B.7 5 3C.3 5 7D.5 9 110.在深度为 7 的满二叉树中,叶子结点的个数为_。 (分数:2.00)A.32B.31C.64D.6311.下面有关 for 循环的正确描述是( )。(分数:2.00)A.A:func2( )和 B:func1( )都是虚函数B.A:func2( )和 B:func1( )都不是虚函数C.B:func1( )是虚函数,而 A:func2( )不是虚函数D.B:func1( )不是虚函数,而 A:func2( )是虚函数12.下列程序的运行结果为( )。 #includeiostreamh

6、class Location protected: int X,Y; publiC: void SeX(int myx)X=myx; void SetY(int myy)Y=myy; void showxy( ) cout“X=“ X“ “ “Y“= Y endl; ; Class Rectangle :public Location private: int H,W; public: void SetH(int myh)H=myh; void SetW(int myw) W=myw; void show( ) cout “X=“X“ “Y=“ Y“ “H=“ H“ “ “W=“ W endl

7、; ; void main( ) Rectangle r1; r1SetX(3); r1SetY(5); r1SetH(4); r1SetW(6); r1showxy( ); r1. show( ); (分数:2.00)A.ThisFormText1ValueB.ThisFormParentValueC.ParentText1ValueD.ThisParentText1Value13.有以下程序: #define N 20 fun(int a,int n,int m) int i,j; for(i=m;i=n;i-)ai+1=ai; main() int i,aN=1,2,3,4,5,6,7,

8、8,9,10; fun(a,2,9); for(i=0;iA.10234B.12344C.12334D.1223414.下列不是描述类的成员函数的是( )。(分数:2.00)A.a02*1B.a13C.a4-20D.a0415.下面程序的运行结果为( )。 # include iostreamh void main( ) for(int a = 0,x =0;! xa = 10;a+) a+; cout a endl; (分数:2.00)A.纵栏式报表B.表格式报表C.图表报表D.标签报表16.函数模板:template T add(T x,T y) return x+y; 下列对 add 函

9、数的调用不正确的是( )。 (分数:2.00)A.add(1,2)B.add(1,2)C.add(10,2)D.add(10,20)17.有如下说明 int a10: 1,2,3,4,5,6,7,8,9,10 ,* p=a; 则数值为 9 的表达式是( )。 (分数:2.00)A.*p+9B.*(p+8)C.*p+=9D.p+818.下列字符串中可以用作 C+语言标识符的是( )。(分数:2.00)A.EDITB.BROWSEC.REPLACED.CHANGE19.下列描述中正确的是_。 (分数:2.00)A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只

10、有根结点的二叉树是线性结构20.C+语言函数中不能由系统自动生成的是( )。(分数:2.00)A.结合型B.非结合型C.计算型D.非计算型21.有以下程序 int f1(int x,int y)return xy?x:y; int f2(int x,int y)return xy?y:x; main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d); f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; printf(“%d,%d,%d/n“,e,f,g); 程序运行后的输出结果是_。 (分数:2.00)A.4,3,7B.3

11、,4,7C.5,2,7D.2,5,722.下面程序的结果为( )。 #include“ iostreamh“ void change(int a,int b) int temp; temp=a; a=b; b=temp; void main( ) int m,n; m=8; n=9; change(m,n); tout m “ “ n end1; (分数:2.00)A.永久性联系B.临时性联系C.任意的联系D.以上说法均不正确23.已定义以下函数 int fun(int *p) return *p; fun 函数返回值是_。 (分数:2.00)A.不确定的值B.一个整数C.形参 p 中存放的值

12、D.形参 p 的地址值24.下面关于 C+语言的描述错误的是( )。(分数:2.00)A.C+语言支持数据封装B.C+语言中引入友元没有破坏封装性C.C+语言允许函数名和运算符重载D.C+语言支持动态联编25.C+语言类体系中,不能被派生类继承的有( )。(分数:2.00)A.a,point,* public; MyBase(int n=0):k(n) int value()constreturn k; ; class MyDerived; MyBase int j; public; MyDerived(int i): j(i) int getK()const return k; int gu

13、tj()constreturn j; ; 编译时发现有一处语法错误,对这个错误最佳准确的描述是(分数:2.00)A.函数 getK 试图访问基类的私有成员变量 KB.在类 MyDerived 的定义中,基类名 MyBase 前缺少关键字 public、protected 或 privateC.类 MyDerived 缺少一个无参的构造函数D.类 MyDerived 的构造的数没有对基数数据成员 K 进行初始化29.下列函数原型声明中错误的是【 】(分数:2.00)A.void Fun(int x0,int y0);B.void Fun(int x,int y);C.void Fun(int x

14、,int y0);D.void Fun(int x0,int y);30.下列有关继承和派生的途述中,正确的是【 】(分数:2.00)A.如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员B.派生类的成员函数可以访问基类的所有成员C.基类对象可以赋值给派生类对象D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类31.对类的构造函数和析构函数描述正确的是( )。(分数:2.00)A.Redim a As IntegerB.Static a As IntegerC.Public a As IntegerD.Dim a As Integer32.设变量 a、b、c、d

15、和 y 都已正确定义并赋值。若有以下 if 语句: if(aA.B.C.D.33.有以下类定义 class MyClass private: int id; char gender; char*phone; public: MyClass():id(0),gender(#),phone(NULL) MyClass(int no,char ge=#,char*ph=NULL) idno;gender=ge;phone=ph; ; 下列类对象定义语句中错误的是【 】 (分数:2.00)A.MyClass myObj;B.MyClass myObj(11,“13301111155“);C.MyCla

16、ss myObj(12,m);D.MyClass myObj(12);34.在 C+语言中,数据封装要解决的问题是( )。(分数:2.00)A.数据的规范化B.便于数据转换C.避免数据丢失D.防止不同模块之间数据的非法访问35.有如下程序 #includeiostreamh int func(int a,int B) return(a+B) ; void main( ) int x=2,y=5,z=8,r; r=func(func(x,y),z); cout r; 该程序的输出的结果是( )。 (分数:2.00)A.第二行的声明不会为变量 my 分配内存空间B.第二行语句创建一个 Vector

17、 类对象C.第三行语句创建一个 Vector 类对象D.第三行语句为一个 Vector 类对象分配内存空间二、填空题(每空 2 分,共 30 分)(总题数:15,分数:30.00)36.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 1。(分数:2.00)填空项 1:_37.重载的运算符保持其原有的 1、优先级和结合性不变。(分数:2.00)填空项 1:_38.将 x+y*z 中的“+”用成员函数重载,“*”用友元函数重载应写为 1。(分数:2.00)填空项 1:_39.数据的逻辑结构在计算机存储空间中的存放形式称为

18、数据的 1(分数:2.00)填空项 1:_40.C+中封装性、继承性和 1 是面向对象思想的主要特征。(分数:2.00)填空项 1:_41.以下程序运行后的输出结果是 1。 main2 int a=3,b=4,c=5,t=99; if(b填空项 1:_42.以下程序的结果为 1。 #include”iostreamh” templatetypename T T total(T * data) T s=0; while( * data) s+= * data +; return s; int main2 int x = 2,4,6,8,0,12,14,16,18 ; cout total(x);

19、 return 0; cout end1; (分数:2.00)填空项 1:_43.以下程序运行后的输出结果是 1。 #includeiostreamh void fun(int x,int y) x=x+y;y=x-y;x=x-y; cout x “,“ y “ ,“; void main2 int x=2,y=3;fun(x,y); cout x “,“ y endl; (分数:2.00)填空项 1:_44.用以下语句调用库函数 malloc,使字符指针 st 指向具有 11 个字节的动态存储空间,请填空。 st=(char*) 1; (分数:2.00)填空项 1:_45.以下程序中,fun

20、 函数的功能是求 3 行 4 列二维数组每行元素中的最大值。请填空。 void fun(int,int,int(*)4,int *); main1 int a34=12,41,36,28,19,33,15,27,3,27,19,1,b3,i; fun(3,4,a,b); for(i=0;i2=x; (分数:2.00)填空项 1:_46.若有定义语句:int*a,b;,则变量 b 的数据类型是 1。(分数:2.00)填空项 1:_47.派生类的成员一般分为两部分,一部分是 1,另一部分是自己定义的新成员。(分数:2.00)填空项 1:_48.以下程序运行后的输出结果是 1。 main2 int

21、a=1,b=2,c=3; if(c=a) printf(“%d/n“,c); else printf(“%d/n“,b); (分数:2.00)填空项 1:_49.语句 cout /n还可表示为 1。(分数:2.00)填空项 1:_50.下列程序在构造函数和析构函数中申请和释放类的数据成员 int*a,申请时使用形参 b 初始化 a,请填空。 classA public: A(intb); A( ); private: int*a; ; A:A(intb) 1; A:A( ) 2; (分数:2.00)填空项 1:_填空项 1:_计算机等级考试二级(C+)38 答案解析(总分:100.00,做题时

22、间:90 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.下列函数的运行结果是( )。 #include iostreamh int f(int a,int b) int c; if (a b)c=1; else if(a=b)c=0; else c=-1; return(c); void main( ) int i=2,j=3; int p=f(i,j); cout p; (分数:2.00)A.-1 B.1C.2D.编译出错,无法运行解析:本题的函数是根据 a 和 b 的值来给 c 赋值。2.下面程序的运行结果为( )。 # include io

23、streamh class A public: A( ) cout “1“; A( ) cout “2“; ; class B:public A public: B( ) cout “3“; B ( ) cout “4“; ; void main ( ) B b; (分数:2.00)A.F10 B.F4C.F5D.Ctrl解析:对于 template Tadd(T x,T y) return x + y; 调用时町以省略模板实参的声明,但是要求x 和 y 的数据类型必须是一样的。 3.下列关于输入流类成员函数 getline( )的描述中,错误的是_。(分数:2.00)A.该函数是用来读取键盘

24、输入的字符串的B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符便停止D.该函数读取字符串时,可以包含空格解析:4.下面关于数组的描述错误的是( )。(分数:2.00)A.在 C+语言中数组的名字就是指向该数组第一个元素的指针B.长度为 n 的数组,下标的范围是 0n-1C.数组的大小必须在编译时确定D.数组只能通过值参数和引用参数两种方式传递给函数 解析:本题考查的是数组的基本使用,数组还可以通过对应的指针调用 传递参数,其余选项的说法都是正确的。5.有以下程序段: typedef struct NODE int num; struct NODE *next; OLD;

25、以下叙述中正确的是_。 (分数:2.00)A.以上的说明形式非法B.NODE 是一个结构体类型C.OLD 是一个结构体类型 D.OLD 是一个结构体变量解析:typedef 关键字用于声明一个新的类型名代替已有的类型名。本题中如果没有用 typedef 进行定义的 话,则 struct NODE 为结构体类型,现在用 typedef 定义后,相当于用 OLD 代表了 struct NODE 这一结构体 类型,故 OLD 为结构体类型。6.以下对结构体类型变量 td 的定义中,错误的是_。 (分数:2.00)A.B.C. D.解析:选项 C 中的 aa 本身就为结构体变量名,所以不能再用它来定义

26、结构体变量,故此种定义方法是错误 的。7.以下各选项组中,均是 C+语言关键字的组是( )。(分数:2.00)A.无法引用,必须更名使两者名字不同B.在实例变量加关键字 this C.在实例变量加关键字 superD.不影响,系统可以自己区分解析:通用型字段类型用于标记电子表格、文档、图片等 OLE 对象,备注型字段类型用来存放不定长的字符型文本。8.以下不正确的定义语句是( )。(分数:2.00)A.doublex5=20,40,60,80,100;B.inty5=0,1,3,5,7,9; C.charcl=1,2,3,4,5;D.charc2:/x1O,/xa,/x8;解析:在一维数组中要

27、注意的是作为下标表达式的常量表达式的值必须是大于等于 0,并且小于自身,本题中选项 B)的下标表达式的值超过了自身。9.下面程序输出的结果是( )。 #includeiostreamh void main( ) int i; int a33=1,2,3,4,5,6,7,8,9; for(i=0;i3;i+) coutaii“ “; (分数:2.00)A.1 5 9 B.7 5 3C.3 5 7D.5 9 1解析:首先,当 i=0 时,数组中的位置是 a00=1,当然,如果用排除法的话,就不用考虑后面的循环了,因为在 4 个选项中,第 1 个数为 1 的选项只有 A)。本题执行第 2 次循环时,

28、i 的值为 1,则 cout 函数中的数组指向为 a11=5,依次循环,可求出答案。10.在深度为 7 的满二叉树中,叶子结点的个数为_。 (分数:2.00)A.32B.31C.64 D.63解析:所谓满二叉树是指这样的一种二叉树:除最后一层外,每层上的所有结点都有两个子结点。这就是 说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第 K 层上有 2 的(k-1)次方个结点,且深度为 m 的满二叉树有 2(m 次方)-1 个结点。树的最大层次称为树的深度。本题中深度为 7,故叶子结点数为 2 的(6 次方)=64。11.下面有关 for 循环的正确描述是( )。(分数:2.00)

29、A.A:func2( )和 B:func1( )都是虚函数B.A:func2( )和 B:func1( )都不是虚函数C.B:func1( )是虚函数,而 A:func2( )不是虚函数 D.B:func1( )不是虚函数,而 A:func2( )是虚函数解析:查询输出到临时表中,产生的临时表文件的后缀名仍为dbf,且该临时表文件是当前文件,可以像一般的 dbf 文件一样使用,但仅是只读文件,当关闭文件时,临时表文件将自动被删除。12.下列程序的运行结果为( )。 #includeiostreamh class Location protected: int X,Y; publiC: void

30、 SeX(int myx)X=myx; void SetY(int myy)Y=myy; void showxy( ) cout“X=“ X“ “ “Y“= Y endl; ; Class Rectangle :public Location private: int H,W; public: void SetH(int myh)H=myh; void SetW(int myw) W=myw; void show( ) cout “X=“X“ “Y=“ Y“ “H=“ H“ “ “W=“ W endl; ; void main( ) Rectangle r1; r1SetX(3); r1Set

31、Y(5); r1SetH(4); r1SetW(6); r1showxy( ); r1. show( ); (分数:2.00)A.ThisFormText1Value B.ThisFormParentValueC.ParentText1ValueD.ThisParentText1Value解析:SEEK、FIND 和 LOCATE 命令都可用来查询记录,选项 B)属于语法错误。13.有以下程序: #define N 20 fun(int a,int n,int m) int i,j; for(i=m;i=n;i-)ai+1=ai; main() int i,aN=1,2,3,4,5,6,7,8

32、,9,10; fun(a,2,9); for(i=0;iA.10234B.12344C.12334 D.12234解析:本题函数 fun 的作用是将指定的数组元素(从下标 n 到下标 m)向后移一位。由函数调用“fun(a,2,9);”可知,函数 fun 用于将 a2 到 a9的各元素依次向后移一位,移完后,a 数组中各元素的值分别为 1,2,3,3,4,5,6,7,8,9,10,故输出的前 5 个数组元素为 12334。14.下列不是描述类的成员函数的是( )。(分数:2.00)A.a02*1B.a13C.a4-20D.a04 解析:do-while 语句的一般格式为 do 循环体语句 wh

33、ile(表达式);,先执行循环体语句一次,再判断表达式的值,若为真则继续执行循环,否则终止循环。本题中,先执行 x=x-2,即为 1。判断表达式的值,!(-x)为真,x=0,继续循环。再次执行循环体语句后,x=-2,此时表达式的值为 0,结束循环。15.下面程序的运行结果为( )。 # include iostreamh void main( ) for(int a = 0,x =0;! xa = 10;a+) a+; cout a endl; (分数:2.00)A.纵栏式报表B.表格式报表 C.图表报表D.标签报表解析:层次数据模型的特点:有且只有一个节点无双亲,这个节点称为“根节点”;其他

34、节点有且只有一个双亲。网状数据模型的特点:允许一个以上节点无双亲;一个节点可以有多于一个的双亲。关系数据模型是以二维表的形式来表示的。16.函数模板:template T add(T x,T y) return x+y; 下列对 add 函数的调用不正确的是( )。 (分数:2.00)A.add(1,2)B.add(1,2)C.add(10,2) D.add(10,20)解析:对于 template Tadd(T x,T y) return x + y; 调用时町以省略模板实参的声明,但是要求x 和 y 的数据类型必须是一样的。 17.有如下说明 int a10: 1,2,3,4,5,6,7,

35、8,9,10 ,* p=a; 则数值为 9 的表达式是( )。 (分数:2.00)A.*p+9B.*(p+8) C.*p+=9D.p+8解析:在 C+语言的数组元素的引用方法,如数组元素 a0,可以用表达式*(p+0),即*p 来引用,对于数组元素 a1,可以用表达式*(P+1)来引用,在这里,p+1 的值就是数组元素 a1的地址,对此地址使用“间接访问运算符”:*(p+1)就代表存储单元 a1,注意:一对圆括号不可少。同样,对于数组元素a2,则可以用表达式*(p+2)来引用,对于数组元素 a9,可以用表达式*(P+9)来引用。因此,当指针变量 p 指向 a 数组的起始地址时,若 0iy?x:

36、y; int f2(int x,int y)return xy?y:x; main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d); f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; printf(“%d,%d,%d/n“,e,f,g); 程序运行后的输出结果是_。 (分数:2.00)A.4,3,7 B.3,4,7C.5,2,7D.2,5,7解析: 函数 f1 的功能是返回两个数中比较大的值,f2 的功能是返回两个数中比较小的值。22.下面程序的结果为( )。 #include“ iostreamh“ void cha

37、nge(int a,int b) int temp; temp=a; a=b; b=temp; void main( ) int m,n; m=8; n=9; change(m,n); tout m “ “ n end1; (分数:2.00)A.永久性联系B.临时性联系 C.任意的联系D.以上说法均不正确解析:BOF( )用于测试当前表文件(缺省自变量)或指定表文件中的记录指针是否指向文件首,若是返回逻辑真(T),否则为逻辑假(F)。若在指定工作区上没有打开表文件,函数返回逻辑假(F),若表文件中不包含任何记录,函数返回逻辑真(T)。23.已定义以下函数 int fun(int *p) ret

38、urn *p; fun 函数返回值是_。 (分数:2.00)A.不确定的值B.一个整数 C.形参 p 中存放的值D.形参 p 的地址值解析:函数值的类型应当是在定义函数时指定的。在定义函数时对函数值说明的类型一般和 return 语句中 的表达式类型一致,即函数类型决定返回值的类型。此题中定义函数类型为 int 型,故函数返回值也为整型。24.下面关于 C+语言的描述错误的是( )。(分数:2.00)A.C+语言支持数据封装B.C+语言中引入友元没有破坏封装性 C.C+语言允许函数名和运算符重载D.C+语言支持动态联编解析:数据封装就是数据抽象;友元可以访问类中的所有成员,是面向对 象的一个重

39、要特征,但是破坏了封装性;重载和动态联编都是面向对象的另一个特点- 多态性。25.C+语言类体系中,不能被派生类继承的有( )。(分数:2.00)A.a,point,* public; MyBase(int n=0):k(n) int value()constreturn k; ; class MyDerived; MyBase int j; public; MyDerived(int i): j(i) int getK()const return k; int gutj()constreturn j; ; 编译时发现有一处语法错误,对这个错误最佳准确的描述是(分数:2.00)A.函数 get

40、K 试图访问基类的私有成员变量 KB.在类 MyDerived 的定义中,基类名 MyBase 前缺少关键字 public、protected 或 privateC.类 MyDerived 缺少一个无参的构造函数D.类 MyDerived 的构造的数没有对基数数据成员 K 进行初始化解析:29.下列函数原型声明中错误的是【 】(分数:2.00)A.void Fun(int x0,int y0);B.void Fun(int x,int y);C.void Fun(int x,int y0);D.void Fun(int x0,int y); 解析:本题考核函数的定义方法和调用方法。说明一个函数

41、的格式为:函数类型函数名,(下函数参数表);在 C中,允许在函数的说明或定义时给一个或多个参数指定默认值。但一旦为某个给定参数定义了缺省值,必须为后继的所有参数也定义缺省值。由此可知,选项 D 是错误的。30.下列有关继承和派生的途述中,正确的是【 】(分数:2.00)A.如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员B.派生类的成员函数可以访问基类的所有成员C.基类对象可以赋值给派生类对象D.如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类 解析:派生类继承私有继承基类,该派生类对象可以访问基类中的公有成员和保护成员,而基类的私有成员在派生类中不可访问。如果派

42、生类没有给出全部纯虚函数的实现,该派生类仍然是一个抽象类。31.对类的构造函数和析构函数描述正确的是( )。(分数:2.00)A.Redim a As IntegerB.Static a As Integer C.Public a As IntegerD.Dim a As Integer解析:C+中用友元函数重载运算符至少有一个参数,重载一目运算符要有一个参数,重载二目运算符要有两个参数。32.设变量 a、b、c、d 和 y 都已正确定义并赋值。若有以下 if 语句: if(aA.B.C. D.解析:if 语句中包含一个或多个 if 语句称为 if 语句的嵌套。在 C 语言中,从最内层开始,e

43、lse 总是与它 上面最近的(未曾配对的)if 配对。故本题中 y=1 的条件是 cd,又因为此 if 语句是前一个 if 语句的内 层嵌套语句,所以在满足内层嵌套的 if 语句之前,必须先满足外层的 if 语句中的条件表达式“a33.有以下类定义 class MyClass private: int id; char gender; char*phone; public: MyClass():id(0),gender(#),phone(NULL) MyClass(int no,char ge=#,char*ph=NULL) idno;gender=ge;phone=ph; ; 下列类对象定义

44、语句中错误的是【 】 (分数:2.00)A.MyClass myObj;B.MyClass myObj(11,“13301111155“); C.MyClass myObj(12,m);D.MyClass myObj(12);解析:本题考核构造函数的应用。对象建立用初始化列表对数据成员进行时,列表中的参数类型要与构造函数中形参类型一致。B 选项中第二个参数为“13301111155“是字符串,而构造函数中第二个形参为 char型,两者不一致造成错误。34.在 C+语言中,数据封装要解决的问题是( )。(分数:2.00)A.数据的规范化B.便于数据转换C.避免数据丢失D.防止不同模块之间数据的非法访问 解析:数据封装为了防止不同模块间数据的非法访问及修改。35.有如下程序 #includeiostreamh int func(int a,int B) return(a+B) ; void main( ) int x=2,y=5,z=8,r; r=func(func(x,y),z); cout r; 该程序的输出的结果是( )。 (分数:2.00)A.第二行的声明不会为变量 my 分配内存空间B.第二行语句创建一个 Vector 类对象 C.第三行语句创建一个 Vector 类对象

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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