ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:69.48KB ,
资源ID:5535961      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5535961.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c++选择题题集docx.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c++选择题题集docx.docx

1、c+选择题题集docxC+选择题集1.下列的各类函数中,不是类的成员函数。 ( C )A)构造函数 B) 析构函数 C) 友元函数 D) 拷贝初始化构造函数2.作用域运算符“:”的功能是:( B )A)标识作用域的级别的 B) 指出作用域的范围的C)给定作用域的大小的 D)标识成员是属于哪个类的3.下列说明中 const char *ptr ;其中 ptr 应该是:( C )A)指向字符常量的指针 B) 指向字符的常量指针C)指向字符串常量的指针 D)指向字符串的常量指针4.已知: print() 函数是一个类的常成员函数,它无返回值,下列表示中,是正确的。 ( A )A)void print

2、()const ; B)const void print() ;C)void const print() : D)void print(const) ;5.在类定义的外部,可以被访问的成员有( C )A)所有类成员 B)PriVate 的类成员C)public 的类成员 D)public 或 private 的类成员6.要求打开文件 d:file.dat ,可写入数据,正确的语句是: ( B )ifstream infile(d:file.dat, ios:in) ;ifstream infile(d:file.dat, ios:in) ;ofstream infile(d:file.dat,

3、 ios:out) ;fstream infile(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语言相比,它在求解问题方法上进行的 最大改

4、进是:( 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.考虑函数原型 void test(int a,int b=7,char ch=*), 下面的函数调用中,属于不合法调 用的是:( C )A)test(5) B)test(5,8) C)tes

5、t(6,#) D)test(0,0,*) ;15.下列关于类和对象的叙述中,错误的是: ( A )A) 一个类只能有一个对象; B) 对象是类的具体实例;C)类是对某一类对象的抽象; D)类和对象的关系是一种数据类型与变量的关系。16.已知: int m=10 ;下列表示引用的方法中,正确的是: ( C )A)int &Z ; B)int &t=10 ; C)int &X=m ; D)float &f=&m ;17.对于 int *pa5 ;的描述中,正确的是 :( D )A) pa 是一个指向数组的指针,所指向的数组是 5 个 int 型元素B) pa 是一个指向某数组中第 5 个元素的指针

6、,该元素是 int 型变量C) pa5 表示数组的第 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

7、条语句后输出rad值为:(C )StatiC int hot=200 ;int &rad=hot ;hot=hot+100 ;COutVVradVVendl ;A) 0 B) 100 C) 300 D) 20022.类clase CC1的说明如下,错误的语句是:(A )clase CC1int a=2 ; /(A)CC1();/(B)public:CC1(i nt val);/(C)CC1();/(D);23.下列各类函数中,不是类的成员函数是:(C )A)构造函数 B) 析构函数C)友元函数 D)拷贝构造函数24.类的指针成员的初始化是通过函数完成的,这个函数通常是: (C )A)析构函数

8、B)构造函数 C)其它成员函数 D)友元函数25.关于构造函数的说法,不正确的是:(A )A)没有定义构造函数时,系统将不会调用它 B)其名与类名完全相同C)它在对象被创建时由系统自动调用 D)没有返回值26.按解释中的要求在下列程序划线处填入的正确语句是: (C )#include ViOStream.hclass Basepublic:void fun()coutvvBase:funvvendl ; ;class DeriVed:PUbIiC BasePUbIiC:void fun() / 在此空格处调用基类的函数fun()COutVVDerived:funfun();27.在C+中编译器

9、所生成的文件的扩展名为( B )A) .cpp B) .obj C) .lib D) .exe28.在保护继承的情况下,基类的成员(私有的除外)在派生类中的访问权限( C )A)受限制 B)保持不变C)受保护D)不受保护29.有如下一段程序:int f1(float) ;int f2(char) ;int f3(float) ;int f4(float) ;int ( *pf) ( float );则以下不合法的是:(C)A)int ( *p)( float) =&f1 ;B)Pf= &f4 ;C)Pf= &f2 ;D)Pf= &f3 ;30.通常拷贝构造函数的参数是:(C)A)对象名 B)对

10、象的成员名 C)对象的引用名 D)对象的指针名31.系统在调用重载函数时,不能作为确定哪个重载函数被调用的依据是: (D )A)参数个数 B)参数类型 C)函数名称 D)函数的返回值类型32.下列描述中,正确的是:(D )A) 所有的运算符号都可以重载。B) 基类类型的指针可以指向子类,子类类型的指针也可以指向基类。C) 可以在类的构造函数中对静态数据成员进行初始化。D) 动态联编要满足两个条件:被调用的成员函数是虚函数;用指针或引用调用虚函数。33.关于成员函数特征的描述中,错误的是:(A )A)成员函数一定是内联函数 B) 成员函数可以重载C)成员函数可以设置参数的默认值 D)成员函数可以

11、是静态的34.下列关于构造函数的描述中,错误的是:(D )A)构造函数可以设置默认参数; B)构造函数在定义类对象时自动执行C)构造函数可以是内联函数; D)构造函数不可以重载35.下面描述中,表达错误的是:(B )36.D) 私有继承时,基类中的 public 成员在派生类中是 private的最大改进是:( B )A)面向过程 B)面向对象 C)安全性 D)复用性38.有如下程序:执行后的输出结果应该是:#includeclass clastatic int n ;public:cla()n+ ; cla()n- ;int cla:n=0 ;int main()cla * p=new cl

12、a ;delete p ;coutn=cla:get_n()endl ;return 0 ;39.有如下程序:执行后的输出结果应该是:#include class A public:A()coutA ;class C:public Apublic:C()coutC ;void main()C cobj ;A) AC B) CA C) A D) C40.有如下程序:执行后的输出结果应该是: ( D )#include class BASEpublic:BASE()coutBASE;class DERIVED: public BASEpublic:DERIVED()coutC): ?: new d

13、elete D)+ - ?: sizeof47.如果类A被说明成类B的友元,则(C )A)类A的成员即是类B的成员B)类B的成员即是类A的成员C)类A的成员函数可以访问类 B的所有成员D)类B的成员函数可以访问类 A的所有成员48.下面关于友元的描述中,错误的是: ( D )A)友元函数可以直接访问该类的私有成员。B)一个类的友元类中的所有成员函数都是这个类的友元函数。C)利用友元可以提高程序的运行效率,但却破坏了封装性。D)友元关系不能被继承,是双向可交换的。49.下列虚基类的声明中,正确的是: ( B )A)class virtual B: public A B)class B: virt

14、ual public AC)class B: public A virtual D)virtual class B: public A50.C+设置虚基类的目的是(A )A)消除二义性 B)简化程序 C)提高运行效率 D)减少目标代码51.有如下模板定义:template T fun(T x,T y)return x*x+y*y ;在下列对 fun 的调用中,错误的是:( C )A)fun(2,8) B)fun(2.0,8.2) C)fun(2.3,8) D)fun(2,8.3)52.通常情况下,函数模板中的类型参数个数不能是 ( A )A)0 个 B)1 个 C)2 个 D)3 个53.以下

15、关于 this 指针的叙述中正确的是: ( D )A)任何与类相关的函数都有this指针; B)类的成员函数都有this指针;C)类的友员函数都有this指针; D)类的非静态成员函数才有 this指针;54.当一个类的某个函数被说明为 virtual 时,在该类的所有派生类中的同原型函数 ( A )A)都是虚函数 B) 只有被重新说明时才是虚函数C)都不是虚函数 D) 只有被重新说明为VirtUal时才是虚函数55.在派生类中重新定义虚函数时,必须在下列哪方面与基类保持一致。 ( A )A)参数类型 B)参数名字 C)操作内容 D)赋值56.关于 const 关键字说法错误的是 ( D )A

16、)const 关键字可以修饰对象和成员函数 B)const 对象不能被修改C)const 成员函数不能修改类数据成员D)const 可以用于说明类57. 执行如下程序后的输出结果是: (B )#includeclass teststatic int count ;public:test()count+ ;test()count- ;static int getCount()return count;int test:count=0 ;int main()test * p=new test ;test * q=new test ;delete p ;coutcount=test:getCount

17、()endl ;return 0 ;A)count=0 B)count=1 C)count=2 D)count=358.关于类模板的说法正确的是: ( B )A)类模板的主要作用是生成抽象类B)类模板实例化时,编译器将根据给出的模板实参生成一个类C)在类模板中的数据成员具有同样类型D)类模板中的成员函数没有返回值59.有如下说明语句 int a10=1,2,3,4,5,6,7,8,9,10 ;int *p=a ;则数值为 9 的表达式是:( B )。A)*p+9 B)*(p+8) C)*p+=9 D)p+760.以下关键字不能用来声明类的访问权限的是: ( C )A)public B)priv

18、ate C)static D)protected61.实现运行时的多态性采用 ( D )A)重载函数 B)构造函数 C)析构函数 D)虚函数62.下列说明语句中正确的是: ( D )A)int a,&ra=a,&ref=ra ; B)int &refa10 ;C)int a,&ra=a,&*refp=&ra ; D)int *pi, *&pref=pi ;63.进行文件操作时需要包含头文件( C )A)iostream.h B)stdio.h C)fstream.h D)stdlib.h64.使用如 setw() 的格式操纵符时需要包含头文件( C )A)iostream.h B)fstrea

19、m.h C)iomanip.h D)stdlib.h65.对C+语言和C语言的兼容性,描述正确的是:( A )A)C+兼容C B)C+部分兼容C C)C+不兼容C D)C 兼容C+66. 在C+中使用流进行输入输出,其中用于屏幕输出的对象是:( C )A)cerr B)cin C)cout D)cfile67.对使用关键字new所开辟的动态存储空间,释放时必须使用( C )A)free B)create C)delete D)realse68.如没有使用 private 关键字定义类的数据成员,则默认为( A )A)private B)public C)protected D)friend69

20、. 使用值传递方式将实参传给形参,下列说法正确的是:( A )A)形参是实参的备份 B) 实参是形参的备份C)形参和实参是同一对象 D)形参和实参无联系70. 在函数调用时,如某一默认参数要指明一个特定值,则有( A )A)其之前所有参数都必须赋值 B) 其之后所有参数都必须赋值C)其前、后所有参数都必须赋值 D)其前、后所有参数都不必赋值71. 设存在函数 int max(int , int) 返回两参数中较大值,若求 22, 59, 70 三者中最大值,下 列表达式不正确的是:( C )A)int m = max(22 , max(59, 70) ; B)int m = max(max(2

21、2 , 59), 70);C)int m = max(22 , 59, 70); D)int m = max(59 , max(22, 70) ;72. 下列哪个类型函数不适合声明为内联函数( A )A)函数体语句较多 B)函数体语句较少 C)函数执行时间较短 D)函数执行时间过长73.int Func(int , int) ;不可与下列哪个函数构成重载( B )A)int Func(int , int , int) ; B)double Func(int , int) ;C)double Func(double , double) ; D)double Func(int , double)

22、;74. 类的私有成员可在何处访问( D )A) 通过子类的对象访问 B) 本类及子类的成员函数中C)通过该类对象访问 D) 本类的成员函数中75如果没有为一个类定义任何构造函数的情况下,下列描述正确的是:( A )A)编译器总是自动创建一个不带参数的构造函数 B)这个类没有构造函数C)这个类不需要构造函数 D) 该类不能通过编译76一个类可包含析构函数的个数是:( B )A)0 个 B)1 个 C)0 个或 1 个 D)0 个或多个77一个类可包含构造函数的个数是:( D )A)0 个 B)0 个或 1 个 C)0 个或多个 D)1 个或多个78this 指针存在的目的是:( B )A) 保

23、证基类公有成员在子类中可以被访问B) 保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码C) 保证基类保护成员在子类中可以被访问D) 保证基类私有成员在子类中可以被访问79下列关于类的权限的描述错误的是:( A )A) 类本身的成员函数只能访问自身的私有成员B) 类的对象只能访问该类的公有成员C) 普通函数不能直接访问类的公有成员,必须通过对象访问D) 一个类可以将另一个类的对象作为成员80在编译指令中,宏定义使用哪个指令( B )A)#include B)#define C)#if D)#else81 设类A将其它类对象作为成员,则建立 A类对象时,下列描述正确的是:(B ) A)

24、A类构造函数先执行 B)成员构造函数先执行C)两者并行执行 D) 不能确定82下列描述错误的是:( A )A)在创建对象前,静态成员不存在 B)静态成员是类的成员C)静态成员不能是虚函数 D) 静态成员函数不能直接访问非静态成员83对于友元描述正确的是:( B )A)友元是本类的成员函数 B)友元不是本类的成员函数C)友元不是函数 D) 友元不能访问本类私有成员84在哪种派生方式中,派生类可以访问基类中的 protected 成员( B )A)public 和 private B)public 和 protectedC)protected 和 private D) 仅 protected85.

25、在每个C+程序中都必须包含的一个函数是( B )A)main() B)MAIN() C)name() D)function()86.设X和y均为bool量,则x&y为真的条件是(A )A)它们均为真 B)其中一个为真 C)它们均为假 D)其中一个为假87.下面的哪个保留字不能作为函数的返回类型( C )A)void B)int C)new D)long88.假定 a 为一个整型数组名,则元素 a4 的字节地址为( C )A)a+4 B)a+8 C)a+16 D)a+3289.假定有类AB有相应的构造函数定义,能正确执行“ABa,b(5), c3 , *p2=&a,&b;语句,请问执行完此语句后

26、共调用该类构造函数的次数为( C )A)3 B)4 C)5 D)690.假定有类AB有相应的构造函数定义,能正确执行“ABa,b(5), c3 , *p2=&a,&b;语句,请问执行完此语句后共调用该类析构函数的次数为( C )A)3 B)4 C)5 D)691对类中声明的变量,下列描述中正确的是:( B )A)属于全局变量 B)属于该类,某些情况下也可被该类不同实例所共享C)只属于该类 D) 任何情况下都可被该类所有实例共享92.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果, 则该成员函数的声明语句为( ? )A)AB operator+(AB & A , AB & B) ; B)AB & operator+(AB A) ;C)AB operator+(AB & A) ; D)AB * operator+(AB A) ;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1