2022年2022年C++期末考试试卷及参考答案_第1页
2022年2022年C++期末考试试卷及参考答案_第2页
2022年2022年C++期末考试试卷及参考答案_第3页
2022年2022年C++期末考试试卷及参考答案_第4页
2022年2022年C++期末考试试卷及参考答案_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、精选学习资料 - - - 欢迎下载_考 试 科 目面 向 对 象 程 序 c+考 试_考 试 对 象xx计 本 1 . 2. 3 班成 绩_号一.为非题(每道题1. 5 分,共15 分)说明:判定各小题说法的正确性,在下面表格中学对应的题号下填入为非挑选, 如正确,就打钩() ;否就,打叉(×) ;线题号12345678910 为/ 否 1.说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和 返回值类型就可以了;_2.函数定义中的形参的作用域为该函数的函数体;_3.用 new 动态申请的内存空间,必需用delete来释放;_4.构造函数和析构函数都可以声明为虚函数

2、;_5.在公有继承中,基类中的公有成员和私有成员在派生类中都为可见的;_ 6.类的静态数据成员需要在定义每个类的对象时进行初始化;姓名7.使用关键字class定义的类中缺省的拜访权限为私有(private)的; 8.在基类中被说明为虚函数的类的成员函数必需在每个派生类中说明为虚函数,才能具有 多态的特点;订9. c+ 程序中 、 程序将流对象看作为文件的化身; 10假如程序中有多处要抛掷反常,应当用不同的操作数类型来相互区分,操作数的值不 能用来区分不同的反常;_二.填空题(每道题1. 5 分,共 15 分)_1 变 量 名为 变 量的 标识 , 由组 成 , 而 且必 须 以_开头;级 2有

3、了函数原型,函数的作用域就不为从开头,而为从开头;班装3猎取一个变量的地址所采纳的操作符为; 4使用 const语句定义一个标识符常量时,就必需对它同时进行; 5假定类ab 中有一个公用属性的静态数据成员bb,在类外不通过对象名拜访该成 员 bb 的写法为;_6typedef语句的作用为;_7平常所提到的使用mfc编程,这里的 mfc为的缩写;_8如要在程序文件中进行标准输入输出操作,就必需在开头的# include命令中_使用头文件; 9 c+中,如将操作符插入到输出流中,就以十六进制格式输出;院10 c+程序中,反常处理程序的主要任务为;学 三.单项题(在备选答案中选出一个正确答案填入括号

4、内,每道题2 分,共20 分)1 c+对 c语言作了许多改进,以下描述中使得c 语言发生质变,从面对过程变成了面对对象的为();本试卷共 8 页本页为第1 页精品学习资料精选学习资料 - - - 欢迎下载a增加了一些新的运算符b.答应函数重载,并答应设置缺省参数c规定函数说明必需用原型d.引进了类和对象的概念2当一个函数无返回值时、 定义它的函数的类型为 ;a. voidb. intc.无d. long 3以下不为构造函数特点的为();a.构造函数的函数名与类名相同b. 构造函数可以重载c.构造函数可以设置缺省参数d. 构造函数必需指定返回类型4关于成员函数特点的以下描述中,错误选项();a成

5、员函数肯定为内联函数b成员函数可以重载c成员函数可以设置缺省参数值d成员函数可以为静态的 5关于 new 运算符的以下描述中,错误选项();a .它可以用来动态创建对象和对象数组b. 使用它创建的对象或对象数组可以使用运算符delete 删除c. 使用它创建对象时要调用构造函数d. 使用它创建对象数组时必需指定初始值6 派生类的对象对它的基类成员中可以拜访的为();a.公有继承的公有成员b. 公有继承的私有成员c.公有继承的爱护成员d.私有继承的公有成员7以下描述中,正确选项().a.虚函数为一个static类型的成员函数b. 虚函数为一个非成员函数c.抽象类为指具有纯虚函数的类d. 抽象类可

6、以说明其对象 8假定要对类ab 定义加号操作符重载成员函数,实现两个ab 类对象的加法,并返回相加结果,就该成员函数的声明语句为 ;a.aboperator+ab & a、 ab& bb. aboperator+ab& ac.operator+abad. ab& operator+ 9以下不属于vc消息映射内容的为 ;a. 通过将 declare_message_m添a加p到类声明,声明消息映射b. 改写 mfc相关类的虚函数c. 放置标识消息的宏来执行消息映射d. 添加成员函数来处理消息10 以下关 于 vc+编程描述中,错误选项();a. windows为一

7、个基于大事驱动.基于消息的操作系统;b windows 程序始终为程序而不为操作系统打算何时调用哪个函数;c对于使用vc向导生成的程序框架,我们也可以用手工的方式写出;d mfc类库其实为对windows api函数的封装;四.依据下面各小题题目要求进行简洁回答(第1 小题 6 分,第 2 小题 3 分,第3 小题 6 分,共 15 分)(1) 已知类 b 和类 d,它们的类关系如下;请以类对象b1、d1 和指针 pb1 为例简要说明c+赋值兼容规章; (本小题 6分)classb;class d :pubic b本试卷共 8 页本页为第2 页精品学习资料精选学习资料 - - - 欢迎下载;b

8、b1、 * pb1; dd1;答: abc(2) 以下的程序定义了一个交换两个浮点数的函数swap,并在主函数中调用这个 函数进行两个浮点数的交换(本小题3分)void swap floata 、 floatbfloat temp=a; a=b; b=temp;void main float a=1、b=2; swap a、 b ;错误为:改正方法为:(3) 写出下面程序运行结果; (本小题6分)#include <iostream.h> class apublic:virtual void act1 cout<<"a:act1 called. "&

9、lt;<endl; void act2 act1; ;class b : public apublic:void act1 cout<<"b:act1 called. "<<endl;本试卷共 8 页本页为第3 页精品学习资料精选学习资料 - - - 欢迎下载;void maina a、*p; b b; p=&b; b.act1 ;p->act1;p->act2 ;答:五.下面的程序共有 17 行,程序的每行前面加上了行号;程序中变量 num.i .temp.对象 cout 和函数 func 的作用域范畴分别为什么?在程序的

10、下面用行号来回答; (每道题 1 分,共 10 分)1. #include <iostream.h>2. int num;3. void func;4. void main 5. 6. char name20;7. int i;8.fori=0; i<20; i+9.10. char temp;11. temp=namei;本试卷共 8 页本页为第4 页精品学习资料精选学习资料 - - - 欢迎下载12. cout<<temp;13.14. 15. void func 16.17.cout<<”a function.”;18. 回答:num的作用域为从

11、第行到第行;i的作用域为从第行到第行;temp 的作用域为从第行到第行;cout的作用域为从第行到第行;func的作用域为从第行到第行;六.程序回答题(每道题1 分,共5 分)说明:读懂程序,为便于提问,程序每行前面加有行号,请对所提的问题做出准确解答;1 #include <iostream.h> 2 int circlearea3 4double *pd=new double; 5if.pd67cout<<"error memory allocation."<<endl;8return 1; 910double &rd=*pd

12、;11cout<<"the radius is: " 12cin>>rd;13cout<<"the area of circle is: "<<rd*rd*3.14<<endl; 14delete&rd;15return 0; 16 17 void main 18 19ifcirclearea20cout<<"the programn failed."<<endl; 21else22cout<<"the programn

13、successed."<<endl;23 请写出以下问题答案:a) 第 4 行起何作用?本试卷共 8 页本页为第5 页精品学习资料精选学习资料 - - - 欢迎下载答:b) 第 5-9 行可否省去?并说明缘由;答:c) 第 14 行起何作用?答:d) 此程序功能为什么?答:e) 说明 14 行中 & 符号的意义? 答:七.请完成下面2 个运算符重载函数,并对程序最终一行分析错误缘由并改正(此题运算符重载函数各3 分,分析错误缘由并改正4 分,共 10 分)给定整数类:class integerpublic:void set int ii=0 i=ii; integ

14、er operator + int c ; integer operator + integer & c; void display cout<<i<<endl;private:int i;请完成上面2 个运算符重载函数,并以下面的主函数进行测试;void mainintegera、 b、 c;a set20;c set10;b=a+4;b display;b=a+c;b display;b=4+a; /此行代码有误,请分析错误缘由并改正本试卷共 8 页本页为第6 页精品学习资料精选学习资料 - - - 欢迎下载八.编程题;声明一个shape 抽象类,在此基础上

15、派生出rectangle 和 circle类,二者都有getarea 函数运算对象的面积,按下面的要求完成程序的编制工作;本试卷共 8 页本页为第7 页精品学习资料精选学习资料 - - - 欢迎下载 1 rectangle 类有m_width、 m_height属性; 2 circle类有m_radius属性; 3 分别编写rectangle 类和 circle 类带默认参数的构造函数; 4 编写主函数对rectangle .circle 类进行测试,使它们以统一的操作界面输出面积;(提示:利用for 循环进行输出) 5 回答将 shape 类声明为抽象类的方法及意义;(每道题2 分,此题共1

16、0 分)答案和评分标准 a 卷:本试卷共 8 页本页为第8 页精品学习资料精选学习资料 - - - 欢迎下载一.为非题(每道题1.5评分标准:选对者得1.5分,共 15 分)分,否就不得分题号12345678910对错××××二.填空题(每道题1. 5 分,共15 分)评分标准:每题与参考答案相同者得1.5 分,否就不得分;1.字母数字下划线,字母或下划线2.函数定义函数声明3. &4. 初始化5.ab:bb6. 将一个标识符声明成某个数据类型的别名7.microsoft foundation classes8.iostream.h9. hex1

17、0.答应用户排除环境错误,连续运行程序三.单项题(在备选答案中选出一个正确答案填入括号内,每道题2 分,共20 分)评分标准:选对者得2 分,否就不得分;题号12345678910选项dadadacbbb四.依据下面各小题题目要求进行简洁回答(第1 小题 6 分,第 2 小题 3 分,第 3 小题 6分,共15 分)评分标准:每题与参考答案的表达含义相同者得分,否就酌情给分;( 1) a.派生类对象可以赋值给基类对象b1 = d1; b .派生类的对象也可以初始化基类对象的引用b& bb = d1; c .派生类对象的地址也可以赋给指向基类的指针pb1 = & d1;( 2)错

18、误为: void swapfloat a 、float b ;改正方法为:void swapfloat & a 、float & b ;( 3)运行结果为:b:act1 called.b:act1 called.b:act1 called.五.下面的程序共有17 行,程序的每行前面加上了行号;程序中变量num .i . temp .对象 cout 和函数func 的作用域范畴分别为什么?在程序的下面用行号来回答;(每道题1 分,共 10 分)num的作用域为从第2行到第18行;i的作用域为从第7行到第14行;temp的作用域为从第本试卷共 8 页10行到第13行;评分标准:答对

19、者得1 分,否就不得分;作用域范畴分别为:本页为第9 页精品学习资料精选学习资料 - - - 欢迎下载cout的作用域为从第1行到第18行;func的作用域为从第3行到第18行;六.程序回答题(每道题1 分,共5 分)评分标准:每题与参考答案的表达含义相同者得分,否就酌情给分;1.动态安排一个double 内存空间;2.不行以,此程序段主要用来防止不能安排内存空间;3.释放所安排的内存空间;4.运算圆面积;5.取地址;七.阅读以下程序,回答后面提出的问题;(此题 10 分)评分标准:见参考程序中的注释;(1) integer integer:operator + int c3 分integer a; a.i=c+i; return a;(2) integer integer:operator + integer & c3 分integer a; a.i=c.i+i; return a;(3) integer operator + int m 、int

温馨提示

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

评论

0/150

提交评论