C 学生复习资料.doc_第1页
C 学生复习资料.doc_第2页
C 学生复习资料.doc_第3页
C 学生复习资料.doc_第4页
C 学生复习资料.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一部分 选择题 1.在C+中,函数原型不能标识( ) A.函数的返回类型 B.函数参数的个数 C.函数参数类型 D.函数的功能 2.在C+程序中,对象之间的相互通信通过( ) A.继承实现 B.调用成员函数实现 C.封装实现 D.函数重载实现3.对于任意一个类,析构函数的个数最多为( ) A.0 B.1 C.2 D.34.下面函数模板定义中不正确的是( ) A.template B.template QF(Q x) QF(Q x) return Q+x; return x+x; C.template D.template TF(T x) TF(T x) return x*x; return x1; 5.友元关系不能( )? A.继承 B.是类与类的关系 C.是一个类的成员函数与另一个类的关系 p316 D.提高程序的运行效率6.语句ofstream f(SALARY.DAT,ios:appios:binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且( ) A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件 B.若文件存在,将其置为空文件;若文件不存在,打开失败 C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件 D.若文件存在,打开失败;若文件不存在,建立一个新文件7.下面说法正确的是( ) A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方 B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方 C.类的内联函数必须在类体内定义 D.类的内联函数必须在类体外通过加关键字inline定义8.可以用p.a的形式访问派生类对象p的基类成员a,其中a是( ) A.私有继承的公有成员 B.公有继承的私有成员 C.公有继承的保护成员 D.公有继承的公有成员9.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( ) A.派生类的对象可以赋给基类的对象 B.派生类的对象可以初始化基类的引用 C.派生类的对象可以直接访问基类中的成员 D.派生类的对象的地址可以赋给指向基类的指针10.对于类定义 class A public: virtual void func1( ) void func2( ) ; class B:public A public: void func1( )coutclass B func 1end1; virtual void func2( )coutclass B func 2end1; ; 下面正确的叙述是( ) A. A:func2( )和B:func1( )都是虚函数 B. A:func2( )和B:func1( )都不是虚函数 C. B:func1( )是虚函数,而A:func2( )不是虚函数 D. B:func1( )不是虚函数,而A:func2( )是虚函数11.一个函数功能不太复杂,但要求被频繁调用,选用( )A.递归函数 B,重载函数 C,内联函数 D,嵌套函数12.在每个C+程序中都必须包含有这样一个函数,该函数函数名为( )A.function B.MAIN C.name D.main13.( )是给对象取一个别名,它引入了对象的同义词。A.引用 B.指针 C.枚举 D.结构14假定AB为一个类,则执行ABx,语句时将自动调用该类的( )A有参构造函数 B.无参构造函数 C.拷贝构造函数 D.赋值构造函数15下列的各类函数中,( )不是类的成员函数A.构造函数 B.析构函数 C.友元函数 D.拷贝初始化构造函数16.在成员函数中进行双目运算符重载时,其参数表中应带有( )个参数A.0 B.1 C.2 D.317.c+中的类有两种用法,一种是类的实例化,即生成类的对象,并参与系统的运行,另一种是通过( )派生出新的类A.复用 B.继承 C.单继承 D. 多继承18.派生类的构造函数的成员的初始化列表中,不能包含( )A. 基类的构造函数 B. 派生类中子对象的初始化C. 基类的子对象的初始化 D.派生类中一般数据成员的初始化19,实现运行时的多态要使用( )A.重载函数 B.构造函数 C.析构函数 D.虚函数20.C+中,打开一个文件就是将这个文件与一个( )建立关联,关闭一个文件就是取消这种关联。A. 类 B. 流 C. 对象 D. 结构21.设X和Y均为bool量,则X&y为真的条件是( )A.他们均为真 B. 其中一个为真 C. 他们均为假 D.其中一个为假22.下列保留字中用来说明类的友元的是( )A private B friend C protected D public23.对于任意一个类,析构函数的个数最多为( )A 0 B 1 C 2 D 3 24.通常,拷贝构造函数的参数是( )A.某个对象名 B. 某个对象的成员名 C. 某个对象的引用名 D.某个对象的指针名25.在C+中吧不返回任何类型的函数应该说明为( )A int B char C void D double26以下叙述中正确的是 _A.C+语言程序的基本单位是类B. 可以在一个函数中定义另一个函C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义27 C+语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是( ) A) 面向过程 B) 面向对象 C) 安全性 D) 复用性 28 在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )。A) 派生类的对象可以赋给基类的对象B) 派生类的对象可以初始化基类的引用C) 派生类的对象可以直接访问基类中的成员D) 派生类的对象的地址可以赋给指向基类的指针29 下列关于C+语言类的描述中错误的是( )。 A) 类用于描述事物的属性和对事物的操作 B) 类与类之间通过封装而具有明确的独立性 C) 类与类之间必须是平等的关系,而不能组成层次结构 D) 类与类之间可以通过一些方法进行通信和联络30.类的析构函数的作用是( )。 A) 一般成员函数的初始化 B) 类的初始化 C) 对象的初始化 D) 删除类创建的对象31. 下面关于类和对象的描述中,错误的是( )。 A) 类就是C语言中的结构体类型,对象就是C语言中的结构体变量 B) 类和对象之间的关系是抽象和具体的关系 C) 对象是类的实例,一个对象必须属于一个已知的类 D) 类是具有共同行为的若干对象的统一描述体32. 定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为( )。A) 私有继承 B) 非私有继承 C) 保护继承 D) 公有继承33.不能作为重载函数的调用的依据是( )。 A)参数个数 B)参数类型 C)函数类型 D)函数名称34.在语句“coutA;”中,cout 是( )。 A) 类名 B) 对象名 C) 函数名 D) C+的关键字35. 在C+语言中,数据封装要解决的问题是( )。 A) 数据的规范化 B) 便于数据转换 C) 避免数据丢失 D) 防止不同模块之间数据的非法访问36.应在下列程序划线处填入的正确语句是( )_。 #include class Base public: void fun()coutBase:funENDL; ; class Derived:public Base void fun() _ /显示调用基类的函数fun() coutDerived:funfun(); 37对类的构造函数和析构函数描述正确的是 ( )。A) 构造函数可以重载,析构函数不能重载B) 构造函数不能重载,析构函数可以重载C) 构造函数可以重载,析构函数也可以重载D) 构造函数不能重载,析构函数也不能重载38.可以用p.a的形式访问派生类对象P的基类成员a,其中a是( )。A) 私有继承的公有成员B) 公有继承的私有成员C) 公有继承的保护成员D) 公有继承的公有成员39.假定AB为一个类,则执行“AB a(4) , b3 , * p2 ;”语句时,自动调用该类构造函 数的次数为( )。A) 3 B) 4 C) 6 D) 940.下列关于构造函数说法不正确的是( )。 A)构造函数必须与类同名 B)构造函数可以省略不写 C)构造函数必须有返回值 D)在构造函数中可以对类中的成员进行初始化41. 对于一个类的构造函数,其函数名与类名( )。 A) 完全相同 B) 基本相同 C) 不相同 D) 无关系42.类的析构函数在一个对象被( )时自动调用。 A) 建立 B) 撤销 C) 赋值 D) 引用43.对于公有继承,基类中的私有成员在派生类中将( )。 A) 变为派生类的私有成员 B) 仍然是基类的私有成员 C) 能通过成员运算符访问 D) 能够直接使用成员名访问44.在C+中,要实现动态联编,必须使用( )调用虚函数。 A) 类名 B) 派生类指针 C) 对象名 D) 基类指针45.假定class A为一个类,则执行class A x ; 语句时将自动调用该类的( )。 A) 无参构造函数 B) 带参构造函数 C) 复制构造函数 D) 赋值重载函数第二部分 填空题1.面向对象的模型中,最基本的概念是对象和 ( ) 。2.派生类的成员一般分为两部分,一部分是 ( ) ,另一部分是自己定义的新成员。3.假定AB为一个类,则执行“AB a10;”语句时,系统自动调用该类的构造函数的次数为 ( )。 4.对一个类中的数据成员的初始化可以通过构造函数中的( )实现,也可以通过构造函数中的( )实现。5. 假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为( )。 6.在面向对象的程序设计中,类描述的是具有相似性质的一组 ( )7.若需要定义一个标识符常量,并且使C+能够进行类型检查,则应在定义语句的开始使用保留字( )。8.在用class定义一个类时,数据成员和成员函数的默认访问权限是( )。9.C+语句const char * const p=hello , ,所定义的指针p和它所指的内容都不能被( )。10.在定义一个派生类时,使用( )关键字或者不显示地使用它则表示为( )继承。11.保留字( )是用来声明虚函数的。12.( )是指同样的消息被不同类型的对象接受时导致完全不同的行为,是对类的特定成员函数的再抽象。13.可以用pow表示幂,也能创造符号*来表示幂运算符。这个说法( )(正确或错误)14.当执行cin语句时,从键盘上输入每个数据后,必须接着输入一个( )符,然后才能继续输入下一个数据。15.C+的输入输出是以字节( )的形式实现的。16.对象的三大基本特征是 ( ) ( ) ( )17.C+语言的函数参数传递方式有( ) 和( )18.所有模板都是以( )关键字和一个形参表开头的。19.如果类的名称是 student 则析构函数名为( )。20.基类的公有成员在私有派生类中是( )成员,基类的保护成员在公有派生类中是( )成员。21.引用通常用作函数的 ( ) 和( )。22.运算符重载保持原来的( )( )( )。23.利用继承能够实现( )。这种实现缩短了程序开发的时间,VC+中的( )很好的体现了这一点。24.假设类X的对象X是类Y的成员对象,则“Y Obj”语句执行时,先调用类( )的构造函数,在调用类( )的构造函数。25.C+中,最好用( )代替malloc。27.定义类的动态对象数组时,系统只能够自动调用该类的( )构造函数对其进行初始化。28.无论是什么继承方式,派生类的成员不能访问基类( )属性的成员。29.表达式coute

温馨提示

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

评论

0/150

提交评论