2021面向对象程序设计期末考试含答案.docx
《2021面向对象程序设计期末考试含答案.docx》由会员分享,可在线阅读,更多相关《2021面向对象程序设计期末考试含答案.docx(97页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计考前练习本试卷有3种题型共!20小题,作答时间为90分钟,总分120分。单选题判断题多选题、单选题(本部分共89题,每题1分,共89分)1、在类定义的外部,可以被访问的成员有()A,所有类成员B . private的类成员C . public或private的类成员D . public的类成员 rArBrCfyD参考答案:D共137人答过,平均正确率55.47%2,下列关于C+语言类的描述中错误的是().A.类用于描述事物的属性和对事物的操作B.类与类之间通过封装而具有明确的独立性C.类与类之间必须是平等的关系,而不能组成层次结构D.类与类之间可以通过些方法进行通信和联络 rA
2、rB(yCrD参考答案:C共117人答过,平均正确率70.09%3、定义析构函数时,应该注意()A,其名与类名完全相同B.返回类型是void类型C.无形参,也不可重载D .函数体中必须有delete语句AB C r D参考答案:C共116人答过,平均正确率68.97%4、下列函数中,正确的递归函数是()A . int Fun(int n) if(nl)? return 1;? else? return n*Fun(n+l);B . int Fun(int n) if (abs(n)l)? return 1;? else? return n*Fun(n*2);)D . int Fun(int n
3、)? if(nl)? return 1; else? return n*Fun(n-l);) r A 汗 Br Cr D参考答案:B共115人答过,平均正确率73.04%5、在C+ +中编译器所生成的文件的扩展名为()。A. .cppB . .objC.libD . .exeA Br Cr D参考答案:B共113人答过,平均正确率70.8%6、派生类的对象对它的基类成员中的()是可以访问。A,公有继承的公有成员B,公有继承的私有成员C,公有继承的保护成员D.私有继承的公有成员参考答案:A共112人答过,平均正确率73.21%7,C+设置虚基类的目的是()。A .消除二义性B,简化程C.提高运行
4、效率D.减少目标代码A r B r C r D参考答案:A共112人答过,平均正确率71.43%8、以下关于this指针的叙述中正确的是()。A .任何与类相关的函数都有this指针B.类的成员函数都有this指针C.类的友员函数都有this指针D .类的非静态成员函数有this指针 rArBrCD参考答案:D共107人答过,平均正确率63.55%9、实现运行时的多态性采用(),A.重载函数C.析构函数D.虚函数ABr L D参考答案:D共107人答过,平均正确率69.16%1、关于类定义格式的描述中,()是错的。A,一般类的定义格式分为说明部分和实现部分B,一般类中包含有数据成员和成员函数C
5、.类中成员有三种访问数据:公有、私有和保护D .成员函数都应是公有的、数据成员都应是私有的A r B r C 汗 D参考答案:D共108人答过,平均正确率65.74%11、关于new运算符的下列描述中,()是错误的。A.它可以用来动态创建对象和对象数组B .使用它创建的对象或对象数组可以使用运算符delete删除C.使用它创建对象时要调用构造函数D.使用它创建对象数组时必须指定初始值rArBrC(?D参考答案:D共108人答过,平均正确率63.89%12、在()情况下适宜采用inline定义内联函数。A,函数体含有循环语句B,函数体含有递归语句C,函数代码小,频繁调用D,函数代码多,不常调用A
6、r Cr D参考答案:C共107人答过,平均正确率75.7%13、定义析构函数时,应该注意().A.其函数名与类名完全相同B ,函数返回类型是void类型C.无形参,也不可重载D .函数体中必须有delete语句AB C r D参考答案:C共107人答过,平均正确率69.16%14、关于成员函数特征的下列描述中,()是错误的。A,成员函数一定是内联函数B,成员函数可以重载C.成员函数可以设置缺省参数值D,成员函数可以是私有的A r B r C r D参考答案:A共107人答过,平均正确率75.7%15、下列有关类的说法不正确的是()A.类是种用户自定义的数据类型B,只有类中的成员函数才能存取类
7、中的私有数据C,在类中,如果不作特别说明,所有的数据均为私有类型D ,在类中,如果不作特别说明,所有的成员函数均为公有类型ABC D参考答案:D共107人答过,平均正确率69.16%16、在C+程序中,对象之间的相互通信通过()。A.继承实现B.调用成员函数实现C.封装实现D,函数重载实现 A BC r D参考答案:B共107人答过,平均正确率72.9%17、对于任意个类,析构函数的个数有()A.0B. 1C.不确定 rAffBrCrD参考答案:B18、在下列各函数中,不是类的成员函数的是()。A,构造函数B.析构函数C,友元函数D.拷贝构造函数rArB(?CrD参考答案:C共107人答过,平
8、均正确率71.96%19、在多基继承的构造函数定义中,几个基类的构造函数之间用()分隔。A.:B.C. .参考答案:C共107人答过,平均正确率70.09%20、若类A和类B的定义如下:class Aint i,j;public:void get(););class B:Aint k;public:void make(int);/.);void B:make(int j)k = i*j;)则上述定义中,非法的表达式是().A. void get()C . void make(int)D . k=i*jABL D参考答案:D共107人答过,平均正确率66.36%已知:print函数是个类的常成员
9、函数,它无返回值,下列表示中正确的是()。A . const void print()B . void const printQC . void print(const)D . void printQconst rArBrC?D参考答案:D22、下列关于运算符重载的描述中,正确的叙述是()。A,运算符重载可以改变运算数的个数B.运算符重载可以改变语法结构C,运算符重载可以构造新的运算符D.运算符重载不可以改变优先级和结合性rArBrC?D参考答案:D共107人答过,平均正确率68.22%23、在类外部可以用p.a的形式访问派生类对象p的基类成员a,则a应是()。A,私有继承的公有成员B,公有继
10、承的私有成员C.公有继承的保护成员D.公有继承的公有成员rArBrC(?D参考答案:D共107人答过,平均正确率72.9%24、下列带缺省值参数的函数说明中,正确的说明是()。A . int Fun(int x=l,int y=2,int z)B . int Fun(int x,int y=2,int z=3)C . int Fun(int x,int y=2,int z)D . int Fun(int x=l,int y,int z=3)参考答案:A共107人答过,平均正确率71.96%25、C+源程序文件的缺省扩展名为()。A. cppB. exeC. objD . lik(yArBrCr
11、D参考答案:A共107人答过,平均正确率71.96%26、存储以下数据,占用存储字节最多的是()。A.0B. 0C. ”0”D. . 0.0A r B r C 0 D参考答案:D共107人答过,平均正确率68.22%27、字符串a + b=12n的长度为().A.6B.7C.8D . 9A Br Cr D参考答案:B共107人答过,平均正确率66.36%28、switch语句能够改写为()语句。A . forB. ifC. doD . whileA 台 B r C r D参考答案:B共107人答过,平均正确率69.16%29、函数重载是指()0A .两个或两个以上的函数取相同的函数名,但形参的
12、个数或类型不同B .两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型 可以不同C.两个以上的函数名字不同,但形参的个数或类型相同D .两个以上的函数取相同的函数名,并且函数的返回类型相同 (?ArBrCrD共107人答过,平均正确率76.64%30、编写C+程序一般需经过的几个步骤依次是()0A .编译、编辑、连接、调试B .编辑、编译、连接、调试C.编译、调试、编辑、连接D .编辑、调试、编辑、连接ABC D参考答案:B共107人答过,平均正确率71.03%31、设inta=15,b=26 /,贝!Tcout(a,b);的输出结果是()。A. 15C . 15,26 rArBrC
13、D参考答案:D共107人答过,平均正确率67.29%32、下列的符号常量定义中,错误的定义是()0A . const M = 10B . const int M=20C . const char chD . const bool mark=true r AB Cr D参考答案:C 在下面循环语句中循环体执行的次数为()。int i=O,s=O; while(s20) i+; s+=i;A.4B. 5C.6D . 7rArB(?CrD参考答案:C共106人答过,平均正确率70.75%34、以下说法中正确的是()。A . C+程序总是从第一个定义的函数开始执行B . C+程序总是从main函数开始
14、执行c. C+ +函数必须有返回值否则不能使用函数D . C+程序中有调用关系的所有函数必须放在同一个程序文件中rA?BrCrD参考答案:B共106人答过,平均正确率68.87%35、假定p是具有double类型的指针变量,则表达式+ + p使p的值(以字节为单位)A. 1B.4C. sizeof(double)D . sizeof(p) rArBf?CrD参考答案:C共107人答过,平均正确率71.96%()是析构函数的特征。A.个类中只能定义个析构函数B,析构函数名与类名不同C.析构函数的定义只能在类体内D,析构函数可以有一个或多个参数*ArBrCrD参考答案:A共106人答过,平均正确率
15、75.47%3、关于delete运算符的下列描述中,()是错误的。A ,它必须用于new返回的指针C.对个指针可以连续使用多次该运算符D .指针名前只有一对方括号符,不管所删除数组的维数rArBf?CrD参考答案:C共107人答过,平均正确率68.22%38、关于类成员函数的描述中,()是错的。A类中可以说明一个或多个成员函数B.类中的成员函数只能定义在类体外C,定义在类体外的成员函数前加inline可以成为内联函数(内置函数)D,在类体外定义成员函数时,在函数名前除了加类名外,还需加作用域符A 汗 Br Cr D参考答案:B共107人答过,平均正确率69.16%假定有struct BOOK
16、char title40;floatprice;B00Kbgk;,则不正确的语句为()0A . BOOK *x=new bookB . BOOK x=nC+ Programming,27.0)C . BOOK *x=new BOOKD . BOOK *x=bookAB r C r D参考答案:A共106人答过,平均正确率74.53%40、下列对引用的陈述中不正确的是()。A ,每个引用都是其所引用对象的别名,因此必须初始化B.形式上针对引用的操作实际上作用于它所引用的对象C , 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接 进行D.不需要单独为引用分配存储空间参考答案:C共10
17、7人答过,平均正确率74.77%面向对象程序设计思想的主要特征不包括()。B ,功能分解,逐步求精C,封装性和信息隐藏D.多态性A 汗 Br Cr D参考答案:B共107人答过,平均正确率74.77%类中定义的成员默认访问权限为(),A. publicB. privateC. protectedD . friendrAf?BrCrD参考答案:B共107人答过,平均正确率69.16%D. 、构造函数在()时被调用。A.程序编译B.程序装入内存C.创建类D.创建对象ABC 出 D参考答案:D共106人答过,平均正确率68.87%E. 、关于构造函数,下面说法错误的是()。A.对用户来说,是否调用构
18、造函数不可选,它由编译器在对象定义时自 动完成B.构造函数也是类的一个成员函数,具有一般成员函数的特征,也可以 被重载C.拷贝构造函数的作用是使用个已经存在的对象去初始化个新的 同类的对象D,构造函数的函数名与类名相同,而且有返回值Ar Br D参考答案:D共107人答过,平均正确率64.49%关于析构函数,说法错误的是()0A,与构造函数几乎正好相反,析构函数用于完成对象被删除前的清理工 作B,析构函数在对象的生存期即将结束时由系统自动调用。调用完成后, 对象消失,相应的内存单元被释放C,是类的个公有函数成员,它的函数名与类名相同,有返回值,可以 接受任何参数D,通常,如果没有显式说明定义析
19、构函,系统将自动生成默认析构函数, 不做任何事情rArBffCrD参考答案:C共107人答过,平均正确率73.83%46、下列关于运算符重载的描述中,错误的是()。A,可以通过运算符重载在C+种创建新的运算符B.赋值运算符只能重载为成员函数C.运算符函数重载为类的成员函数时,第一操作数是该类对象D.重载类型转换运算符时不需要声明返回类型(yArBrCrD参考答案:A共107人答过,平均正确率75.7%47、以下错误的C+标识符是()。A. AXHB._80C.3CD . mainABa Cr D参考答案:C共107人答过,平均正确率67.29%下列代码段声明了 3个类class Person;
20、class Student:public Person;class Undergraduate:Student;下列关于这些类之间的关系的描述中,错误的是()0A .类 Person 是类 Undergraduate 的基类B .类 Undergraduate 从类 Student 公有继承C .类Student是类Person的派生类D .类Undergraduate是类Person的派生类rA(?BrCrD参考答案:B共106人答过,平均正确率71.7%对于继承,下面说法错误的是()0A.派生类会继承基类的全部数据成员和除了构造、析构函数之外的所有 函数成员B.派生类会继承基类的全部数据成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2021 面向 对象 程序设计 期末考试 答案
限制150内