C++期末考试试卷及参考答案

上传人:桔**** 文档编号:543526834 上传时间:2023-02-13 格式:DOCX 页数:11 大小:26.77KB
返回 下载 相关 举报
C++期末考试试卷及参考答案_第1页
第1页 / 共11页
C++期末考试试卷及参考答案_第2页
第2页 / 共11页
C++期末考试试卷及参考答案_第3页
第3页 / 共11页
C++期末考试试卷及参考答案_第4页
第4页 / 共11页
C++期末考试试卷及参考答案_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《C++期末考试试卷及参考答案》由会员分享,可在线阅读,更多相关《C++期末考试试卷及参考答案(11页珍藏版)》请在金锄头文库上搜索。

1、考试科目面向对象程序(C+)考试成绩考试对象XX计本1、2、3班、是非题(每小题1.5分,共15分)说明:判断各小题说法的正确性,在下面表格中对应的题号下填入是非选择,若正确,则打钩(,);否则,打叉(X)题号12345678910是/否1 .说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值类型就可以了。2 .函数定义中的形参的作用域是该函数的函数体。3 .用new动态申请的内存空间,必须用delete来释放。4 .构造函数和析构函数都可以声明为虚函数。5 .在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。6 .类的静态数据成员需要在定义每个类的对象时

2、进行初始化。7 .使用关键字class定义的类中缺省的访问权限是私有(private)的。8 .在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。9 .C+程序中,程序将流对象看作是文件的化身。10 .如果程序中有多处要抛掷异常,应该用不同的操作数类型来相互区别,操作数的值不能用来区别不同的异常。_二、填空题(每小题1.5分,共15分)_一1.变量名是变量的标识,由组成,而且必须以_一开头。级二2.有了函数原型,函数的作用域就不是从开始,而是从开始。班装3.获取一个变量的地址所采用的操作符是。- 4.使用const语句定义一个标识符常量时,则必须对它同时进

3、行。- 5.假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成- 员bb的写法为。_6.typedef语句的作用为。_7.平时所提到的使用MFC程.这里的MFC是的缩写。二8.若要在程序文件中进行标准输入输出操作,则必须在开始的#include命令中_使用头文件。1 二9.C+用,若将操作符插入到输出流中,则以十六进制格式输出。W10.C+程序中,异常处理程序的主要任务是。子一一三、单选题(在备选答案中选出一个正确答案填入括号内,每小题2分,共20分)1. C+寸C语言作了很多改进,下列描述中使得C语言发生质变,从面向过程变成了面向对象的是()。A.增加了一些新的运算符B

4、.允许函数重载,并允许设置缺省参数C.规定函数说明必须用原型D.引进了类和对象的概念2 当一个函数无返回值时,定义它的函数的类型是()。A.voidB.intC.无D.long3 下列不是构造函数特征的是()。A. 构造函数的函数名与类名相同B.构造函数可以重载D. 构造函数必须指定返回类型)。B.成员函数可以重载D.成员函数可以是静态的)。C.构造函数可以设置缺省参数4关于成员函数特征的下列描述中,错误的是(A.成员函数一定是内联函数C.成员函数可以设置缺省参数值5关于new运算符的下列描述中,错误的是(A.它可以用来动态创建对象和对象数组B. 使用它创建的对象或对象数组可以使用运算符del

5、ete删除C. 使用它创建对象时要调用构造函数D. 使用它创建对象数组时必须指定初始值6派生类的对象对它的基类成员中可以访问的是()。A.公有继承的公有成员B.公有继承的私有成员D. 私有继承的公有成员C.公有继承的保护成员7 下列描述中,正确的是().A.虚函数是一个static类型的成员函数B.虚函数是一个非成员函数C.抽象类是指具有纯虚函数的类D.抽象类可以说明其对象8 假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为A. AB operator+(AB & a, ABC. operator+(AB a)9 .下列不属于VC消息

6、映射内容的是(()。10 b)B. AB operator+(AB & a)D. AB & operator+( )。A.通过将DECLARE_MESSAGE_MAP至IJ类声明,声明消息映射B.改写MFCffi关类的虚函数C. 放置标识消息的宏来执行消息映射D. 添加成员函数来处理消息10下列关于VC+编程描述中,错误的是()。A.Windows是一个基于事件驱动、基于消息的操作系统。BWindows程序始终是程序而不是操作系统决定何时调用哪个函数。C.对于使用VC向导生成的程序框架,我们也可以用手工的方式写出。D.MFC1库其实是对windowsAPI函数的封装。四、根据下面各小题题目要求

7、进行简单回答(第1小题6分,第2小题3分,第3小题6分,共15分)(1)已知类B和类D,它们的类关系如下。请以类对象b1,d1和指针pb1为例简要说明C+硼值兼容规则。(本小题6分)classB;classD:pubicB;Bb1,*pb1;Dd1;答:a)b)C)(2)下列的程序定义了一个交换两个浮点数的函数swap,并在主函数中调用这个函数进行两个浮点数的交换(本小题3分)voidswap(floata,floatb)floattemp=a;a=b;b=temp;voidmain()floata=1,b=2;swap(a,b);错误为:改正方法为:(3)写出下面程序运行结果。(本小题6分)

8、#includeclassApublic:virtualvoidact1()coutA:act1()called.endl;voidact2()act1();classB:publicApublic:voidact1()coutB:act1()called.act1();p-act2();答:五、下面的程序共有17行,程序的每行前面加上了行号。程序中变量num、i、temp、对象cout和函数func()的作用域范围分别是什么?在程序的下面用行号来回答。(每小题1分,共10分)1. #include2. intnum;3. voidfunc();4. voidmain()5. 6. charn

9、ame20;7. inti;8. for(i=0;i20;i+)9. 10.11.char temp;temp=namei;12. couttemp;13. 14. 15. voidfunc()16K17. coutAfunction!18. 回答:num的作用域为从第行到第行。i的作用域为从第行到第行。temp的作用域为从第行到第行。cout的作用域为从第行到第行。func的作用域为从第行到第行。六、程序回答题(每小题1分,共5分)说明:读懂程序,为便于提问,程序每行前面加有行号,请对所提的问题做出准确解答。1. #include2. intCircleArea()3. 4. double*

10、pd=newdouble;5. if(!pd)6. 7. coutErrorMemoryAllocation!endl;8. return1;9. 10. double&rd=*pd;11. coutrd;13. coutTheAreaofCircleis:rd*rd*3.14endl;14. delete&rd;15. return0;16. 17. voidmain()18. 19. if(CircleArea()20. coutTheprogramnfailed!endl;21. else22. coutTheprogramnsuccessed!endl;23. 请写出下列问题答案:a)

11、第4行起何作用?答:b) 第5-9行可否省去?并说明原因。答:c) 第14行起何作用?答:d)此程序功能是什么?答:e) 解释14行中&符号的意义?答:七、请完成下面2个运算符重载函数,并对程序最后一行分析错误原因并改正(本题运算符重载函数各3分,分析错误原因并改正4分,共10分)给定整数类:classIntegerpublic:voidSet(intii=0)i=ii;Integeroperator+(intc);Integeroperator+(Integer&c);voidDisplay()coutiendl;private:inti;请完成上面2个运算符重载函数,并以下面的主函数进行测

12、试。voidmain()IntegerA,B,C;ASet(20);CSet(10);B=A+4;BDisplay();B=A+C;BDisplay();B=4+A;/此行代码有误,请分析错误原因并改正八、编程题。声明一个shape抽象类,在此基础上派生出Rectangle和Circle类,二者都有GetArea()函数计算对象的面积,按下面的要求完成程序的编制工作。(1)Rectangle类有m_Width,m_Height属性;(2)Circle类有m_Radius属性;(3)分别编写Rectangle类和Circle类带默认参数的构造函数;(4)编写主函数对Rectangle、Circl

13、e类进行测试,使它们以统一的操作界面输出面积;(提示:利用for循环进行输出)(5)回答将Shape类声明为抽象类的方法及意义。(每小题2分,本题共10分)答案和评分标准(A卷):一、是非题(每小题1.5分,共15分)评分标准:选对者得1.5分,否则不得分题号12345678910对/错XXa/X,二、填空题(每小题1.5分,共15分)评分标准:每题与参考答案相同者得1.5分,否则不得分。1、字母数字下划线,字母或下划线3、&5、AB:bb名7、Microsoft Foundation Classes9、 hex2、函数定义函数声明4、初始化6、将一个标识符声明成某个数据类型的别8、 iostream.h10、允许用户排除环境错误,继续运行程序三、单选题(在备选答案中选出一个正确答案填入括号内,每小题2分,共20分)评分标准:选对者得2分,否则不得分。题号12345678910选项D-AJ.D_-A-DAC-B-B.B四、根据下面各小题题目要求进行简单回答(第1小题6分,第2小题3分,第3小题6分,共15分)评分标准:每题与参考答案的叙述含义相同者得分,否则酌情给分。(1)a、派生类对象可以赋值给基类对象b1=d1;b、派生类的对象也可以初始化基类对象的

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

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号