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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

程序设计二复习题库.docx

1、程序设计二复习题库1C+语言是从早期的C语言逐渐发展演变而来的。与C语言相比,它在求解问题方法上进行的最大改进是( )。A、面向过程B、面向对象C、安全性 D、复用性2关于构造函数,下列说法不正确的是( )。A、构造函数名字和类名相同 B、构造函数在创建对象时自动执行 C、构造函数无任何函数返回类型 D、构造函数有且只有一个3如果类A被说明成类B的友元,则( )。A、类A的成员即类B的成员 B、类B的成员即类A的成员C、类A的成员函数不得访问类B的成员 D、类B不一定是类A的友元4如果派生类以public方式继承基类,则原基类的protected成员和public成员在派生类中的访问类型分别是

2、( )。A、public和public B、public和protectedC、protected 和public D、protected和protected5使用派生类的主要原因是( )。A、提高代码的可重用性 B、提高程序的运行效率C、加强类的封装性 D、实现数据的隐藏6关于虚函数,正确的是( )。A、构造函数不能是虚函数 B、析构函数不能是虚函数C、虚函数可以是友元函数 D、虚函数可以是静态成员函数7要实现动态链接,派生类中的虚函数( )。A、返回的类型可以与虚函数的原型不同B、参数个数可以与虚函数的原型不同C、参数类型可以与虚函数的原型不同D、以上都不对8在语句cout data;中,

3、cout是( )。A、变量名 B、类名 C、对象名 D、函数名9有关运算符重载正确的描述是( )。A、C+语言允许在重载运算符时改变运算符的操作数个数B、C+语言允许在重载运算符时改变运算符的优先级C、C+语言允许在重载运算符时改变运算符的结合性D、C+语言允许在重载运算符时改变运算符的原来的功能10template T square( T x ) return x*x; 其中T是( )。A、函数形参B、函数实参C、模板形参D、模板实参11函数重载是指( )。A、两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B、两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C

4、、两个以上的函数名字不同,但形参的个数或类型相同D、两个以上的函数取相同的函数名,并且函数的返回类型相同12假定A类已经定义,对于以A类为基类的单一继承类B类,以下定义中正确的是( )。A、class B:public A /; B、class A:public B/;C、class B :public class A/; D、class A:class B public/;13下面叙述不正确的是( )。A、派生类一般都用公有派生B、对基类成员的访问必须是无二义性的C、赋值兼容原则也适用于多重继承的组合-装-订-线-D、基类的公有成员在派生类中仍然是公有的14C+可以采用动态内存分配在运行时为

5、指针分配内存。下面对一个100个元素的动态数组进行动态内存分配和释放的是( )。A、int *pi = new int100; delete pi; pi = NULL; B、int *pi = new int(100); delete pi; pi = NULL; C、int *pi = new int(100); delete ( )pi; pi = NULL; D、int *pi = new int100; delete pi; pi = NULL;15下列语句中错误的是( )。A、int *p=new int(100); B、int *p=new int100;C、int *p=new

6、 int; D、int *p=new int40(0);16编写C+程序一般需经过的几个步骤依次是( )。A、编辑、调试、编译、连接 B、编辑、编译、连接、运行C、编译、调试、编辑、连接 D、编译、编辑、连接、运行17面向对象程序设计将数据与( )放在一起,作为一个相互依存、不可分割的整体来处理。A、对数据的操作 B、信息 C、数据隐藏 D、数据抽象18派生类对象可访问基类中的什么成员( )?A、公有继承的公有成员 B、公有继承的私有成员 C、公有继承的保护成员 D、私有继承的共有成员19重载赋值操作符时,应声明为( )函数。A、友元 B、虚 C、成员 D、多态20语句ofstream f(“

7、SALARY.DAT”,ios:appios:binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且( )。A、若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B、若文件存在,将其置为空文件;若文件不存在,打开失败C、若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D、若文件存在,打开失败;若文件不存在,建立一个新文件21在C+语言中,自定义的标识符( )。A、能使用关键字并且不区分大小写B、不能使用关键字并且不区分大小写C、能使用关键字并且区分大小写D、不能使用关键字并且区分大小写22对类的构造函数和析构函数描述正确的是(

8、)。A、构造函数可以重载,析构函数不能重载B、构造函数不能重载,析构函数可以重载C、构造函数可以重载,析构函数也可以重载D、构造函数不能重载,析构函数也不能重载3类的析构函数的作用是( )。A、一般成员函数 B、类的初始化 C、对象初始化 D、删除对象。4下面对于友元函数描述正确的是( )。A、友元函数的实现必须在类的内部定义B、友元函数是类的成员C、友元函数破坏了类的封装性和隐藏性D、友元函数不能访问类的私有成员5C+中的类有两种用法:一种是类的实例化,即生成类对象,并参与系统的运行;另一种是通过( )派生了新的类。A、复用 B、继承 C、封装 D、引用6下列虚基类的声明中,正确的是( )。

9、A、class virtual B:public AB、virtual class B:public AC、class B:public A virtualD、class B: virtual public A 7在每个C+程序中都必须包含有这样一个函数,该函数的函数名为( )A、main B、MAIN C、 name D、 function8下列有关运算符重载描述正确的是( )A、运算符的重载是多态性的一种表现 B、C+可以通过运算符的重载创造新的运算符C、C+中所有运算符都可以作为非成员函数重载D、重载运算符时可以改变其结合性9class Myclassint value;public:

10、Myclass(int n): value(n) int getValue( )const return vlaue; ;则类的构造函数的个数是( )A、1个 B、2个 C、3个 D、4个10在语句cout data;中,cout是( )。A、变量名 B、类名 C、对象名 D、函数名11模板的使用是为了( )。A、提高代码的可重用性 B、提高代码的运行效率 C、加强类的封装性 D、实现多态性12若Fraction为类重载前增运算符+,应在类体中将其声明为( )。A、Fraction& operator + ( ); B、Fraction& operator + (int);C、friend F

11、raction& operator + ( ); D、friend Fraction& operator + (int)13关于动态存储分配,下列说法正确的是( )。A、new和delete是C+语言中专门用于动态内存分配和释放的函数B、动态分配的内存空间也可以被初始化C、当系统内存不够时会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D、当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new14在C+中用来实现运行时多态性的是( )。 A、重载函数 B、析构函数 C、构造函数 D、虚函数15在一个类体的下列声明中,正确的纯虚函数声明是( )。A、 virtual v

12、oid vf()=0; B、void vf(int)=0;C、virtual int vf(int); D、virtual void vf(int) 1C+语言是从早期的C语言逐渐发展演变而来的。与C语言相比,它在求解问题方法上进行的最大改进是 。A面向过程B面向对象C安全性D复用性2如果类A被说明成类B的友元,则 。A类A的成员即类B的成员 B类B的成员即类A的成员C类A的成员函数不得访问类B的成员 D类B不一定是类A的友元3通过运算符重载,可以改变运算符原有的 。A操作数类型 B操作数个数 C优先级 D结合性4下面描述中,表述错误的是 。A公有继承时基类中的public 成员在派生类中仍是

13、public 的B公有继承时基类中的private成员在派生类中仍是private的C公有继承时基类中的protected成员在派生类中仍是protected的D私有继承时基类中的public 成员在派生类中是private的5下列关于this指针的描述中,正确的是 。A类的非静态成员函数都有this指针 B类的友元函数都有this指针C任何与类相关的函数都有this指针 D类的成员函数都有this指针6假定类A已经定义,对于以类A为基类的单一继承B类,以下定义中正确的是 。Aclass B: public A /; Bclass A: public B /;Cclass B: public

14、class A /; Dclass A: class B public /;7template T square( T x ) return x*x; 其中T是 。A函数形参B函数实参C模板形参D模板实参8要实现动态链接,派生类中的虚函数 。A返回的类型可以与虚函数的原型不同 B参数个数可以与虚函数的原型不同C参数类型可以与虚函数的原型不同 D以上都不对9函数重载是指 。A两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C两个以上的函数名字不同,但形参的个数或类型相同D两个以上的函数取相同的函数名,并且函数的返回类

15、型相同10C+可以采用动态内存分配在运行时为指针分配内存。下面对一个100个元素的动态数组进行动态内存分配和释放的是 。Aint *pi = new int100; delete pi; pi = NULL;Bint *pi = new int(100); delete pi; pi = NULL;Cint *pi = new int(100); delete ( )pi; pi = NULL;Dint *pi = new int100; delete pi; pi = NULL; 11语句ofstream f(“SALARY.DAT”,ios:appios:binary);的功能是建立流对象

16、f,试图打开文件SALARY.DAT并与之连接,并且 。A若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B若文件存在,将其置为空文件;若文件不存在,打开失败C若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D若文件存在,打开失败;若文件不存在,建立一个新文件12下面对于友元函数描述正确的是 。A友元函数的实现必须在类的内部定义 B友元函数是类的成员C友元函数破坏了类的封装性和隐藏性 D友元函数不能访问类的私有成员13下列虚基类的声明中,正确的是 。Aclass virtual B: public A Bvirtual class B: public ACc

17、lass B: public A virtual Dclass B: virtual public A -装-订-线-14在一个类体的下列声明中,正确的纯虚函数声明是 。Avirtual void vf( )=0; Bvoid vf(int)=0;Cvirtual int vf(int); Dvirtual void vf(int) 15有如下类的定义:class Pointprivate: static int how_many; how_many=0;要初始化Point类的静态成员how_many,下划线处应填写 。Aint Bstatic int Cint Point: Dstatic

18、int Point: 1、函数重载是指( )。A、两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B、两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C、两个以上的函数名字不同,但形参的个数或类型相同D、两个以上的函数取相同的函数名,并且函数的返回类型相同2、编写C+程序一般需经过的几个步骤依次是( )A、编辑、调试、编译、连接 B、编辑、编译、连接、运行C、编译、调试、编辑、连接 D、编译、编辑、连接、运行3、在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的A、私有成员 B、公有成员 ( )C、保护成员 D、保护成员或私有成员4、

19、在类中,正确的纯虚函数声明是( )A、virtual void f(int) B、void f(int)=0;C、virtual int f(int); D、virtual void f( )=0; 5、关于this指针使用说法正确的是( )A、保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B、保证基类私有成员在子类中可以被访问。C、保证基类保护成员在子类中可以被访问。D、保证基类公有成员在子类中可以被访问。6、有如下类的定义:class Pointprivate: static int h; h=0;要初始化Point类的静态成员h,下划线处应填写( )A、int B、static

20、 int C、int Point: D、static int Point: 7、template T fun( T x ) return x+x; 其中T是( )A、函数形参B、函数实参C、模板形参D、模板实参8、假定类A已经定义,对于以类A为基类的单一继承B类,以下定义中正确的是( )A、class B: public A /; B、class A: public B /;C、class B: public class A /; D、class A: class B public /;9、假定一个类定义如下class Aprivate: int a, b; public:A(int aa,

21、int bb)a=aa-; b=a*bb;则执行A x(4,5);语句后,x.a和x.b的值分别为( )A、3和15 B、5和4C、4和20 D、20和510、通过运算符重载,可以改变运算符原有的( )A、操作数个数 B、操作数类型 C、优先级 D、结合性11、关于虚函数的描述中,( )是正确的。A、虚函数是一个static类型的成员函数B、虚函数是一个非成员函数C、基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数D、派生类的虚函数与基类的虚函数具有不同的参数个数和类型12、如果类A被说明成类B的友元,则( )A、类A的成员即类B的成员 B、类B的成员即类A的成员C、类A的成员函

22、数不得访问类B的成员 D、类B不一定是类A的友元-装-订-线-13、下面叙述不正确的是( )A、派生类一般都用公有派生B、对基类成员的访问必须是无二义性的C、赋值兼容规则也适用于多重继承的组合D、基类的公有成员在派生类中仍然是公有的14、下列虚基类的声明中,正确的是( )A、class B: virtual public A B、virtual class B: public AC、class B: public A virtual D、class virtual B: public A15、语句ofstream f(“d:article.dat”,ios:appios:binary);的功能

23、是建立流对象f,试图打开文件article.dat并与之连接,并且( )A、若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B、若文件存在,将其置为空文件;若文件不存在,打开失败C、若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D、若文件存在,打开失败;若文件不存在,建立一个新文件1、构造函数是在( )时被执行。A、程序编译 B、创建对象C、创建类 D、程序装入内存2、使用派生类的主要原因是( )A、提高代码的重用性B、提高程序的运行效率C、加强类的封装性D、实现数据的隐藏3、语句ofstream f(“d:data.dat”,ios:appios:bin

24、ary);的功能是建立流对象f,试图打开文件data.dat并与之连接,并且( )A、若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B、若文件存在,将其置为空文件;若文件不存在,打开失败C、若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D、若文件存在,打开失败;若文件不存在,建立一个新文件4、在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的A、保护成员 B、公有成员 ( )C、私有成员 D、保护成员或私有成员5、有如下类的定义:class Rectangleprivate: static int x; x=0;要初始化Re

25、ctangle类的静态成员x,下划线处应填写( )A、int B、static int C、int Rectangle: D、static int Rectangle: 6、template T fun( T x ) return x*x; 其中T是( )A、函数形参B、模板形参C、函数实参D、模板实参7、假定类A已经定义,对于以类A为基类的单一继承B类,以下定义中正确的是( )A、class B: public A /; B、class A: public B /;C、class B: public class A /; D、class A: class B public /;8、假定一个类

26、定义如下class Aprivate: int a, b; public:A(int aa, int bb):a(aa),b(bb)a+;则执行A x(7,8);语句后,x.a和x.b的值分别为( )A、7和15 B、7和8C、8和7 D、8和89、如果类A被说明成类B的友元,则( )A、类A的成员即类B的成员 B、类B不一定是类A的友元C、类A的成员函数不得访问类B的成员 D、类B的成员即类A的成员10、有关运算符重载正确的描述是( )A.C+语言允许在重载运算符时改变运算符的操作数个数B. C+语言允许在重载运算符时改变运算符的优先级C. C+语言允许在重载运算符时改变运算符的结合性D.

27、C+语言允许在重载运算符时改变运算符的原来的功能11、面向对象程序设计将数据与( )在一起,作为一个相互依存、不可分割的整体来处理A、对数据的操作 B、信息C、数据隐藏 D、数据抽象12、有关多态性说法不正确的是()A、运行时的多态性可通过模板和虚函数实现B、编译时的多态性可通过函数重载实现C、C+语言的多态性分为编译时的多态性和运行时的多态性D、实现运行时多态性的机制称为动态多态性-装-订-线-13、下面叙述不正确的是( )A、派生类一般都用公有派生B、对基类成员的访问必须是无二义性的C、赋值兼容规则也适用于多重继承的组合D、基类的公有成员在派生类中仍然是公有的14、友元关系不能()A、提高程序的运行效率B、是类与类的关系C、是一个类的成员函数与另一个类的关系D、继承15、下列语句中错误的是( )A、int *pt=new int(100) B、int *pt=new int100C、int *pt=new int D、int *pt=new int100(0)1下面( )的叙述不符合赋值兼容规则。A. 派生类的对象可以赋值给基类的对象B. 基类

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

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