考试中经典的c++选择题库汇编.docx
- 文档编号:1960668
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:13
- 大小:23.26KB
考试中经典的c++选择题库汇编.docx
《考试中经典的c++选择题库汇编.docx》由会员分享,可在线阅读,更多相关《考试中经典的c++选择题库汇编.docx(13页珍藏版)》请在冰豆网上搜索。
考试中经典的c++选择题库汇编
C++选择题集
1.下列的各类函数中,不是类的成员函数。
(C)
A)构造函数B)析构函数C)友元函数D)拷贝初始化构造函数
2.作用域运算符“:
:
”的功能是:
(B)
A)标识作用域的级别的B)指出作用域的范围的
C)给定作用域的大小的D)标识成员是属于哪个类的
3.下列说明中constchar*ptr;其中ptr应该是:
(C)
A)指向字符常量的指针B)指向字符的常量指针
C)指向字符串常量的指针D)指向字符串的常量指针
4.已知:
print()函数是一个类的常成员函数,它无返回值,下列表示中,是正确的。
(A)
A)voidprint()const;B)constvoidprint();
C)voidconstprint():
D)voidprint(const);
5.在类定义的外部,可以被访问的成员有(C)
A)所有类成员B)private的类成员
C)public的类成员D)public或private的类成员
6.要求打开文件"d:
\file.dat",可写入数据,正确的语句是:
(B)
ifstreaminfile("d:
\file.dat",ios:
:
in);
ifstreaminfile("d:
\\file.dat",ios:
:
in);
ofstreaminfile("d:
\file.dat",ios:
:
out);
fstreaminfile("d:
\\file.dat",ios:
:
in|ios:
:
out);
7.关于类和对象不正确的说法是:
(C)
A)类是一种类型,它封装了数据和操作B)对象是类的实例
C)一个类的对象只有一个D)一个对象必属于某个类
8.在C++中,类与类之间的继承关系具有(C)
A)自反性B)对称性C)传递性D)反对称性
9.结构化程序设计所规定的三种基本控制结构是:
(C)
A)输入、处理、输出B)树形、网形、环形
C)顺序、选择、循环D)主程序、子程序、函数
10.C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是:
(B)
A)面向过程B)面向对象C)安全性D)复用性
11.在C++中实现封装是借助于(B)
A)枚举B)类C)数组D)函数
12.C++语言是从早期的C语言逐渐发展演变而来的与C语言相比,它在求解问题方法上进行的最大改进是:
(B)
A)面向过程B)面向对象C)安全性D)复用性
13.在C++中用(D)能够实现将参数值带回。
a)数组b)指针c)引用d)上述ABC都可
14.考虑函数原型voidtest(inta,intb=7,charch="*"),下面的函数调用中,属于不合法调用的是:
(C)
A)test(5)B)test(5,8)C)test(6,"#")D)test(0,0,"*");
15.下列关于类和对象的叙述中,错误的是:
(A)
A)一个类只能有一个对象;B)对象是类的具体实例;
C)类是对某一类对象的抽象;D)类和对象的关系是一种数据类型与变量的关系。
16.已知:
intm=10;下列表示引用的方法中,正确的是:
(C)
A)int&Z;B)int&t=10;C)int&X=m;D)float&f=&m;
17.对于int*pa[5];的描述中,正确的是:
(D)
A)pa是一个指向数组的指针,所指向的数组是5个int型元素
B)pa是一个指向某数组中第5个元素的指针,该元素是int型变量
C)pa[5]表示数组的第5个元素的值,是int型的值
D)pa是一个具有5个元素的指针数组,每个元素是一个int型指针
18.定义析构函数时,应该注意:
(C)
A)其名与类名完全相同B)返回类型是void类型
C)无形参,也不可重载D)函数体中必须有delete语句
19.在公有继承的情况下,基类的成员(私有的除外)在派生类中的访问权限(B)
A)受限制B)保持不变C)受保护D)不受保护
20.下列不是函数重载所要求的条件是:
(D)
A)函数名相同B)参数个数不同
C)参数类型不同D)函数返回值类型不同
21.在C++中执行以下4条语句后输出rad值为:
(C)
staticinthot=200;
int&rad=hot;
hot=hot+100;
cout< A)0B)100C)300D)200 22.类claseCC1的说明如下,错误的语句是: (A) claseCC1{ inta=2;//(A) CC1();//(B) public: CC1(intval);//(C) ~CC1();//(D) }; 23.下列各类函数中,不是类的成员函数是: (C) A)构造函数B)析构函数 C)友元函数D)拷贝构造函数 24.类的指针成员的初始化是通过函数完成的,这个函数通常是: (C) A)析构函数B)构造函数C)其它成员函数D)友元函数 25.关于构造函数的说法,不正确的是: (A) A)没有定义构造函数时,系统将不会调用它B)其名与类名完全相同 C)它在对象被创建时由系统自动调用D)没有返回值 26.按解释中的要求在下列程序划线处填入的正确语句是: (C) #include classBase{ public: voidfun(){cout<<"Base: : fun"< }; classDerived: publicBase{ public: voidfun() {//在此空格处调用基类的函数fun() cout<<"Derived: : fun"< }; A)fun();B)Base.fun();C)Base: : fun();D)Base->fun(); 27.在C++中编译器所生成的文件的扩展名为(B) A).cppB).objC).libD).exe 28.在保护继承的情况下,基类的成员(私有的除外)在派生类中的访问权限(C) A)受限制B)保持不变C)受保护D)不受保护 29.有如下一段程序: intf1(float); intf2(char); intf3(float); intf4(float); int(*pf)(float); 则以下不合法的是: (C) A)int(*p)(float)=&f1;B)pf=&f4;C)pf=&f2;D)pf=&f3; 30.通常拷贝构造函数的参数是: (C) A)对象名B)对象的成员名C)对象的引用名D)对象的指针名 31.系统在调用重载函数时,不能作为确定哪个重载函数被调用的依据是: (D) A)参数个数B)参数类型C)函数名称D)函数的返回值类型 32.下列描述中,正确的是: (D) A)所有的运算符号都可以重载。 B)基类类型的指针可以指向子类,子类类型的指针也可以指向基类。 C)可以在类的构造函数中对静态数据成员进行初始化。 D)动态联编要满足两个条件: 被调用的成员函数是虚函数;用指针或引用调用虚函数。 33.关于成员函数特征的描述中,错误的是: (A) A)成员函数一定是内联函数B)成员函数可以重载 C)成员函数可以设置参数的默认值D)成员函数可以是静态的 34.下列关于构造函数的描述中,错误的是: (D) A)构造函数可以设置默认参数;B)构造函数在定义类对象时自动执行 C)构造函数可以是内联函数;D)构造函数不可以重载 35.下面描述中,表达错误的是: (B) A)公有继承时,基类中的public成员在派生类中仍是public的 B)公有继承时,基类中的private成员在派生类中仍是private的 C)公有继承时,基类中的protected成员在派生类中仍是protected的 D)私有继承时,基类中的public成员在派生类中是private的 36.C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,C++在求解问题方法上进行的最大改进是: (B) A)面向过程B)面向对象C)安全性D)复用性 37.有如下类声明“classA{intx;……};”,则A类的成员x是: (B) A)公有数据成员B)私有数据成员C)公有成员函数D)私有成员函数 38.有如下程序: 执行后的输出结果应该是: (A) #include classcla{ staticintn; public: cla(){n++;} ~cla(){n--;} staticintget_n(){returnn;} }; intcla: : n=0; intmain() { cla*p=newcla; deletep; cout<<"n="< : get_n()< return0; } A)n=0B)n=1C)n=3D)n=4 39.有如下程序: 执行后的输出结果应该是: (A) #include classA{ public: A(){cout<<"A";} }; classC: publicA{ public: C(){cout<<"C";} }; voidmain(){Ccobj;} A)ACB)CAC)AD)C 40.有如下程序: 执行后的输出结果应该是: (D) #include classBASE{ public: ~BASE(){cout<<"BASE";} }; classDERIVED: publicBASE{ public: ~DERIVED(){cout<<"DERIVED";} }; voidmain(){DERIVEDx;} A)BASEB)DERIVEDC)BASEDERIVEDD)DERIVEDBASE 41.类TM和类TN是两个独立的类,那么类TM中哪种形式的数据成员一定是不允许的: (C) A)TM*aB)TN&aC)TMaD)TNa; 42.通过下述哪一项调用虚函数时,采用动态联编。 (A) A)对象指针B)对象名C)成员名限定D)派生类名 43.在下述哪种情况下适宜采用inline定义内联函数。 (C) A)函数体含有循环语句B)函数体含有递归语句 C)函数代码少、频繁调用D)函数体含有switch语句 44.创建动态对象,需要使用操作符(A) A)newB)deleteC).D)* 45.删除动态对象,需要使用操作符(B) A)newB)deleteC).D)* 46.在C++中不能被重载的一组运算符是: (A) A): : ? : .sizeofB)? : .sizeof++-> C): : ? : newdeleteD)++--? : sizeof 47.如果类A被说明成类B的友元,则(C) A)类A的成员即是类B的成员 B)类B的成员即是类A的成员 C)类A的成员函数可以访问类B的所有成员 D)类B的成员函数可以访问类A的所有成员 48.下面关于友元的描述中,错误的是: (D) A)友元函数可以直接访问该类的私有成员。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考试 经典 c+ 选择 题库 汇编