2022年C++期末考试试卷及参考答案 .pdf
《2022年C++期末考试试卷及参考答案 .pdf》由会员分享,可在线阅读,更多相关《2022年C++期末考试试卷及参考答案 .pdf(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本试卷共 8 页本页为第1 页考 试 科 目面 向 对象 程 序 ( C+) 考 试成 绩考 试 对 象XX 计 本 1 、 2、 3 班一、是非题(每小题1. 5 分,共15 分)说明:判断各小题说法的正确性,在下面表格中对应的题号下填入是非选择,若正确,则打钩() ;否则,打叉() 。题号1 2 3 4 5 6 7 8 9 10 是/ 否1. 说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值类型就可以了。2. 函数定义中的形参的作用域是该函数的函数体。3. 用 new 动态申请的内存空间,必须用delete 来释放。4. 构造函数和析构函数都可以声明为虚函数。5
2、. 在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。6. 类的静态数据成员需要在定义每个类的对象时进行初始化。7. 使用关键字class 定义的类中缺省的访问权限是私有(private)的。8. 在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。9. C+ 程序中 ,程序将流对象看作是文件的化身。10如果程序中有多处要抛掷异常,应该用不同的操作数类型来相互区别,操作数的值不能用来区别不同的异常。二、填空题(每小题1. 5 分,共 15 分)1 变 量 名是 变 量的 标识 , 由组 成 , 而 且必 须 以开头。2有了函数原型,函数的作用域就
3、不是从开始,而是从开始。3获取一个变量的地址所采用的操作符是。4使用 const 语句定义一个标识符常量时,则必须对它同时进行。5假定类AB 中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员 bb 的写法为。6 typedef 语句的作用为。7平时所提到的使用MFC 编程,这里的 MFC 是的缩写。8若要在程序文件中进行标准输入输出操作,则必须在开始的 # include 命令中使用头文件。9C+ 中,若将操作符插入到输出流中,则以十六进制格式输出。10C+ 程序中,异常处理程序的主要任务是。三、单选题(在备选答案中选出一个正确答案填入括号内,每小题2 分,共20 分)1C+
4、对 C 语言作了很多改进,下列描述中使得C 语言发生质变,从面向过程变成了面向对象的是() 。学院_班级_姓名_学号_装订线名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 11 页 - - - - - - - - - 本试卷共 8 页本页为第2 页A增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C规定函数说明必须用原型D. 引进了类和对象的概念2当一个函数无返回值时, 定义它的函数的类型是( ) 。A. void B. int C. 无D.
5、long 3下列不是构造函数特征的是() 。A. 构造函数的函数名与类名相同B. 构造函数可以重载C. 构造函数可以设置缺省参数D. 构造函数必须指定返回类型4关于成员函数特征的下列描述中,错误的是() 。A成员函数一定是内联函数B成员函数可以重载C成员函数可以设置缺省参数值D 成员函数可以是静态的5关于 new 运算符的下列描述中,错误的是() 。A . 它可以用来动态创建对象和对象数组B. 使用它创建的对象或对象数组可以使用运算符delete 删除C. 使用它创建对象时要调用构造函数D. 使用它创建对象数组时必须指定初始值 6 派生类的对象对它的基类成员中可以访问的是() 。A. 公有继承
6、的公有成员B. 公有继承的私有成员C. 公有继承的保护成员D. 私有继承的公有成员7下列描述中,正确的是(). A. 虚函数是一个static 类型的成员函数B. 虚函数是一个非成员函数C. 抽象类是指具有纯虚函数的类D. 抽象类可以说明其对象8假定要对类AB 定义加号操作符重载成员函数,实现两个AB 类对象的加法,并返回相加结果,则该成员函数的声明语句为 ( ) 。A. AB operator+(AB & a, AB & b) B. AB operator+(AB & a) C. operator+(AB a) D. AB & operator+( ) 9下列不属于VC消息映射内容的是( )
7、 。A. 通过将 DECLARE_MESSAGE_MAP 添加到类声明,声明消息映射B. 改写 MFC相关类的虚函数C. 放置标识消息的宏来执行消息映射D. 添加成员函数来处理消息 10 下列关于 VC+ 编程描述中,错误的是() 。A. Windows 是一个基于事件驱动、基于消息的操作系统。BWindows 程序始终是程序而不是操作系统决定何时调用哪个函数。C对于使用VC 向导生成的程序框架,我们也可以用手工的方式写出。DMFC 类库其实是对windows API 函数的封装。四、根据下面各小题题目要求进行简单回答(第1 小题 6 分,第 2 小题 3 分,第3 小题 6 分,共 15 分
8、)(1) 已知类 B 和类 D,它们的类关系如下。请以类对象b1,d1 和指针 pb1 为例简要说明C+ 赋值兼容规则。 (本小题 6 分)class B ;class D :pubic B 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 11 页 - - - - - - - - - 本试卷共 8 页本页为第3 页 ;B b1, * pb1; D d1; 答: a) b) C) (2) 下列的程序定义了一个交换两个浮点数的函数swap,并在主函数中调用这
9、个函数进行两个浮点数的交换(本小题 3 分)void swap (float a , float b) float temp=a; a=b; b=temp; void main( ) float a=1,b=2; swap ( a, b ); 错误为:改正方法为:(3) 写出下面程序运行结果。 (本小题 6 分)#include class A public: virtual void act1() coutA:act1() called. endl; void act2() act1(); ; class B : public A public: void act1() coutB:act1
10、() called. act1(); p-act2 (); 答:五、下面的程序共有17 行,程序的每行前面加上了行号。程序中变量num、i 、temp、对象cout 和函数func() 的作用域范围分别是什么?在程序的下面用行号来回答。(每小题 1 分,共10 分)1.#include 2.int num; 3.void func(); 4.void main() 5. 6.char name20; 7.int i; 8. for(i=0; i20; i+) 9. 10.char temp; 11.temp=namei; 名师归纳总结 精品学习资料 - - - - - - - - - - -
11、- - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 11 页 - - - - - - - - - 本试卷共 8 页本页为第5 页12.couttemp; 13. 14. 15. void func() 16. 17. cout”A function!”;18. 回答:num 的作用域为从第行到第行。i 的作用域为从第行到第行。temp 的作用域为从第行到第行。cout 的作用域为从第行到第行。func 的作用域为从第行到第行。六、程序回答题(每小题1 分,共5 分)说明:读懂程序,为便于提问,程序每行前面加有行号,请对所提的问题
12、做出准确解答。1#include 2int CircleArea() 3 4double *pd=new double; 5if(!pd) 6 7coutError Memory Allocation!endl; 8return 1; 9 10double &rd=*pd; 11coutrd; 13coutThe Area of Circle is: rd*rd*3.14endl; 14delete &rd; 15return 0; 16 17void main() 18 19if(CircleArea() 20coutThe programn failed!endl; 21else 22co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C+期末考试试卷及参考答案 2022 C+ 期末考试 试卷 参考答案
限制150内