面向对象程序设计(C).doc
《面向对象程序设计(C).doc》由会员分享,可在线阅读,更多相关《面向对象程序设计(C).doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.学习中心/函授站_ 潍坊学习中心 姓 名 杜君 学 号 7024140092004 西安电子科技大学网络与继续教育学院2015学年上学期面向对象程序设计(C+)期末考试试题(综合大作业)题号一二三四五总分题分1020202030得分考试说明:1、大作业于2015年4月3日公布,2015年5月9日前在线提交;2、考试必须独立完成,如发现抄袭、雷同、拷贝均按零分计。一、简答题(10分)1.1(3分)C+提供了哪些循环语句?它们各自的特点是什么?解答:C+提供了三种循环语句for、while和do-while。 while循环语句先判断是否满足循环条件,如果满足循环条件,则执行一次循环体,再判断是
2、否执行下一次循环,否则退出循环。 do-while循环语句先执行一次循环体后再判断是继续执行循环体还是退出循环。 for循环先设置循环变量的初值,再判断是执行循环体还是退出循环体。如果执行了循环体,再改变循环变量值后,判断是执行下一次循环体还是退出循环,依此类推。1.2(3分)在C+中什么可以充当友元?友元是否可以继承,为什么?解答:在C+中函数和类都可以充当友元,分别称为友元函数和友元类。 友元不可以继承,因为友元不是类的成员。1.3(4分)若派生类以private方式从一个基类派生,派生类的对象可以访问基类中的那些成员?派生类的成员函数可以访问基类中的那些成员?解答:若派生类以privat
3、e方式从一个基类派生,派生类的对象不能访问基类中的任何成员; 派生类的成员函数可以访问基类中的public和protected成员。二、填空题(每空1分,共20分)2.1 break语句在循环结构中的功能是退出其所在的循环,continue语句的功能是结束本次循环。2.2有一段程序为:while (表达式) 语句1 语句2 当表达式的值为非0时,执行 执行循环体一次 ;当表达式为0时,执行 退出while循环 。2.3 使用关键字 inline 说明的函数称为内联函数。编译时,源程序中所有对该函数的调用被替换为此函数的 定义 2.4数组名代表的是该数组的 首地址 ;数组元素作为函数的实参时,是
4、以 指针方式传递参数的。2.5在C+中,类A的每一个非静态成员函数都有一个隐藏的指针类型的形参this,它指向当前正在操作的对象,其类型为A* const。2.6 C+语言引入了异常处理机制,用throw语句“抛出”异常,然后用相应的语句catch 捕获被“抛出”的异常,并做出相应的处理。2.7在C+语言中,用 new 表达式来创建动态的类对象;用 delete 表达式释放动态类对象。2.8 C+支持两种类型的多态,编译时多态和运行时多态。 运行时 多态是通过虚函数来实现的, 编译时多态 多态是通过函数重载来实现的。2.9 纯虚函数就是没有函数体的虚函数,包含纯虚函数的类称为抽象类。2.10在
5、某些应用中,需要程序中属于某个类的所有对象共享某个数据。在C+语言中,为了不破坏数据的封装性,需将所要共享的数据说明为类的 私有成员 ,即用关键字_ private _说明的类成员。三、选择题(每题2分,共20分)3.1在下列给字符数组赋值语句中, A 是错误的。已知,char s5。As0 = m;Bs5 = n;Cs1 = a;Ds2 = b;3.2下列对结构变量赋值的描述中, C 是错误的。A结构变量可以使用初始值表对它初始化B可以给一个结构变量的各个成员赋值C可将任意已知的结构变量名赋给一个结构变量D可将一个已知结构变量名赋给相同结构类型的另一个结构变量3.3下列if语句中,条件为真的
6、语句是 B 。Aif(0)Bif(3)Cbool bFlag = ture; if(!bFlag)Dif(a)3.4若i的初值为1, B 能输出1到10的整数。Aif(i+ 10) cout i;Bdo cout i; while(+i = 10);C. while(i+ 10) cout i; Dswitch(+i = 10) cout i;3.5在下面的程序中,若实参a与形参x以引用传递的方式传递信息,实参b与形参y以值传递的方式传递信息,那么从函数compute返回主程序后,a和b的值分别为 A 。 Main Program void compute(x, y)a := 1;b := 2
7、;compute(a, b); x := x + 2 * y;y := 2 * x + y;return ;A5和2B5和12C1和2D1和123.6下列关于运算符重载的描述中, B 是正确的。A运算符重载可改变其优先级B运算符重载不改变其语法结构C运算符重载可改变其结合性D运算符重载可改变其操作数的个数3.7 为了使类中的成员能够被类的对象通过成员运算符访问,则应该把成员的访问权限定义为 A 。ApublicBprotectedCprivateDpackaged3.8 假设A是一个类,那么执行语句“A a, b(3), *p;”,调用了 C 次构造函数。A2B3C4D53.9 假设类AB用成
8、员函数的方式重载加法运算符,以实现两个AB类对象的加法,并返回相加的结果,则该成员函数的声明为 B 。AAB operator + (AB &a, AB &B);BAB operator + (AB&);Coperator + (AB a); DAB & operator + ();3.10 下列对C+中静态数据成员的描述中,正确的是 A 。A静态数据成员是类的所有对象共享的数据B类的每个对象都有自己的静态数据成员C类的不同对象有不同的静态数据成员值D静态数据成员不能通过类的对象来调用四、读程题(每题5分,共20分)4.1给出下列源程序的输出结果。#include int add(int *x
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计
限制150内