C语言考试复习题

上传人:沈*** 文档编号:105678442 上传时间:2022-06-12 格式:DOC 页数:9 大小:106.50KB
收藏 版权申诉 举报 下载
C语言考试复习题_第1页
第1页 / 共9页
C语言考试复习题_第2页
第2页 / 共9页
C语言考试复习题_第3页
第3页 / 共9页
资源描述:

《C语言考试复习题》由会员分享,可在线阅读,更多相关《C语言考试复习题(9页珍藏版)》请在装配图网上搜索。

1、C语言考试复习题类与对象一、选择填空1已知一个类A,()是指向A类成员的指针。假设类有3个公有成员;void(皿),void口f2)t和int。aA.AQ*;Qb.int:A*pc=&::a;C. void:A:*pa();D. A*pp;答案:C。2.运算符-的*功能是()。a.用来表示指向对象指针对指向类成员指针的操作。B.用来表示对象对指向类成员指针的操作。C用来表示指向对象指针对类成员的操作。D用来表示对象类成员的操作。答案:A。3. 已知f1(iDt是类A的公有成员函数,p是指向成员函数01()的指针,釆用()是正确的。Ap=f;1Bp=A:f1;Cp=A:f1();Dp=f(1);

2、答案:B。4已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象。如果要给0赋值为5()是正确的。AA1.p=;5BA1-p=;5CA1.*p;=5D*A1.p;=5答案:C。5已知类A中一个成员函数说明如下所示。VOidQS(A&a);其中,A&的含意是()。a.指向类a的指针a。b.将a的地址值赋给变量setC.a是类a的对象引用,用来作函数:et()的形参。D变量a与a按位相与作为函数set()的参数。答案:Co6下列关于对象数组的描述中,()是错误的。A. 对象数组的下标是从0开始的。B. 对象数组的数组名是一个常量指针。C. 对象数组的每个元素是同一个类的对象。D. 对象数组

3、只能赋初值,而不能被赋值。答案:Do7下列定义中,()是定义指向数组的指针poA. int*p5;B. int(*p)5;C. (int*)p5;D.int*p;答案:Bo8. 下列说明中constchar*ptrptr应该是()。A. 指向字符常量的指针。B. 指向字符的常量指针。C. 指向字符串常量的指针。D. 指向字符串的常量指针。答案:Co9已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。A. voidprint()const;B. constvoidprint();C. voidconstprint();D. voidprint(const)o答案

4、:Ao10. 关于new运算符的下列描述中,()是错的。A. 它可以用来动态创建对象和对象数组。B. 使用它创建的对象或对象数组,可以使用运算符delete删除。C. 使用它创建对象时要调用构造函数。D. 使用它创建对象数组是必须指定初始化。答案:Do11. 关于delete运算符的下列描述中,()是错的。A. 它必须用于new返回的指针。B. 它也适用于空指针。C. 对一个指针可以适用多次该运算符。D. 指针名前只用一对方括号符,不管所删除数组的维数。答案:Co12. 具有转换函数功能的构造函数,应该是()。A. 不带任何参数的构造函数。B. 带有一个参数的构造函数。C. 带有两个以上的参数

5、的构造函数。D. 默认构造函数。答案:Bo二、判断下列描述是否正确。1指向对象的指针和指向类的成员的指针在表达形式上是不相同的o(正确)2已知:m是类A的对象,n是类A的公有数据成员,p是指向类A中n成员的指针。下述两种表示是等价的。m.n和m.*p.(正确)3指向对象的指针与独享都可以作为函数参数,但是使用前者比后者好些。(正确)4, 。对象引用作函数参数比用对象指针更方便些。(正确)5对象数组的元素可以是不同类的对象。(错误)6对象数组既可以赋初值又可以赋值。(正确)7指向对象数组的指针不一定必须指向数组的首元素。(正确)8-维对象指针数组的每个元素应该是某个类的对象的地址值。(正确)9.

6、 constchar*p说明了p是指向字符串常量的指针。(正确)10. 个能够更新的变量使用在一个不能更新的环境中是不破坏类型保护的,反之亦然。(错误)11一个类的构造函数中可以不包含对其子对象的初始化o(错误)12转换函数不是成员函数,它是用来进行强制类型转换的o(错误)继承性和派生类一、选择填空1下列对派生类的描述中,()是错的。A. 个派生类可以作为另外一个派生类的基类。B. 派生类至少有一个基类。C. 派生类的成员除了它自己的成员外,还包含了它的基类成员。D. 派生类中继承的基类成员的访问权限到派生类保持不变。答案:Do2派生类的对象对它的基类中()是可以访问的。A. 公有继承的公有成

7、员。B. 公有继承的私有成员。C. 公有继承的保护成员。D. 私有继承的公有成员。答案:A。3对基类和派生类的关系描述中,()是错的。A. 派生类是基类的具体化。B. 派生类是基类的子集。C. 派生类是基类定义的延续。D. 派生类是基类的组合。答案:B4派生类的构造函数的成员初始化表中,不能包含()A.基类的构造函数。B. 派生类中子对象的初始化。C. 基类的子对象初始化。D. 派生类中一般数据成员的初始化。答案:C。5. 关于子类型的描述中,()是错的。A. 子类型就是指派生类是基类的子类型。B. -种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的子类型。C. 在公有继承下,派

8、生类是基类的子类型。D. 子类型关系是不可逆的。答案:A。6关于多继承二义性的描述中,()是错的。A. -个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性。B. 解决二义性的最常用的方法是对成员函数的限定法。C.基类和派生类中同时出现的同名函数,也存在二义性问题。D.一个派生类是从两个基类派生来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性。答案:C。7设置虚基类的目的是()。A. 简化程序。B. 消除二义性。C. 提高运行效率。D. 减少目标代码。答案:B。8带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,

9、这样将对虚基类的子对象初始化()A.与虚基类下面的派生类个数有关。B. 多次。C. 二次。D. 次。答案:Do二、判断下列描述的正确性。I. C+语言中,既允许单继承,有允许多继承。(正确)2派生类是从基类派生出来,它不能再生成新的派生类。(错误)3派生类的继承方式有两种:公有继承和私有继承。(错误)4在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。(错误)5在公有继承中,基类中只有公有成员对派生类对象时可见的。(正确)6在私有继承中,基类中只有公有成员对派生类是可见的。(错误)7.在私有继承中,基类中所有成员对派生类的对象都是不可见的。(正确)8在保护继承中,对于垂直访问同于公

10、有继承,而对于水平访问同于私有继承。(正确)9派生类是它的基类的组合。10.构造函数可以被继承。(错误)II. 析构函数不能被继承(正确)12. 子类型是不可逆的。(正确)13. 只要是类M继承了类N,就可以说类M是类N的子类型。(错误)14如果A类型是B类型的子类型,则A类型必然适应于B类型。(正确)15多继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。(正确)16单继承情况下,派生类中对基类成员的访问会出现二义性。(错误)17. 解决多继承情况下出现的二义性的方法之一是使用成员名限定法o(正确)18. 虚基类是用来解决多继承中公共基类在派生类中只产生一个基类子

11、对象的问题o(正确)多态性与虚函数一、选择填空1.对定义重载函数的下列要求中,()是错误的。A. 要求参数的个数不同。B. 要求参数中至少有一个类型不同。C. 要求参数个数相同时,参数类型不同。D. 要求函数的返回值不同。答案:D2. 下列函数中,()不能重载。A. 成员函数。B. 非成员函数。C. 析构函数。D. 构造函数。答案:C。3下列对重载函数的描述中,()是错误的。A.重载函数中不允许使用默认参数。B. 重载函数中编译系根据参数表进行选择。C.不要使用重载函数来描述毫无相干的函数。D.构造函数重载将会给初始化带来多种方式。答案:Ao4. 下列运算符中()运算符不能重载。A. &。B.

12、 。C. :。D.new。答案:C。5. 下列关于运算符重载的描述中,()是正确的A.运算符重载可以改变操作数的个数。B. 运算符重载可以改变优先级。C. 运算符重载可以改变结合性。D. 运算符重载不可以改变语法结构。答案:D。6. 运算符重载函数是()。A. 成员函数。B. 友元函数。C. 内联函数。D. 带默认参数的函数。答案:A、B。7. 关于动态联编的下列描述中,()是错误的。A. 动态联编是以虚函数为基础的。B. 动态联编是在运行时确定所调用的函数代码的。C. 动态联编调用函数操作是用指向对象的指针或对象引用。D.动态联编是在编译时确定操作函数的。答案:Do8. 关于虚函数的描述中,

13、()是正确的。A. 虚函数是一个static类型的成员函数。B. 虚函数是一个非成员函数。C. 基类中说明了虚函数后,派生类中将其对应的函数可不必说明虚函数。D. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型。答案:Co9关于纯虚函数和抽象类的描述中,()是错误的。A.纯虚函数是一种特殊的虚函数,它没有具体的实现。B.抽象类是指具有纯虚函数的类。C. 个基类中说明纯虚函数,该基类的派生类一定不再是抽象类。D. 抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出。答案:Co10.下列描述中,()是抽象类的特性。A. 可以说明虚函数。B. 可以进行构造函数重载。C. 可以定义友元函数。

14、D. 不能说明其对象。答案:Do二、判断下列描述的正确性。1.函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。(正确)2重载函数可以带有默认值参数,但是要注意二义性。(正确)3. 多数运算符可以重载,个别运算符不能重载,运算符重载是通过函数定义实现的。(正确)4对每个可重载的运算符来讲,它既可以重载为友元函数,又可以重载为成员函数,还可以重载为非成员函数。(错误)5对单目运算符重载为友元函数时,说明一个形参,重载为成员函数时,不能显示说明形参。(正确)6重载运算符保持原运算符的优先级别和结合性不变。(正确)7虚函数是用virtual关键字说明的成员函数。(正确)8构造函数说明为纯虚函数是没有意义的。(正确)9抽象类是指一些没有说明对象的类。(错误)10.动态联编是在运行时选定调用的成员函数的。(正确)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!