C期末考试试卷及答案.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C期末考试试卷及答案.docx》由会员分享,可在线阅读,更多相关《C期末考试试卷及答案.docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+期末考试试卷及答案1一、单项选择题(每题2分,共40分)1. _不是属于面对对象程序设计的特性 A. 抽象性 B. 数据相关性 C. 多态性 D. 继承性2. 将对某一类数据的处理算法应用到另一类数据的处理中,要用到C+的_ A. 类 B. 虚函数 C. 运算符重载 D. 模板3. C+与C语言最根本的不同之处在于_ A. 运用了类 B. 可以实现变量自动初始化 C. 支持软件重用 D. 支持接口重用4. 动态内存支配的主要目的是_ A. 使程序按动态联编方式运行 B. 正确合理的运用内存C. 进步程序的运行速度 D. 进步程序的可维护性5. 在C+函数的形参前加const关键字,是为了进
2、步函数的_ A. 数据封装性 B. 可理解性 C. 可维护性 D. 可重用性6. 函数重载的目的是_ A. 实现共享 B. 运用便利,进步可读性 C. 进步速度 D. 削减空间7. 从程序片断:char name = C+; course(name);可推断函数course的调用承受的是_ A. 传值调用 B. 带缺省参数值的函数调用 C. 引用调用 D. 传址调用8. 用来说明类中公有成员的关键字是_ A. public B. private C. protected D. friend9. 假设一个类的成员函数print()不修改类的数据成员值,则应将其声明为 A. void print(
3、) const; B. const void print(); C. void const print(); D. void print(const);10. 下列关于构造函数的阐述中,不正确的是_ A. 构造函数的函数名与类名一样 B. 构造函数可以设置默认参数 C. 构造函数的返回类型缺省为int型 D. 构造函数可以重载11. 在程序代码:A:A(int a, int *b) this-x = a; this-y = b; 中,this的类型是_ A. int B. int * C. A D. A *12. 内存泄漏是指_ A. 内存中的数据出现丧失 B.试图释放一个已经释放了的动态支配
4、的堆内存 C. 函数中部分变量所占的栈内存没有刚好回收 D. 动态支配的堆内存在程序退出后始终被占用13. 从程序片断:student zhangsan(张三,M,22); zhangsan.id(2019131000);可推断id是一个_ A. 私有成员数据 B. 私有成员函数 C. 公有成员数据 D. 公有成员函数14. 友元函数_A. 可以被声明为const B. 没有this指针C. 可以用类名或对象名来调用 D. 只能用对象名来调用15. 若一个类的成员函数前用static关键字修饰,则该成员函数_A. 可以被声明为const B. 没有this指针C. 可以访问该类的全部成员 D.
5、 只能用对象名来调用16. C+是用_实现接口重用的 A. 内联函数 B. 虚函数 C. 重载函数 D. 模板函数17. 公有继承的派生类对象可以访问其基类的_A. 公有成员 B. 公有成员及受疼惜成员 C. 受疼惜成员 D. 私有成员18. 设置虚基类的目的是_ A. 简化程序 B. 使程序按动态联编方式运行 C. 进步程序运行效率 D. 消退二义性19. 下列关于纯虚函数和抽象类的描绘中,不正确的是_ A. 纯虚函数是一个没有详细实现的虚函数B. 抽象类是包括纯虚函数的类 C. 抽象类只能作为基类,其纯虚函数的实如今派生类中给出D. 可以定义一个抽象类的对象20. 关于运算符重载的不正确的
6、描绘是_ A. 运算符重载函数是友元函数 B. 表达了程序设计的多态性 C. 增加新的运算符 D. 使运算符能对对象操作二、下面的程序是关于CBook类的一个定义,试改正程序中的错误。(共10分)#include #include #inlcude class CBookprivate:char *p_book;public:p_book=new charstrlen(p_val)+1CBook(const char *p_val) p_book = new charstrlen(p_val); strcpy(p_book, p_val); void print() const cout p_
7、book endl; CBook() delete p_book; void main()char book_title60;CBook *p_book_obj; cout p;CBook abook(p); p_book_obj = &abook; p_book_obj-print();三、依据如下所示程序,答复下列问题(共10分)#include class CJournalpublic:CJournal() cout “Journal default constructor” endl; virtual void subscribe() = 0;void read() cout “Rea
8、d paper” endl; CJournal() cout “Journal default destructor” endl; class CComputerDesign : public CJournalpublic:CComputerDesign () cout “Computer Designdefault constructor” endl; virtual void subscribe() cout “Subscribing Computer Design” endl; void read() cout “Reading Computer Design” endl; CCompu
9、terDesign() cout “Computer Designdefault destructor” subscribe();p_journal-read();1.当程序运行到处时,写出程序运行的输出结果 (3分)2. 当程序完毕时,程序会在第1问的根底上增加哪些输出。 (4分)3. 若在主函数中定义一个对象CJournal journal;程序编译时会否出错?为什么?(3分)四、编程题(共40分)1. 定义一个商品类CGoods,其中包含商品号(long no)、商品名(char *p_name)、商品价格(double price)三个数据成员,以及相应的构造函数、拷贝构造函数、析构函
10、数、打印数据成员的成员函数。(10分)#include #include using namespace std;class CCourseprivate:long no;char *p_name;float credit;public:CCourse(long no_val,char p_val,float credit_val); CCourse(const CCourse &r_course);CCourse()delete p_name;void print() const;CCourse:CCourse(long no_val,char p_val,float credit_val)
11、no=no_val;p_name=new charstrlen(p_val)+1;strcpy(p_name,p_val);credit=credit_val;CCourse:CCourse(const CCourse &r_course)no=r_course.no;p_name=new charstrlen(r_course.p_name)+1;strcpy(p_name,r_course.p_name);credit=r_course.credit;void CCourse:print() constcoutCourse numbernoendl;coutCourse namep_nam
12、eendl;coutCourse creditcreditendl;2. 为CGoods类增加一个商品总数(int count)数据成员,并增加一个成员函数getCount()获得count的值,编写一个友元函数getName()获得商品名称p_name。做如上修改后,重新实现CGoods类(与第1问一样的不用再重复)。(10分)3. 为CGoods类定义小于运算符(=)两个运算符重载函数。CGoods类对象大小的比拟是依据其商品价格(price)的值的大小来实现的。(与第2问一样的不用再重复)(10分)4. 以CGoods类为基类,派生出服装类CClothes和食品类CFood两个派生类,并
13、在这两个类中分别增加一个表示品牌的指针数据成员(char *p_brand)和表示用处的成员函数(void usedFor()可分别输出一条表示服装和食品用处的信息)。写出CClothes类和CFood类的完好定义(包括构造、析构和usedFor()成员函数的实现)。(10分)五、附加题(共30分。留意:确保根本题成果能到达75分以上,再尝试做附加题!)1. 在根本题第四题的根底上,在CGoods类增加总商品数(long total_goods)和商品总价格(double total_price)两个数据成员,以及相应的获得这两个数据成员值的成员函数getTotalGoods()和getTot
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 期末考试 试卷 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内