- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C期末考试题及答案解析
清华大学计算机系C++期末考试题及答案
一、 填空题(25小题,共50分)(以下每小题1分,共10分) 1. 在C++中,函数的参数有两种传递方式,它们是值传递和 地址或指针或引用传递。 2. 当一个成员函数被调用时,该成员函数的 this指针 指向调用它的对象。 3.在基类和派生类中,派生类可以定义其基类中不具备的数据和操作。对两个有相同名字的数据成员进行访问时,如果没有 作用域分隔符限定时 ,对此数据成员的访问将出现歧义。 4. 拷贝构造函数使用 引用 作为参数初始化创建中的对象。 5. 在公有继承的情况下,基类数据成员在派生类中的访问权限 保持不变 。 6. 描述命题A小于B或小于C的表达式为 AB||AC 。 7. 用new申请某一个类的动态对象数组时,在该类中必须能够匹配到 没有形参的或缺省参数 构造函数,否则应用程序会产生一个编译错误。 8.静态数据成员在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象 共享 。 9.为了避免可能出现的歧义,C++对if…else语句配对规则规定为:else总是与 与最近的if 配对。 10. 设int a=3,b=4,c=5;,表达式(a+b)cb==c的值是 0 。(以下每小题2分,共20分) 11. 面向对象的程序设计有四大特征,它们是抽象、封装、 继承 、 多态 。 12. 在Visual C++中,定义重载函数时,应至少使重载函数的参数个数或参数类型 不同 ;在基类和派生类中,成员函数的覆盖是指 派生类成员函数与在基类被覆盖的成员函数名、参数个数、参数类型和返回值类型均相同 。 13.构造函数与析构函数除功能不同外,在定义形式上,它们的区别还包括构造函数名与类名相同,而析构函数名是在类名前加一个~、 析构函数没有参数 、析构函数可以定义为虚函数 。 14. 动态联编要满足两个条件,它们是 被调用的成员函数是虚函数 、用指针或引用调用虚函数 。 15.在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为 抽象类 ,定义该类至少具有一个 纯虚函数 。 16. 在C++类中,const关键字可以修饰对象和成员函数,const对象不能 被修改 ,const成员函数不能 修改类数据成员 。 17. 举出C++中两种用户自定义的数据类型: 类 、 枚举 。 18. C++中没有字符串类型,字符串是通过 字符数组 来表示的,每一个字符串都有一个结尾字符 \0 。 19. C++中没有输入输出语句,输入输出是通过 输入输出库 实现的,写出一条打印整型变量n的输出语句:coutn; 20. 举出C++中两种代码复用的方式: 继承 、复用 。
(以下每小题4分,共20分) 21. 下面程序的运行结果是 3 。 #include stdio.h void main() { char a=a,b=j; float x; x=(b-a)/(F-A); printf(%d\n,(int)(3.14*x)); }
22. 下面程序的运行结果是2 5 8 11 14。 #include iostream.h void main( ) { int i=1;
while (i=15){ i++; if (i%3!=2) continue; else cout i=iendl; } }
23. 下面程序的运行结果是________。 #include iostream.h class test { private: int num; float fl; public: test( ); int getint( ){return num;} float getfloat( ){return fl;} ~test( ); };
test::test( ) { cout Initalizing default endl; num=0;fl=0.0; }
test::~test( ) { cout Desdtructor is active endl; }
void main( ) { test array[2]; cout array[1].getint( ) array[1].getfloat( ) endl; }
Initalizing default Initalizing default 0 0 Desdtructor is active Desdtructor is active
24. 下面程序的运行结果是________。 #include iostream.h c
文档评论(0)