c++复习试卷1.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c复习试卷1

课程名称: 面向对象程序设计 ( A卷 闭卷) 适用专业年级:计算机科学与技术07级 考试时间: 100分钟 一、判断题,正确的打√,错误的打×(每小题1分,共10分) 1.在C++中,也可使用struct来声明类,但在该类中不能声明成员函数。( × ) 2.在定义二维数组时,语句“int a[][4]={{1,2,3},{4}};”是不正确的。 ( × ) 3.采用 inline 定义内联函数时,在对于函数代码少、频繁调用的情况下特别有效。(√ ) 4.类中的静态成员数据为该类的所有对象所共享,并且,在该类对象被撤销时,静态成员并没有撤销。( √ ) 5.构造函数和析构函数均不能被说明为虚函数。(× )构造函数不能申明为虚函数 6.char *const p 表明p是一个指针,它只能指向一个字符串常量。( × ) 7.如果派生类的继承方式是protected的,则在main( )函数中,可以通过派生类对象来访问基类的公有的成员。( × ) 8.在C++中,可以通过ofstream类对象来建立一个输出文件流。( √ ) 9.在C语言中,不使用命名空间,但在C++程序中,一定要使用命名空间。( × ) 10.在MFC编程中,通过Invalidate(TRUE)可以发出重绘视图的消息。( √ ) 二、简答题(每小题8分,共24分) 1.什么是面向对象的程序设计?什么是简单继承?什么是多重继承? 面向对象的程序设计:它的整个程序由一系列相互作用的对象构成,对象之间的交互通过发送消息来实现,对象通过响应消息来实现程序的功能。(4分) 简单继承:派生类的基类只有一个的继承方法。(2分) 多重继承:派生类的基类同时有多个时的继承方法。(2分) 什么是多态性?C++中,多态性是如何实现的? 多态性是指:向不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为(即方法). C++中,多态性是通过指针和虚函数来实现的。 c++中,什么是函数重载?什么是运算符重载?什么是构造函数?什么是析构函数? 函数重载:函数的名称相同,参数的个数或类型不同的函数。 运算符重载:对运算符赋予新的含义,使之一名多用(主要是指运算对象包含类对象)。 构造函数:构造函数的名字必须与类名同名,它不具有任何类型,不返回任何值,主要用于对象初始化。 析构函数:函数名与类名相同,只是在前边加“~”符号,它不具有任何类型,不返回任何值,主要用于对象撤销后的清理工作。 三、填空题(每空2分,共10分) 下面程序中的Create函数根据table数组中的前n个元素建立一个表头指针为Head的链表,链表中结点值的顺序与数组元素值的顺序相同。填充程序中不完整的部分,使程序完整正确。 #includeiostream.h #includestring.h struct NODE{int data;NODE * next;}; void Create(NODE * Head,int table[ ],int n) { int i; NODE *p; if(n=0){ ___(1)_Head=NULL__;return;}//没有元素时,链表指向空。 Head=new NODE; //生成第一个结点 Head-data = ___(2)__ table[0]_; i=1; p=Head; while( in ) { p=___(3)_ p-next __ =new NODE ; p-data= table[i] ; ___(4)_i++__; } ___(5)_ p-next=NULL__; //把最后一个结点的指针域置空 return; } void main() { int a[10]={1,2,3,4,5}; NODE *H; Create(H,a,5); } 四、阅读下面的程序,写出程序运行的结果。(共26分) 1.程序1(6分) #include iostream.h class CStr { int n; char str[50]; public: CStr( char *p,int len=0) { int i; n=len; for (i=0;in;i++) str[i]=*p++; } friend void GetChar(CStr a); }; void GetChar(CStr a) { int i; char ch; for (i=0;ia.n;i++) { if (a.str[i]==!)

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档