2021-面向对象程序设计-期末考试-含答案(共79页).docx

上传人:飞****2 文档编号:14576118 上传时间:2022-05-05 格式:DOCX 页数:79 大小:652.78KB
返回 下载 相关 举报
2021-面向对象程序设计-期末考试-含答案(共79页).docx_第1页
第1页 / 共79页
2021-面向对象程序设计-期末考试-含答案(共79页).docx_第2页
第2页 / 共79页
点击查看更多>>
资源描述

《2021-面向对象程序设计-期末考试-含答案(共79页).docx》由会员分享,可在线阅读,更多相关《2021-面向对象程序设计-期末考试-含答案(共79页).docx(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上面向对象程序设计考前练习本试卷有3种题型共120小题,作答时间为90分钟,总分120分。一、单选题(本部分共89题,每题1分,共89分)1、在类定义的外部,可以被访问的成员有()。 A . 所有类成员 B . private的类成员 C . public或private的类成员 D . public的类成员ABCD参考答案:D共137人答过,平均正确率55.47%2、下列关于C+语言类的描述中错误的是()。 A . 类用于描述事物的属性和对事物的操作 B . 类与类之间通过封装而具有明确的独立性 C . 类与类之间必须是平等的关系,而不能组成层次结构 D . 类与类之

2、间可以通过一些方法进行通信和联络ABCD参考答案:C共117人答过,平均正确率70.09%3、定义析构函数时,应该注意()。 A . 其名与类名完全相同 B . 返回类型是void类型 C . 无形参,也不可重载 D . 函数体中必须有delete语句ABCD参考答案:C共116人答过,平均正确率68.97%4、下列函数中,正确的递归函数是()。 A . int Fun(int n) if(n1)? return 1;? else? return n*Fun(n+1); B . int Fun(int n) if (abs(n)1)? return 1;? else? return n*Fun

3、(n*2); D . int Fun(int n)? if(n1)? return 1; else? return n*Fun(n-1); ABCD参考答案:B共115人答过,平均正确率73.04%5、在C+中编译器所生成的文件的扩展名为()。 A . .cpp B . .obj C . .lib D . .exeABCD参考答案:B共113人答过,平均正确率70.8%6、派生类的对象对它的基类成员中的()是可以访问。 A . 公有继承的公有成员 B . 公有继承的私有成员 C . 公有继承的保护成员 D . 私有继承的公有成员ABCD参考答案:A共112人答过,平均正确率73.21%7、C+

4、设置虚基类的目的是()。 A . 消除二义性 B . 简化程序 C . 提高运行效率 D . 减少目标代码ABCD参考答案:A共112人答过,平均正确率71.43%8、以下关于this指针的叙述中正确的是()。 A . 任何与类相关的函数都有this指针 B . 类的成员函数都有this指针 C . 类的友员函数都有this指针 D . 类的非静态成员函数才有this指针ABCD参考答案:D共107人答过,平均正确率63.55%9、实现运行时的多态性采用()。 A . 重载函数 B . 构造函数 C . 析构函数 D . 虚函数ABCD参考答案:D共107人答过,平均正确率69.16%10、关

5、于类定义格式的描述中,()是错的。 A . 一般类的定义格式分为说明部分和实现部分 B . 一般类中包含有数据成员和成员函数 C . 类中成员有三种访问数据:公有、私有和保护 D . 成员函数都应是公有的、数据成员都应是私有的ABCD参考答案:D共108人答过,平均正确率65.74%11、关于new运算符的下列描述中,()是错误的。 A . 它可以用来动态创建对象和对象数组 B . 使用它创建的对象或对象数组可以使用运算符delete删除 C . 使用它创建对象时要调用构造函数 D . 使用它创建对象数组时必须指定初始值ABCD参考答案:D共108人答过,平均正确率63.89%12、在()情况

6、下适宜采用inline定义内联函数。 A . 函数体含有循环语句 B . 函数体含有递归语句 C . 函数代码小,频繁调用 D . 函数代码多,不常调用ABCD参考答案:C共107人答过,平均正确率75.7%13、定义析构函数时,应该注意()。 A . 其函数名与类名完全相同 B . 函数返回类型是void类型 C . 无形参,也不可重载 D . 函数体中必须有delete语句ABCD参考答案:C共107人答过,平均正确率69.16%14、关于成员函数特征的下列描述中,( )是错误的。 A . 成员函数一定是内联函数 B . 成员函数可以重载 C . 成员函数可以设置缺省参数值 D . 成员函

7、数可以是私有的ABCD参考答案:A共107人答过,平均正确率75.7%15、下列有关类的说法不正确的是()。 A . 类是一种用户自定义的数据类型 B . 只有类中的成员函数才能存取类中的私有数据 C . 在类中,如果不作特别说明,所有的数据均为私有类型 D . 在类中,如果不作特别说明,所有的成员函数均为公有类型ABCD参考答案:D共107人答过,平均正确率69.16%16、在C+程序中,对象之间的相互通信通过()。 A . 继承实现 B . 调用成员函数实现 C . 封装实现 D . 函数重载实现ABCD参考答案:B共107人答过,平均正确率72.9%17、对于任意一个类,析构函数的个数有

8、()。 A . 0 B . 1 C . 不确定 D . 2ABCD参考答案:B共107人答过,平均正确率70.09%18、在下列各函数中, 不是类的成员函数的是()。 A . 构造函数 B . 析构函数 C . 友元函数 D . 拷贝构造函数ABCD参考答案:C共107人答过,平均正确率71.96%19、在多基继承的构造函数定义中,几个基类的构造函数之间用()分隔。 A . : B . C . , D . :ABCD参考答案:C共107人答过,平均正确率70.09%20、若类A和类B的定义如下:class Aint i,j;public:void get();/.;class B: Aint

9、k;public:void make(int );/.;void B:make(int j)k = i*j;则上述定义中,非法的表达式是()。 A . void get() B . int k C . void make(int ) D . k=i*jABCD参考答案:D共107人答过,平均正确率66.36%21、已知:print函数是一个类的常成员函数,它无返回值,下列表示中正确的是()。 A . const void print() B . void const print() C . void print(const) D . void print()constABCD参考答案:D共10

10、6人答过,平均正确率65.09%22、下列关于运算符重载的描述中,正确的叙述是()。 A . 运算符重载可以改变运算数的个数 B . 运算符重载可以改变语法结构 C . 运算符重载可以构造新的运算符 D . 运算符重载不可以改变优先级和结合性ABCD参考答案:D共107人答过,平均正确率68.22%23、在类外部可以用p.a的形式访问派生类对象p的基类成员a,则a应是()。 A . 私有继承的公有成员 B . 公有继承的私有成员 C . 公有继承的保护成员 D . 公有继承的公有成员ABCD参考答案:D共107人答过,平均正确率72.9%24、下列带缺省值参数的函数说明中,正确的说明是()。

11、A . int Fun(int x=1,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=1,int y,int z=3)ABCD参考答案:A共107人答过,平均正确率71.96%25、C+源程序文件的缺省扩展名为()。 A . cpp B . exe C . obj D . likABCD参考答案:A共107人答过,平均正确率71.96%26、存储以下数据,占用存储字节最多的是()。 A . 0 B . 0 C . “0” D . 0.0AB

12、CD参考答案:D共107人答过,平均正确率68.22%27、字符串”a+b=12n”的长度为()。 A . 6 B . 7 C . 8 D . 9ABCD参考答案:B共107人答过,平均正确率66.36%28、switch语句能够改写为()语句。 A . for B . if C . do D . whileABCD参考答案:B共107人答过,平均正确率69.16%29、函数重载是指()。 A . 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 B . 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 C . 两个以上的函数名字不同,但形参的个数或类型相同 D

13、. 两个以上的函数取相同的函数名,并且函数的返回类型相同ABCD参考答案:A共107人答过,平均正确率76.64%30、编写C+程序一般需经过的几个步骤依次是()。 A . 编译、编辑、连接、调试 B . 编辑、编译、连接、调试 C . 编译、调试、编辑、连接 D . 编辑、调试、编辑、连接ABCD参考答案:B共107人答过,平均正确率71.03%31、设“int a=15,b=26;”,则“cout(a,b);”的输出结果是()。 A . 15 B . 26,15 C . 15,26 D . 26ABCD参考答案:D共107人答过,平均正确率67.29%32、下列的符号常量定义中,错误的定义

14、是()。 A . const M=10 B . const int M=20 C . const char ch D . const bool mark=trueABCD参考答案:C共107人答过,平均正确率71.96%33、在下面循环语句中循环体执行的次数为()。int i=0,s=0; while(s=A & ch=Z B . ch=Z C . A=ch=A & ch=ZABCD参考答案:D共106人答过,平均正确率69.81%59、下列关于类定义的说法中,正确的是()。 A . 类定义中包括数据成员和函数成员的声明 B . 类成员的缺省访问权限是保护的 C . 数据成员必须被声明为私有的

15、 D . 成员函数只能在类体外进行定义ABCD参考答案:A共106人答过,平均正确率76.42%60、使用输入输出操作符setw,可以控制()。 A . 输出精度 B . 输出宽度 C . 对齐方式 D . 填充字符ABCD参考答案:B共106人答过,平均正确率68.87%61、有如下函数定义:则变量x和y值分别是()。 A . 0和1 B . 1和1 C . 0和2 D . 1和2ABCD参考答案:C共106人答过,平均正确率68.87%62、有如下程序:运行时输出的结果是()。 A . 3 B . constructor destructor C . copy constructor D

16、. 3 destructorABCD参考答案:D共106人答过,平均正确率66.04%63、下列选项中不符合良好程序设计风格的是()。 A . 源程序要文档化 B . 数据说明的次序要规范化 C . 避免滥用goto语句 D . 模块设计要保证高耦合、高内聚ABCD参考答案:D共105人答过,平均正确率69.52%64、在面对对象方法中,实现信息隐蔽是依靠()。 A . 象的继承 B . 对象的多态 C . 对象的封装 D . 对象的分类ABCD参考答案:C共106人答过,平均正确率73.58%65、已知一程序运行后执行的第一个输出操作是coutsetw(10)setfill(*) 1; -i

17、 )cout *;中,cout是()。 A . C+关键字 B . 类名 C . 对象名 D . 函数名ABCD参考答案:C共105人答过,平均正确率66.67%72、有以下程序程序执行后的输出结果是()。 A . 6+6i B . 6+1i C . 1+6i D . 1+1iABCD参考答案:B共105人答过,平均正确率67.62%73、有如下类声明:其中,私有成员的数量为()。 A . 1 B . 2 C . 3 D . 4ABCD参考答案:B共105人答过,平均正确率67.62%74、以下程序输出的结果是()。 A . 00 B . 50 C . 05 D . 55ABCD参考答案:B共

18、104人答过,平均正确率66.35%75、在类声明中,紧跟在“public:”后声明的成员的访问权限是()。 A . 私有 B . 公有 C . 保护 D . 默认ABCD参考答案:B共105人答过,平均正确率65.71%76、下列有关内联函数的叙述中,正确的是()。 A . 内联函数在调用时发生控制转移 B . 内联函数必须通过关键词inline来定义 C . 内联函数是通过编译器实现的 D . 内联函数函数体的最后一条语句必须是return语句ABCD参考答案:C共105人答过,平均正确率70.48%77、若有下面的函数调用:Fun( a + b, 3, max( n 1, b)则Fun的

19、实参个数是()。 A . 3 B . 4 C . 5 D . 6ABCD参考答案:A共104人答过,平均正确率74.04%78、下列有关函数重载的叙述中,正确的是()。 A . 重载函数的形参个数可以相同 B . 重载函数的形参个数必须不同 C . 重载函数的返回值类型必须不同 D . 重载函数的任何参数都不能带默认值ABCD参考答案:A共105人答过,平均正确率66.67%79、字面常量12、1.2、12L的数据类型分别是()。 A . long、double int B . long、float、int C . int、double、long D . int、float、longABCD参

20、考答案:C共104人答过,平均正确率70.19%80、执行下列语句后,变量sum的值是()。 A . 7 B . 8 C . 9 D . 10ABCD参考答案:C共105人答过,平均正确率67.62%81、下列函数原型中,可以作为类Foo构造函数的是()。 A . void Foo(int) B . int Foo() C . Foo(int)const D . Foo(int)ABCD参考答案:D共105人答过,平均正确率66.67%82、若x和y是程序中的两个整型变量,则下列if语句中正确的是()。 A . if(x=0) y=1; else y=2 B . if(x=0) then y=

21、1 else y=2 C . if(x=0) y=1 else y=2 D . if x=0 y=1; else y=2ABCD参考答案:A共105人答过,平均正确率70.48%83、下列叙述中,错误的是()。 A . false是一个逻辑型常量 B . b是一个字符型常量 C . 365是一个int常量 D . 3.是一个double常量ABCD参考答案:B共104人答过,平均正确率65.38%84、程序如下:运行时的输出结果是()。 A . 运行时出错 B . E2-C16- C . C4-C16- D . E2-E4-ABCD参考答案:B共105人答过,平均正确率67.62%85、计算斐

22、波那契数列第n项的函数定义如下:若执行函数调用表达式fib(3),函数fib被调用的次数是()。 A . 1 B . 2 C . 3 D . 4ABCD参考答案:C共105人答过,平均正确率74.29%86、有如下程序段:执行这个程序段输出字符*的个数是()。 A . 10 B . 3 C . 4 D . 5ABCD参考答案:C共105人答过,平均正确率69.52%87、下列关于C+函数的叙述中,正确的是()。 A . 每个函数至少要具有一个参数 B . 每个函数都必须返回一个值 C . 函数在被调用之前必须声明 D . 函数不能自己调用自己ABCD参考答案:C共105人答过,平均正确率76.

23、19%88、有如下程序:其主函数中错误的语句是()。 A . 语句 1 B . 语句 2 C . 语句 3 D . 语句 4ABCD参考答案:C共105人答过,平均正确率66.67%89、在 C+中,编译系统自动为一个类生成缺省构造函数的条件是()。 A . 该类没有定义任何有参构造函数 B . 该类没有定义任何无参构造函数 C . 该类没有定义任何构造函数 D . 该类没有定义任何成员函数ABCD参考答案:C共105人答过,平均正确率74.29%二、判断题(本部分共30题,每题1分,共30分)90、面向对象的特点是封装、继承、多态()。正确错误参考答案:正确共105人答过,平均正确率83.8

24、1%91、函数形参的作用域是该函数的函数体()。正确错误参考答案:正确共104人答过,平均正确率88.46%92、纯虚函数必须在抽象类中,所以抽象类中的成员函数必须是纯虚函数()。正确错误参考答案:错误共104人答过,平均正确率68.27%93、派生类中至少包含了它的所有基类的成员,在这些成员中可能有的是不可访问()。正确错误参考答案:正确共104人答过,平均正确率86.54%94、可以在类的构造函数中对静态数据成员进行初始化()。正确错误参考答案:错误共104人答过,平均正确率64.42%95、构造函数和析构函数都可以定义为虚函数()。正确错误参考答案:错误共104人答过,平均正确率66.3

25、5%96、在C+中,对于构造函数和析构函数来说,构造函数是可以重载的,而析构函数是不可以重载的()。正确错误参考答案:正确共103人答过,平均正确率91.26%97、声明友元的关键字是friend()。正确错误参考答案:正确共104人答过,平均正确率85.58%98、派生类对基类的继承有三种方式public、protected和private()。正确错误参考答案:正确共103人答过,平均正确率91.26%99、要想访问基类的private成员变量,只能通过基类提供的构造函数进行间接访问()。正确错误参考答案:错误共103人答过,平均正确率65.05%100、C+语言支持的两种多态性分别是编译

26、时的多态性和运行时的多态性()。正确错误参考答案:正确共103人答过,平均正确率87.38%101、在C+程序中包含一个头文件或程序文件的预编译命令为include()。正确错误参考答案:错误共104人答过,平均正确率67.31%102、static加在局部变量定义前,改变局部变量的生存期但不改变它的作用域()。正确错误参考答案:正确共104人答过,平均正确率88.46%103、若在类的定义体中给出了一个成员函数的完整定义,则该函数属于外联函数()。正确错误参考答案:错误共104人答过,平均正确率73.08%104、类的私有成员只能被它的成员函数和友元函数访问()。正确错误参考答案:正确共104人答过,平均正确率87.5%105、一个抽象类的派生类可以实例化的必要条件是实现了所有的纯虚函数()。正确错误参考答案:正确共103人答过,平均正确率85.44%106、假定AB为一个类,有类AB的两个对象a1,a2;则执行语句时系统自动调用该类的构造函数的次数为1()。正确错误参考答案:错误共104人答过,平均正确率70.19%107、通过C+语言中类的继承和派生机制,可以扩充和完善已有类以适应新的需求()。正确错误参考答案:正确共1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁