面向对象的程序设计语言C复习指南.doc_第1页
面向对象的程序设计语言C复习指南.doc_第2页
面向对象的程序设计语言C复习指南.doc_第3页
面向对象的程序设计语言C复习指南.doc_第4页
面向对象的程序设计语言C复习指南.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

面向对象的程序设计语言C+复习指南一、选择填空1、下列高级语言中,( )是面向对象的程序设计语言。 A)BASIC B)PAsCAl C)C+ D) FortrAn2、依据面向对象的抽象原理下列提法中,( )是错误的A)数据抽象 B) 行为共享 C) 进化 D) 兼容3、( )不是面向对象系统所包含的要素A)重载 B) 对象 C) 类 D) 继承4、关于C和C+的论述中,( )错误的A)C语言是C+的一个子集 B) C+与C是兼容的C) C+是对C的改进 D) C+和C都是面向对象的语言5、下面关于对象的概念的论述中,( )是错误。A)对象就是结构变量B)对象代表着正在创建的系统中的一个实体C)对象是一个状态和操作的封装体 C)对象之间的信息的传递时通过消息进行的6、下面关于类概念的论述错误的是( )A)类是由抽象数据类型实现的;B)类是具有共同行为的若干对象的统一描述;C)类是创建对象的样板;D)类是C语言中的结构类型;7、C+对C语言作了很多改进,下列描述中( )使得C语言发生了质的变化,即从面向过程变成了面向对象。A)增加了一些新的操作符;B)允许函数重载,并允许设置默认值;C)规定函数说明必须用原型;D)引进了类和对性;8、关于执指针运算中错误的是( )A)两个指针在一定的条件下进行相等和不等的运算;B)可以用一个空指针付给某个指针;C)一个指针可以加上一个整数;D)两个指针可以相加;9、在 int A=3,*p=&A;中,*p的值是( ) A)变量A的地址;B)无意义; C)变量p的对地址值;D)310、对int *pA5的描述中正确的是( ):A)pA是一个指向数组的指针,所指向的数组是5个int型的元素;B)pA是一个指向某数组中第五个元素的指针,该元素是int型变量;C)pA5 表示某个数组的第五个元素;D)pA是一个具有五个元素的指针数组,每个数组是一个int指针;11、下列表示引用的方法中正确的是( );已知:int m=10;A)int &x=m;B)int &x=10;C) int &x;D) &x=&m;12、下列向函数中传送地址的标识中正确的是( )A)int ADD(int *A);B) int ADD(int &A);C) int x=ADD(&A);D) int ADD(int A)13、当一个函数无返回值时定义它时函数的类型应是( );A) int B) voiDC)无D)任意14、在一个被调函数中,关于return语句使用的论述不正确的是( )A) 被调函数中可以不使用return语句;B) 被调函数中可以使用多个return语句;C) 被调函数中如果有返回值就一定要有return语句;D)在被调函数中,一个return语句可以返回多个值;15、下列关于函数的论述中,属于引用调用的是( )A) 形参时指针,实参是地址;B)形参和实参都是变量;C) 形参是数组名,实参是数组名C)形参是引用,实参是变量;16、在传值调用中要求( )A) 形参和实参类型任意个数相等;B)形参和实参类型一致个数相等;C)形参和实参的对应类型一致个数相等;D)形参和实参对应类型一致,个数任意17、在C+中下列关于设置参数默认值的论述中,( )是正确的。A)不允许设置参数的默认值;B)设置参数默认值只能在定义函数是设置;C)设置参数默认值时应从右向左进行设置D) 设置默认值时,应该全部参数都设18、重载函数在调用时选择的依据中,( )是错误的A)参数的个数B)参数的类型C)参数的顺序D)函数的类型19、在C程序设计中,要求用函数来实现一种不太复杂的功能,并要求加快执行速度,选用( )合适A)重载函数B)内联函数C)构造函数D)析构函数20、采用函数重载的目的在于( )A)实现共享B)减少空间C)提高速度D)使用方便,提高可读性21、将两个字符串连接起来组成一个字符串时选用( )函数A) strlen( )B) strCpy( )C)strCAt( )D) strCmp( )22、在下列关键字中,用来说明列中共有成员的是( )A)puBliCB) privAteC) proteCteD D) frienD23、下列各种函数中,( )不是类的成员函数A)构造函数B)析构函数C)友元函数D)拷贝构造函数24、作用域运算符的功能是( )A)表示作用域的级别 B)指出作用域的范围C)给定作用域的大小D)标识某个成员属于哪个类25、不可以做为类成员的是( )A)自身类对象的指针 B)自身类的对象C)自身类对象的引用 D)另一个类的对象26、下列不属于构造函数的特征的是( )A)构造函数的函数名和类名相同B)构造函数可以重载C)构造函数可以设置默认参数值D)构造函数必须指定类型说明27、下列具有析构函数特征的是( )A)一个类中只能定义一个析构函数B)析构函数名与类名不同 C)析构函数的定义只能在类体内D)析构函数可以有一个或多个参数28、通常拷贝初始化构造函数的参数是( )A)某个对象名B)某个对象的成员名C)某个对象的引用名 D)某个对象的指针29、关于成员函数的下属描述中,错误的是( )A)成员函数一定是内联函数B)成员函数可以重载C)成员函数可以设置参数的默认值D)成员函数可以使静态的30、下述静态成员的特性中,( )是错误A)说明静态数据成员时前面一定要加修饰符static;B)静态数据成员一定要在类体外进行初始化;C)引用静态数据成员时一定要在静态数据成员名前加类名和作用域运算符D) 静态数据成员不是所有对象所共享的31、友元的作用不是( )A)提高程序的运行效率B)加强类的封装性C)实现数据的隐藏性D)增加成员函数的种类32、已知类A的成员函数定义如下所示voiD set(A& A);其中A& A的含义是( )A)指向类A的指针为A;B)将A的地址传递给函数setC)A是类A的某个对象的引用,用来做函数set的形参;D)变量A与A安位相与作为函数set的参数33、关于标识符&在C+中的作用的论述不正确的是A)取地址运算符;B)引用运算符C)按位与运算符 D)逻辑与运算符34、已知一个类A,( )是指向类A成员的指针。假设类有如下共有成员voiD f1(int), voiD f2(int)和int AA) A* p; B) int A:*pC=& A:A;C)voiD A:*pA( )D) A *pp;35、已知f1(int)是类A的私有成员函数,p是指向成员函数f1的指针,采用( )是正确的。A)p=f1;B)p=A:f1;C) p= p=A:f1( );D)p=f1( )36、下列对派生类的描述中,( )是错的。 A) 一个派生类可以作为另一个派生类的基类;B 派生类至少有一个基类;C) 派生类的成员除了它自己的成员外,还包含了它的基类的成员;D) 派生类中继承的基类成员的访问权限到派生类保持不变37、派生类的对象对它的基类中( )是可以访问的。A) 公有继承的公有成员;B) 公有继承的私有成员;C) 公有继承的保护成员;D) 私有继承的公有成员38、对基类和派生类的关系描述中,( )是错的。 A) 派生类是基类的具体化;B) 派生类是基类的子集;C) 派生类是基类定义的延续;D) 派生类是基类的组合39、派生类的构造函数的成员初始值表中,不能包含( ) A ) 基类的构造函数;B) 派生类中子对象的初始化;C) 基类的子对象初始化;D) 派生类中一般数据成员的初始化40、关于子类型的描述中,( )是错的。 A)子类型就是指派生类是基类的子类型;B)一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的子类型;C) 在公有继承下,派生类是基类的子类型;D) 子类型关系是不可逆的41、设置虚基类的目的是( )。 A)简化程序;B)消除二义性;C) 提高运行效率;D) 减少目标代码42、带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化( )。 A)与虚基类下面的派生类个数有关;B)多次;C) 二次;D) 一次二、判断题正误1、在C+中,定义函数是必须给出函数的类型2、在C+中,说明函数是要用函数原型,即定函数时的函数头部分3、在C+中,所有函数在调用前都要说明4、如果一个函数没有返回值,在定义是需要用void说明。5、在C+中,传址调用将被引用调用所替代。6、使用内联函数是以增大空间开销为代价的7、返回值类型、参数个数和类型都相同的函数也可以重载。8、在设置了参数默认值之后,在调用函数是使参就必须省略。9、for循环中循环变量的作用域、是该循环的循环体内。10、函数形参的作用域是该函数的函数体11、调用系统函数时,首先要将说明函数原型的头文件包含进去12、在使用关键字class说明的类中默认的访问权限是private的13、作用域运算符只能用来限制成员函数所属的类。14、析构函数是一种函数体为空的成员函数。15、构造函数和析构函数都不能重载16、说明和定义对象时,类名前不需要加关键字class17、对象成员的表示和结构体成员的表示一样需要使用元算符.或-18、私有成员是指类中所有的成员函数才可以使用,而类之外的函数对他们访问非法的成员。19、对静态成员进行初始化可以在类的构造函数中进行。20、指向对象的指针与对象都可以作为函数的参数,但是使用前者比后者好一些。21、对象引用作函数参数比对象指针更方便。22、在C+中,即允许但继承,又允许多继承。23、派生类是从基类派生出来,而又不能再生成新的派生类24、在公有继承中,基类的公有成员和私有成员在派生类中都是可见的25、构造函数和可以被继承26、析构函数不能被继承三、程序补充题1、完成下面类中的成员函数的定义。 class test int num; float x;public: test(int n, float f); test(test &);test:test(int n,float f) _ _ _; _;test:test(text &t) num= ; x= ; 2、一个类的头文件如下所示,程序,产生对象T,且T.num=10,并使用P()函数输出这个对象的值。(每空2分共4分) class test int num; public: test(int); void show(); ; test:test(int n) num=n; test:P()coutnumendl; #includevoid main() _ ; _ _;3、下面是一个利用类和对象计算矩形面积的程序,计算出的面积为56,请补充下列程序(每空2分共10分)#inlucdeunsing namespace std;Class CBoxint x,y;public:CBox(int a=1;int a=1)x=a;y=b; int get_area( CBox &B );int get_area(CBox &B)return * ;void main() CBox s1( ); cout“矩形面积=”get_area( )endl;四、综合应用题1、分析下面程序的运行结果#include using namespace std;void main() int x,y,n; x=y=1; n=-x&+y; coutn=nx=xendl; 运行结果为:n= x= 2、分析下面程序的运行结果#include #include using namespace std;class A in

温馨提示

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

评论

0/150

提交评论