




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一二章1 下列C卄标点符号中表示行注释开始的是CA)#B);C)/D)2. 下列字符串中可以用作C卄标示符的是A oA)_256B)classCJdeleteD)5chai3. 下列关于C+函数的描述中正确的是CoA)主函数是程序的入II,它是由用户定义的函数调用。E)函数是C卄中面向对象程序设计框架的基本组成元素。C)函数在调用前必须先被声明。D)每个用户定义函数只能被其他函数调用一次。4. 下列关于C+关键字的说法中正确的是D 。A)关键字是用户为程序中各种需要命名的“元素”所起的名字。E)关键字是对程序中的数据进行操作的一类单词。C)关键字是在程序中起分割内容和界定范|制作用的一类单词。
2、D)关键字是C+中预先定义并实现一定功能的一类单词。5. 每个C+程序都必须有且仅有一个 B 。A)预处理命令E)主函数C)函数D)语句6. 下面关于对彖概念的描述中,A 是错误的。A)对象就是C语言中的结构变量E)对象代表着正在创建的系统中的一个实体C)对象是一个状态和操作(或方法)的封装体D)对象之间的信息传递是通过消息进行的过程变成面向对彖。A)增加了一些新的运算符C)规定函数说明必须用原型 8 下面关于类概念的描述中,A)类是抽彖数据类型的实现C)类是创建对彖的样板7. C卄对C语言做了很多改进,下列描述中D 使得C语言发生了质变,即从面向E)允许函数重载,并允许设置默认参数D)引进类
3、和对象的概念D 是错误的。E)类是具有共同行为的若干对彖的统一描述体D)类就是C语言中的结构体类型9. C卄语言是以B语言为基础逐渐发展而演变而成的一种程序设计语言。AjPascalB)CCjBasicD)Sunula6710. C+语言中规定函数的返回值的类型是由D 。Ajietuin语句中的表达式类型所决定的 E)调用该函数式的主调用函数类型所决定的C)调用该函数式系统临时确定的D)在定义该函数式所指的数据类型所决定的11下列关于C卄与C语言关系的描述中错误的是C。B)C+是C语言进行了扩充D)C+包含C语言的全部语法特征A)C+是C语言的超集C)C+和C语言都是面向对象的程序设计语言 1
4、2卞列字符串中可以用做C卄标示符的是A) _521B)computer-1 C)caseD)3var13 面向对象程序设计思想的主要特征中不包括DA)封装性E)多态性C)继承性D)功能分解,逐步求精14下列C卄标点符号中表示一条预处理命令开始的是A。A)#B)/C)D):15.下列关于C+类的描述中错误的是CA)类与类之间可以通过一些手段进行通信和联络E)类用于描述事物的属性和对事物的操作C)类与类之间必须是平等的关系,而不能组成层次关系D) 类与类之间可以通过封装而具有明确的独立性16下列C卄标点符号中表示一条语句结束的是A);E)/C)#D)17. 下列C卄标点符号中表示复合语句结束的标记
5、符是CA)#B)/C)D);18卞列C卄标点符号中表示复合语句开始的标记符是/A)E)/19 下列关键字中,C)D):B 即在C语言中使用,又在C卄语言中使用。A)iiiliiie B)breakC)private D)public20卞列字符串中不可以用作C卄标示符的是CA)_521B)computerl23D)flower21. 下列不正确的选项是DoA) C卄语言是一种面向对彖的程序设计语言,它支持面向对彖思想中的3个主要特征B) 标点符号是在程序中起分割内容和界定范围作用的一类单词Cjiosueam是一个标准的头文件,定义了一些输入输出流对彖D) 类与类之间不可以进行通信和联络22.
6、下列不正确的选项是BoA) 封装是一种信息隐藏技术B) 标识符是由字母、数字、卞划线组成的字符串,必须以数字或下划线开头C) 编译是由源程序文件转换到目标文件的过程D) 个C卄程序可以认为是函数串23 下列与流程控制有关的关键字是ADjsizeofA)gotoBjstatic24 下列正确的选项是AA) 继承是创建一个具有别的类的属性和行为的新类的能力B) C语言支持面向对象的程序设计C) 空白符是一种可以被编译的符号D) 标示符不宜过长,一般设定为16个字符25.下列关于C卄语言的发展说法错误的是C。A)C+语言起源于C语言B)C+语言最初被称为“带类的C”C)在1980年C+被命名D)在1
7、983年C+被命名27 卜列表示引用的方法中,A 是正确的。己知:mt k= 1000;&x=k; B)chai- &y;C)mt &z=1000; D)float &t=&k;28. 下列程序的执行结果为A 。# i nclude void niian()mt n=10;iiit* pn=&n;iiit* &rn=pn;(*pn)+;coutHn=Mnendl;(*ni)+;cout,n=,nendl;A) n=l 1n=12C) n=10n=ll29下列引用的定义中,i; iiit &j=i;C)float i; float &j=i;30. B是给对象取了一个别名, A)指针E)引用C)
8、枚举D)结构31. 下列表示引用的方法中,A 已知:iiit m=10;A)mt &x=m;B)mt &y=10;32. 下面程序的运行结果是A # i ncludeB) n=llD)n=ll是错误的。Bjiiit i; iiit &jC) char d; char &k=d;他引入了对彖的同义词。是正确的。C)int &z;n=lln=10DJfloat &t=&m;void fun(mt & &b) Hit p;p=a; a=b; b=p;void exchange(iiit &a,int &bint &c)if(ab)fun(a,b);if(ac)fun(a,c);if(bc)
9、fun(b,c);void main()iiit a,b,c;a=12;b=639;c=78;exchange(a,b,c);coutna=,Fa,b=nb,c=,cendl;A)a=639,b=7&c=12B)a=12,b=639,c=78C)a=639.b=12,c=78D)a=7&b=12,c=63933 下面的程序输出结果为C o # mclude void main()mt *ir;mt i;ir=&i;1=17;coutMmt i=Hiendl;coutMmt ii-H*irendl;A)int i=17int n-0B)iiit i=Omt u-17C)int i=17 int
10、ir=17D)程序语法错误,没有输出结果34. 对定义重载函数的下列要求中,D 是错误的。A) 要求参数的个数不同C) 要求参数个数相同时,参数类型不同35. 卞面函数调用语句中实参的个数是E) 要求参数中至少有一个类型不同D) 要求函数的返回值不同xxx(vl,v2),(v3,v4,v5),v6);A)3B)4C)5D)636. 系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是DA) 参数个数E)参数的类型C)函数名称D)函数的类型37. 若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是D。AJexteinBjregi
11、sterC)autoD)static38. 在C卄中,关于卞列设置参数默认值的描述中,正确的是C 。A) 不允许设置设置参数的默认值E) 设置参数默认值只能在定义函数时设置C) 设置参数默认值时,应该事先设置右边的再设置左边的D) 设置参数默认值时,应该全部参数都设置39. 若有下面函数调用语句:fim(a+b,(x,y),fun(n+kd(a+b);在此函数调用语句中实参的个数是A 。A)3B)4C)5D)640卞列对重载函数的描述中,A 是错误的。A) 重载函数中不允许使用默认参数E) 重载函数中编译时根据参数表进行选择C) 不要使用重载函数来描述亳无相干的函数D) 构造函数重载将会给初始
12、化带来多种方式41. 在函数声明时,下列 D 项是不必要的。A) 函数的类型E)函数参数类型C)函数的名字D)返回值表达式42. 在函数的返回值类型与返回值表达式的类型的描述中,错误的是B 。A) 函数返回值的类型是在定义函数时确定,在函数调用时是不能改变的E) 函数返回值的类型就是返回值表达式的类型C) 函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成返回值类型D) 函数返回值类型确定了返回值表达式的类型43. 下面变量和函数说明:# i nclude char ch=*;void sub(iiit y,char cli,double *z)switch(ch)ca
13、se ,+,:*z=x+y;break;case ,-,:*z=x-y;break;case *:*z=x*y;break;case 7l:*z=x/v;break;B) sub(l2,32,+;&z); D) sub(ab&x、ch);下面合法的函数调用语句是BA) sub(10,20.ch、y);C) sub(sub(l ,2,+&y),sub(3,4,屮,&x)=:&y);44. 下列程序的输出结果是B# mcludevoid sub 1 (char a,chai b) char c;c=a; a=b; b=c;void sub2(char *a,char b)chai c;c=*a;
14、*a=b; b=c;void sub3(char *a,char *b)chai c;c=*a; *a=*b; *b=c;void main()chai a、b;b=E;subl(a,b);putchar(a);putchar(b);b=E;sub2( &a,b);putchar(a);putchar(b);b=E;sub3(&a,&b);putchar(a);putchar(b);putcha(n);A)ABABAB B)ABBBBAC)ABBABA D)ABABBA45. 下面程序的正确执行结果为D o# mcludemt f(uit);void main()iiit a=2j;fdr(i
15、=O;i3;i+)coutf(a)H H;coutendl;mt f(int a)mt b=0;static iiit c=3;b+;C+;return (a+b4-c);A)7 7 7B)7 10 13C)7 9 11D)7 8 946下面程序的正确执行结果为Co# i ncludevoid fun(chaf * *m)m-H-;cout*mendl;void main()static char 切=”MORNING;AFTERNOON”,“EVENING”;chai * *n;n=a;fim(n);A)为空B)MORNINGC)AFTERNOOND)EVENING47.下面程序的输出结果B
16、o# i ncludeiiit fiin(char *s)chai *p=s;vhile(*p!=、(y)p+;return (p-s);void main()coutfiinC,ABCDEFn)endl;A)3B)6C)8D)048当一个函数无返回值时,函数的类型应定义为A)voidE)任意C)intD)无49下面叙述中不正确的是D oA)在函数中,通过etum语句传回函数值E)在函数中,可以有多条rennii语句C)主函数名后面的一对圆括号中也可以带有形参D)调用函数必须在一条独立的语句中完成50下列D的调用方式是引用调用。E)形参和实参都是变量D)形参是引用,实参是变量D 。A)形参是指
17、针,实参是地址值C)形参是数组,实参是变量51. 在C+中,函数原型不能标识A)函数的返回类型E)函数参数的个数C)函数参数类型 D)函数的功能52. 下列标识符中,C是文件级作用域的。A)函数形参 E)语句标号C)外部静态类标识符D)自动类标识符53. 在传值调用中,要求CoA)形参和实参类型任意,个数相等E)实参和形参类型都完全一致,个数相等C)实参和形参对应的类型一致,个数相等 D)实参和形参对应的类型一致个数任意54. 有一个int型变量,在程序中频繁使用,最好定义它为A。Ajregistei B)auto CJextern Djstatic55. 考虑卜面的函数原型:void tes
18、tDefaulPaiani(iiit a,int b=7,chaf z-*);下面函数调用中不合法的C。A)testDefaulPaiam(5);B)testDefaulParam(5,8);C)testDefhulPamm(5,#); D)testDefhulParam(O,O,*);56. 采用函数重载的目的在于DoA)实现共享E)减少空间C)提高速度D)使用方便,提高可靠性57. 要求通过函数来实现一种不太复杂的功能,并且要加快执行速度,选 用 A oA)内联函数E)重载函数C)递归函数D)嵌套函数58. 下面程序的输出结果是Do# i nchide void fun(iiit i);m
19、t mam()iiit n=2; fim(n); return 0;voidi) static iiit x=l; iiit v=l;+x;fun(i-l);B)2 2 2 2C)2 2 3 3D)2 2 3 2A)语法错误,不能输出正确结呆59 卞面程序的输出结果为B # 1 nclude void *xjnt *z)cout4- + *x,4- + *y,;,*(z+)endl;iiit a=10;iiit c=20;mt b=40;void main()prt(&a,&b,&c);prt(&a,&b,&c);A) 11,42,3112,21,41B) 11,41,2012,42,20C)
20、ll,21,4011,21,4112,42,2260下面程序的正确运行结果为C。# 1 nclude hm(int a,mt b)static iiit m=lj=2;i+=m+l;m=i+a+b;return(m);void main()iiit k=5、m=2p;p=fiin(k,m);p=fiin(k,m);coutpendl;A) 11,22B)12,23C) 11,23D) 10,2361. 卞面程序的输出结果是D o# i ncludevoid fun(iiit *y)static iiit t=3;*y=st;t-svoid main()inta=l,2,3,4;iiit i,x
21、=10;fdr(i=0;i4;i+)fim(a,&x);coutx,7r;coutendl;A) 12,3,4 E)(xo.oe c)4,4,4,4D)4,3,2,162. 下面程序的输出结果是Ao# i ncludemt fiin(char *s)chai *p=s:wlule(*p!=,0,)p卄;return (p-s);void main()coutfiinC,ABCDEFGHIJKLMNIPQRSTM 产 endl;A)20B)6C)19D)063. 下面程序的输出结果是Co# i ncludemtx=10;void fun(iiit c);void main()fim(x); co
22、utHx=Hxendl;x=l;A)x=O B)x=l C)x=10D)语法错误,不能输出正确结果64下面程序的执行结果是B。# i ncludevoid main()void swapQ;extern int a.b;a=3;b=10;swapQ;coutna=Ha,b=nendl;iiit a5b;void swap()mt temp;temp=a;a=b;b=temp;A)a=3,b= 10B)a=10,b=3 C)a=temp,b=tempD)语法错误,不能输出正确结果65. 下列程序的输出结果是A。# i ncludevoid f()static iiit i=15;i+;coutn
23、i=Hiendl;void main()fbr(int k=0;k2;k+)f();A)i=16i=17B)i=16i=15C)i=15i=16D)i=15i=1766. 在横线处填上适当的语句C ,使下面程序执行结果是13, 18, 23。# mcludeiiit add(int x,iiit y=8);void main()coutadd(a),7,;coutadd(a,add(a)f7,;coutadd(a,add(a,add(a)endl;mt add(int a,mt b)iiit s=a+b;return s;a=3b=3 C)mt a=5 D)mt b=567.在横线处填上适当的
24、语句A ,使下面的程序的执行结呆是192430 37 45。# mcludemt fiin(int a)static iiit x=10;iiit v=l;x+=a;a+;y+;return(x+y+a);void main()iiit i=3;wlule(i8)coutendl;A)coutfun(i+)n ”EjcoutvvftmUW nC)coutfiin(i+)MD)coiitfim(i),,”6&在C+语言中,局部变量的隐含存储类型是DA)auto Bjstatic C)externD)无存储类型69下面程序的输出结果为Do# mcludeint fim(char *s);mt ma
25、m()coufunChello);return 0;mt fiin(char *s)chai *t=s;wlule(*t!=,O,)t+;return(t-s);A)语法错,不能输出正确结果B)0C)6D)5第三章一、选择题1. 有关类的说法不正确的是D 。A) 类是一种用户自定义的数据类型.B) 只有类中的成员函数才能存取类中的私有成员.C) 在类中,如果不做特别说明,所指的数据均为私有类型.D) 在类中,如果不做特别说明,所指的成员函数均为公有类型。2. 类A是类E的友元,类E是类C的友元则_卫_是正确的.A)类B是类A的友元E)类C是类A的友元C)类A是类C的友元D)以上都不对3. 有下
26、面类的说明,有错误的语句是亠 。class XA) int a=2;B) X();public:C) X(int val):D) X();;4. 有关析构函数的说法不正确的是。A) 析构函数有且仅有一个B) 析构函数和构造函数一样可以有形参C) 析构函数的功能是用来释放一个对象D) 析构函数无任何函数类型5. 已知一个类X.是定义指向类X成员函数的指针,假设类有3个公有成void fl (mt), void f2(iiit)和 int a.A)X*P B)mtX:*pc=&X:a C) void(X:*pa)() D)X*p106. 下列的各类函数中,不是类的成员函数A) 构造函数 E)析构函
27、数C)友元函数D)拷贝构造函数7. 下列定义中,x是一个类一是定义指向对彖数组的指针P-A)x *p4 B)x (*p)4C)(x*)p4 D)x *p8. 已知p是一个指向类X数据成员m的指针,s是类X的一个对象。如果要给m赋值为3,_ C_是正确的.A)s.p=3B)s - p=3C)s.*p=3D)*s.p=39. 已知fl(int)是类X的公有成员函数,p是指向成员fl()的指针,采用它赋值,B 是正确的.A)p=flB)p=X:flC)p=x:fl D)p=fl()10. 已知类X中的一个成员函数说明如下:Void Set(x &a); 其中;X&a的含义是A)指向类X的指针为aE)
28、将a的地址赋给变量SetC)a是类X的对象引用,用来做为Set。的形参D)变量X是a按位相与作为函数Set()的参数11. 一个类的友元函数能够访问该类的旦 .A)私有成员E)保护成员C)公有成员D)所有成员12. 有关类和对象的说法不正确的是A)对象是类的一个实例E)个类只能有一个对彖C)任何一个对彖只能属于一个具体的类D)类与对彖的关系和数据类型和变量的关系相似13. 下列静态数据成员的特性中,_ D _是错误的.A)说明静态数据成员时前边要加关键字static来修饰E)静态数据成员在类体外进行初始化C)引用静态数据成员时,要在静态数据成员名前加 类名和作用域运算符D)静态数据成员不是所有
29、对象所共有的14. 类模板的使用实际上是类模板实例化成一个具体的亠 .A)类E)对象C)函数D)模板类15. 通常拷贝构造函数的参数表是_CA)某个对彖名E)某个对彖的成员名C)某个对象的引用名D)某个对象的指针名16. 关于常数据成员的说法不正确的是=D=.A)常数据成员的定义形式与一般常量的定义形式相同,只不过常数据成员的定义必须出现 在类体中.E)常数据成员必须进行初始化,并且不能被更新C)常数据成员通过构造函数的成员初始化列表进行初始化D)常数据成员可以在定义时直接初始化17. 已知X类.则当程序执行到语句X array3;时调用了=D= 次构造函数.A)0B)1C)2D)318. 类
30、模板的模板参数_ D_.A)只可作为数据成员的类型E)只可作为成员函数的返回类型C)只可作为成员函数的参数类型D)以上三者皆可19下列不是构造函数的特征A)构造函数的函数名与类名相同E)构造函数可以重载C)构造函数可以设置默认参数D)构造函数必须指定类型说明20下列程序中说明的公有成员是D _.class Locationmt X;public:void init(int uutX.mt lnitY);private: mt Y;public:iiit GetX();iiit GetY();A) XinitXjnt initY)C) GetXQ,GetY()D) E)和C)都是21. 类定义的
31、内容允许被其他对彖无限制地存取是_ C_.A) private 部分B)piotected 部分CJpublic部分D)以上都不对22. 关于下面程度段说法正确的是亠 .class Xprivate:iiit n;punblic:X(X&);X:X(X&x)n=x.nX objl,obj2;obj2(objl);A) 语句obj2 (objl):的功能是用对彖objl初始化具有相同类类型的对象obj2B) 语句obj2 (objl):的功能是用对彖obj2初始化具有相同类类型的对象objlC) X(X&x)也可以不使用引用参数而仍然是拷贝构造函数D) X(X&x)不能访问对象的私有成员23.
32、this指针是C+实现=B= 的一种机制.A)抽象E)封装C)继承D)重载24. 下面程序段中是内联函数的是_C chass locationprivate: mt x ,y;public:voiduutx.iiit uuty) x=initx;y=iiiity;iiit getxQ return x;mt gety();;inline mt location:gety()return y;A)lnit (iiit uutx,iiit inity) B) getx(),gety()C) A)和 E)都是 D) A)和 getx()25. 关于对彖成员的构造函数的调用顺序,说法正确的是_ C 。
33、A)与它们在成员初始化列表中给出的顺序相同B)与析构函数的调用顺序相同C)与它们在类中说明顺序相同D)以上说法都不对26. 类摸板timplateclassX,其中,友元函数f()成为该类模板实例化的每个模板类的友元,则其说明应为丄Ajfriend voidE)仕iend void f(X&);Cjfriend voidDjfiiend void C:f(X&);27. 运算符一*的功能是(A )。A)用来表示指向对彖指针对指向类成员指针的操作。E)用来表示对彖类成员的操作。C)用来表示指向对彖指针对类成员的操作。D)用来表示对彖指向类成员指针的操作。28下列说明中const char * p
34、tr;ptr应该是 C。A)指向字符的指针E)指向字符的常量指针C)指向字符串常量的指针D)指向字符串的常量指针29下面关于友元的描述中,错误的是(D )。A)友元函数可以访问该类的私有数据成员。B)一个类的友元类中的成员函数都是这个类的友元函数。C)友元可以提高程序的运行效率。D)类与类之间的友元关系可以继承。30. 个(C )允许拥护为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值可以取任意数据类型。A)函数模板B)模板函数C)类模板D)模板类31. 有关构造函数说法不正确的是(D )A)构造函数的名字和类的名字一样。B)在创建对象时,系统自动调用构造函数C)构造函数无
35、任何函数类型D)构造函数有且只有一个32. 下面对模板的声明,正确的是(C )A) templateB)templateC) template D) template33. ( D )是析构函数的特征。A)析祐函数可以有一个或多个参数B)析构函数定义只能在类体内C)析构函数名与类名不同D) 一个类中只能定义一个析构函数34. 下列关于构造函数的描述中,错误的是(C )A)构造函数可以设置默认参数B)构造函数在说明类变量时自动执行C)构造函数可以对静态数据成员进行初始化D)构造函数可以重载35. 对于类 A,语句 void (A:*P)(void);表明(A )A) P是一个指向类成员函数的指针
36、B) P是类A的一个成员C) P是类A的一个对象D) P是一个指向类对象的指针36. 运算符delete删除一个动态对象时(C )A)首先为该动态对彖调用构造函数,再释放其占用的内存B)首先释放该动态对彖占用的内存,再为其调用构造函数C)首先为该动态对彖调用析构函数,再释放其占用的内存D)首先释放动态对象占用的内存,再为其调用析构函数37. 在类的定义形式中,数据成员、成员函数和(A )组成了类定义体。A)成员的访问控制信息B)公有消息 C)私有消息 D)保护消息38. 对于任意一个类,析构函数的个数最多为( B )A) 0 B) 1C) 2D) 339. ( C )的功能是对对彖进行初始化。
37、A)析构函数 B)数据成员 C)构造函数D)静态数据成员40. 友元关系不能( A )A)继承B)是类与类之间是关系C)是一个类的成员函数与另一个类的关系D)提高程序的运行效率41. ( A )只能访问静态成员变量,静态成员函数和类以外的函数和数据不能访问类中 的非静态成员变量。A)静态函数 B)虚函数 C)构造函数D)析构函数42. 下面说法正确的是(B )A)内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B)内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C)类的内联函数必须在类体内定义D)类的内联函数必须在类体外关键字inline定义43. 下列关于成员访问权限
38、的描述中,不正确的是(B )A)公有数据成员和公有成员函数都可以被类对彖直接处理B)类的私有数据成员只能被公有成员函数以及该类的任何友元类或友元函数访问C)保护成员在派生类中可以被访问,而私有成员不可以D)只有类或派生类的成员函数和友元类或友元函数可以访问保护成员44. 局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用 (A )提供对全局变量的访问A)域运算符 B)类运算符 C)重载 D)引用45. 缺省析构函数的函数体是(C )A )不存在 B )随机产生的C )空的 D)无法确定的、46. 在下列关键字中,用以说明类中公有成员的是(A )A) public B) p
39、rivate C) protected D) friend47. 下面说法中正确的是(B )A)一个类只能定义一个构造函数,但可以定义多个析构函数B)一个类只能定义一个析构函数,但可以定义多个构造函数C)构造函数与析构函数同名,只要名字前加了一个求反符号()D)构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是“id类型也不 可以48. 关于delete运算符的下列描述中,(C )是错误的。A)它必须用语new返回的指针B)它也适用于空指针C)对一个指针可以使用多次该运算符D)指针名前只用一对方扌舌号符,不管所删除数组的维数49. 关于成员函数的特征的下述描述中,错误的是(A )
40、A)成员函数一定是内联函数B)成员函数可以重载C)成员函数可以设置参数的默认值D)成员函数可以是静态的50. 假定x为一个类,执行X a32;语句时会自动调用该类的构造函数(B )次A) 2 B) 3 C) 4 D) 551. 由于数据隐藏的需要,静态数据成员通常被说明为(A )A)私有的 B)公有的 C)保护的 D)不可访问的52. 假定MyClass为一个类,则该类的拷贝构造函数的声明语句为(C )A) MvClass(MyClass x)B) MvClass&(MvClass x)C) MvClass(MyClass &x)D) MyClass(MyClass *x)53. 关于new运
41、算符的下列描述中,(D )是错误的.A)它可以用来动态创建对彖和对象数组B)使用它创建对象或对彖数组,可以使用运算符DELETE删除C)使用它创建对象时要调用构造函数D)使用它调用对象数组时不允许指定初始值54. 对于常成员函数,下列描述正确的是(C )A)常成员函数只能修改常数据成员B)常成员函数只能修改一般数据成员C)常成员函数不能修改任何数据成员D)_成员函数只能通过常对彖调用55. 友元的作用是(A )A)提高程序是运行效率B)加强类的封装性C)实现数据的隐藏性D)增加成员函数的种类56. 个类的友元函数或友元类能够通过成员操作符访问该类的(D )A)私有成员B)公有成员C)保护成员D
42、)公有成员、保护成员和私有成员57. 下面说法中正确的是(D )A)当声明的内容不同时,声明同一个名字的两个类是允许的B)不完全声明的类也可以实例化C)声明同一个名字的两个类时,要求声明的内容也相同D)声明同一个名字的两个类是错误的58. 下面对静态数据成员的描述中,正确的是(A )A)静态数据成员是类的所有对象共享的数据B)类的每个对象都有自己的静态数据成员C)类的不同对象有不同的静态数据成员值D)静态数据成员不能通过类的对彖调用59. 下列关于对彖数组的描述中,错误的是(D )A)对彖数组的下标是从0开始的B) 对象数组的数组名是一个常量指针C) 对象数组的没个元素是同一个类的对彖D) 对
43、彖数组只能赋初值,而不能在定义后赋值60. 对于卞面定义的类A在函数f()中将对彖成员n的值修改为60的语句应该是(C ) class Apublic:x)n=x;coid SetNum(iiit nl)n=nl;privateiiit n;intfOa*pti-new A(6);A) A(60)B) SetNum(60)C) Ptr-SetNum(60)D) Ptr-n=6061已:pnntQ函数是一个类的常成员函数,它无返回值,下列表示中,(A )是正确的A) void prmtQ constB) const void priiitQC) void const prmtQD) void p
44、rmt(const)62.下面是类MyClass的定义,对定义中各语句描述正确的是(D )class MyClassprivate:mt XyZ;public;coid MyClass(iiit a)X=a;iiit f(int a jnt b)X=a;Y=b;hit f(int a,iiit bjnt c=0)a;Y=b;Z=c;Static coid gQ X=10;A) 语句是类MyClass的构造函数定义B) 语句和语句实现类成员函数的重载C) 语句实现对类成员变量X的更新操作D) 语句和都不正确63友元访问类的对彖的成员时使用( D )A)类的成员名C) “类名:成员名”的形式64
45、卜列程序输出的结果正确的是B ) tlus指针指向成员名D) “对彖名.成员名”的形式B )# mcludecoid fun()static mt n=10;n+;cout n=nnendl;void main()for (mt I=1;I3;I+)A) n=ll n=llB) n=ll n=12C) n=10 n=llD) n=10n=1065.下面类模板的定义中,不正确的是(C )A) templateclass ATx,y;B) templateclass Aprivate:T x;C) templateclass Apublic:T x;D) templateclass A prote
46、cted :t x;66. 静态成员遵循类的其他成员所遵循的访问限制,除了( B )A)静态成员函数B)静态数据成员初始化C)私有静态数据成员D)公有静态成员函数67. 空类的声明(B )是正确A) class 类名; B) class 类名;C) class 类名 D) class 类名68可以用“px*p”来访问类A的对象a的数据成员,则下面正确的是(B )A) px是指向类数据成员的指针B) p是指向类数据成员的指针C) p是指向类的对象的指针D)无法确定指针类型69. 关于类中数据成员的生存期的说法正确的是(D )A)与对彖的生存期无关B)比对象的生存期长C)比对彖的生存期短D)有对象
47、的生存期决定70. 类example的析构函数为( D )A ) example ();B ) example ()C ) -example ( );D) -example ()71. 以知AA是一个类,则执行语句AA a;后(A )A)自动调用无参构造函数B)自动调用有参构造函数C)自动调用拷贝构造函数D)产生一个对象a,但不调用任何函数72.对于类模板 tanytemp,执行语句 taiiytempiobject(23,32);后(C )A)产生的模板类为tanytenipB)产生的模板类为lobjectC)产生的模板类为tanytempD)类模板实例化对象74. 类的构造函数被自动调用执
48、行的情况是在定义该类的(C )A)成员函数时 B)数据成员时 C)对象时 D)友元函数时75. 说明友元函数使用关键字(A )A) friendB) static C) const D) colatile76. 有关类的作用域.,下面说法中不正确的是(B )A)说明类时所使用的一对花括号形成所谓的类作用域B)类作用域不包含类汇总成员函数的作用域D)类作用域中说明的标识符只在类中可见F)在可能出现两义性的情况下,必须使用作用域限定符”::”77. 类的静态成员(C )A)是指静态数据成员C)是指静态函数成员C)为该类的所有对彖共享 D)遵循类的其他成员做遵循的所有访问权限78. 允许访问类的所有
49、对彖的私有成员,公有成员和保护成员的是(A )A)友元函数 E)成员函数C)内置函数 D)重载函数79. 形如X:X(X&)的构造函数称为(D )A)拷贝函数 B)复制函数C)初始化函数D)拷贝初始化构造函数80已知example是已定义的类,则程序结束前,共存在(B )个对象.# uicludemain() example x(5);example arr2= 1,2;x=10;x.piint();x=example(15);x.piint();A) 3B)4C)7D)881. 所有在函数中定义的变量,连同形式参数,都属于(B )A)全局变量B)局部变量 C)静态变量D)寄存器变量82. 在
50、C+中,封装是借助于(B )达到的.A)结构 B)类 C)数组D)函数83. 下面不属于类的存取权限的是(B )A) public B) static C) protected D) private84指向类X中类型为type的数据成员的指针的说明形式为(A )A) type X:*pointer B) X:type*pointer C) type *X:poiiiter D) X:*type pointer85.己知:pnnt()函数是一个类的常成员函数,它无返回值,下列表示中,(A)是正确的A) void prmtQ constB) const void pruit()C) viod const prmtQD) void prmt(const)第四、五章1. 在c卄中使用类有两种方法:一种是类的实例化,即生成类的对彖,并参与系统的运 行;另一种是通过B派生出新的类。A)复用 B)继承 C)单继承 D)多继承2. 下面关于纯虚函数和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育广告AI应用企业制定与实施新质生产力项目商业计划书
- BIPV系统定制化软件平台企业制定与实施新质生产力项目商业计划书
- 体育场馆AI应用企业制定与实施新质生产力项目商业计划书
- 医疗无人机配送服务行业跨境出海项目商业计划书
- 基于UbD模式的初中生物跨学科主题教学探索-以“海洋保护”主题活动为例
- 2016年湖北省孝感市中考数学试题【含答案解析】
- 《定积分》教学教案1
- 大班健康胖的课件
- 砌筑工新员工培训计划
- 胆汁性肝硬化护理查房
- 2025年非营利组织运营师考试试题及答案详解
- 村干部考公务员试题及答案
- 校园食品安全和膳食经费管理突出问题专项整治工作方案范文
- 住建局停工通知回复函
- 本地吃喝玩乐商业计划书
- 造价咨询应急管理制度
- 2025年《铁道概论》考试复习题库(含答案)
- 2025农商行借款合同模板
- 工商业光伏项目可行性研究报告
- 2025年福建福州地铁春季校园招聘105人笔试参考题库附带答案详解
- 公转私提额合同范例
评论
0/150
提交评论