《《面向对象程序设计》网上教学活动文本(2003.6.17).doc》由会员分享,可在线阅读,更多相关《《面向对象程序设计》网上教学活动文本(2003.6.17).doc(12页珍藏版)》请在金锄头文库上搜索。
1、面向对象程序设计网上教学活动文本(2003.6.17)徐孝凯:有问题请讨论。问:读40句以上的大程序占考试多少分?徐孝凯:一般不超过15分。问:面向对象程序设计考试以哪几章为主?徐孝凯:每章都重要。请按该课程期末复习指导、作业册、考核说明等要求复习。 问:(*p)+ 应怎样理解?徐孝凯:先取p指针所指向的对象,然后使该对象的值增1。如x=20, p=&x, 则(*p)+使x值增1,x=21,但p的值不变,仍指向x。问:讲义中说:1、假定下面每个表达式中整型变量x的值均为10,则: ?(1) +x /表达式的值为增1后的x,值为11 (2) x+ /x变为11,但表达式的值为10 ?(3) -x
2、 /表达式的值为减1后的x,值为9请问:由(1)(3)+x和-x 的表达式的值为增1或减1后的值即为11和9 而 y=-x 中y的值为何仍为10呢?徐孝凯:假定各题是独立的,x的当前值均为10,y=-x中若x为10,则y的值应为9,绝不是10。问:原来是这样的。谢谢你。我总以为我的思想有问题,现在看来是书上印刷问题了! 问:可否有去年的考试题给我们参考一下大概题型呢?试卷代号A 座位号 2003年1月已考中央广播电视大学2002-2003学年度第一学期期末考试面向对象程序设计试题题号一二三四五总 分得分得 分评卷人一、 单项选择题(每小题2分,共20分)说明:题后给出一组答案,分别标识为AD,
3、请从中选择出一个正确的答案,将其标识填入括号中。(1) 下列的常量名中,( )是非法的。(A) YEAR2002 (B) welcome_home (C) zhangmail (D)_SIZE_2MB(2) 在程序中,函数声明语句正确位置是( )(A) 随便任何位置(B) 不包含在另一函数中的任何位置。(C) 该函数使用前的任何位置(D) 该函数使用前的任何位置,但不包含在另一函数中(3) 在内存中所存储的含L个字符的一个字符串常量是( )。(A) 一串相应的ASCII码值,占用L个字节(B) 一串相应的ASCII码值,占用L+1个字节(C) 一组相应的正整数,占用L个字节(D) 一组相应的整
4、数,占用2L个字节(4) C+中正整数可以用十进制、八进制和十六进制三种方式来表示,负整数( ) 。(A) 同样可以用十进制、八进制和十六进制三种方式来表示(B) 只能用十进制方式来表示(C) 可用十进制和八进制方式来表示,而不能用十六进制方式来表示(D) 可用十进制和十六进制方式来表示,而不能用八进制方式来表示(5) C+中的实数可以写成不同表示形式,下列表示形式中( )是正确的。(A) 5.4321 (B) 5.43E2.1 (C) e5.4321 (D)5.431021(6) 返回类型就是函数返回结果值的数据类型。返回类型可以是( )(A) 除数组和类以外的任意数据类型(B) 除数组和结
5、构类型以外的任意数据类型(C) 除数组类型以外的任意数据类型(D) 除指针和引用类型以外的任意数据类型(7) 引入内联函数的主要目的是( )(A) 缩短程序代码,少占用内存空间(B) 既可以保证程序的可读性,又能提高程序的运行效率(C) 占用内存空间少,执行速度快(D) 使程序的结构比较清晰(8) 重载函数是( )(A) 以函数参数来区分,而不用函数的返回值来区分不同的函数(B) 以函数的返回值来区分,而不用函数参数来区分不同的函数(C) 参数表完全相同而返回值类型不同的两个或多个同名函数(D) 参数表和返回值类型都必须是不同的两个或多个同名函数(9) 一个类的静态数据成员所表示的属性确切地说
6、( )。(A) 是类的或对象的属性 (B) 只是对象的属性(C) 只是类的属性 (D) 类和友元的属性(10) 当保护继承时,基类的( )在派生类中成为保护成员,不能通过派生类的对象来直接访问该成员。(A) 任何成员 (B)公有成员和保护成员(C) 保护成员和私有成员 (D)私有成员得 分评卷人二、填空题(每小题2分,共20分)说明:下列各题的有1-2处空项号,请在表格中对应的题号空项号右边依次填写应有的内容。题号-空项号应有的内容1-A,B2-C,D3-E4-F5-G,H6-I7-J,K8-L,M9-N,O10-P(1) 变量名是变量的标识,由 A 组成,而且必须以 B 开头。(2) 表达式
7、中多操作符的操作顺序规则是:优先级 C 的先操作,若优先级相同,则应按 D 决定先操作哪个。(3) C+中的实数表示形式,一种是定点数形式,另一种是指数形式,如1.231023,用指数形式可以表示为 E 。(4) return语句指示系统结束当前函数的执行,并 F 。(5) C+使用_ G 传送参数的机制来传递数组,并把所有的数组参数自动转为 H 。(6) 出现在函数参数中的const表示 I 。(7) 有了函数原型,函数的作用域就不是从 J 开始,而是从 K 开始。(8) 函数名重载是指同一作用域内的多个函数使用相同的函数名,这些同名函数通过它们的 L_ 进行区分。(9) 指针变量的值是一个
8、内存的 M 。(10) 在真正使用一个void指针时,需要将它 N 为某种数据类型的指针。.得 分评卷人三、程序填充题(每个填空项2分,共16分)说明:下面程序的每行前面加有行号,不完整部分有空项号,按程序功能要求,在下列表格中对应的行-空项号右边填充程序中的应有的内容。行空项号应有的内容2-A10-B12-C13_D15_E16-F23-G24-H/从键盘读入50个职工工资,并记录到一个数组中。/然后,计算职工工资平均值并调用函数bottom()计算工资最低值,并输出结果。/1. #include 2. A ;3. const int employeeNum = 50;4.5. void m
9、ain()6. 7. float employeeWages employeeNum=0;8. int i;9. float bottom _Wages, sum_Wages= 0.0;10. for( B )11. 12. C ; /从键盘向数组元素输入数据13. sum_Wages D ;14. 15. cout The average wages is E endl;16. bottom_Wages= F ;17. cout The bottomof wages: bottom_Wages 0时,取如下递归表达式:其中:(n)也可用递归表示,即: 其中递归终止条件为(0)等于xdoubl
10、e sin_d(int n,double x) /递归算法实现增量函数(n)的绝对值。/在下面写上程序的实现double sin_alpha(int n,double dAlpha) /递归算法计算正弦函数展开式中前n+1项之和/在下面写上程序的实现得 分评卷人五、理解问答题(共24分)说明:读懂各个小题程序,为了便于提问,程序的每行前面加有行号,请对所提的问题作出准确的相应解答。(1) (本小题10分)读懂如下程序:1. #include 2. #include 3. double TriangleArea( )4. 5. int i;6. double dTArea; 7. double* pds = new double5;8. if (!pds)9. 10. cout Error memory allocation!endl;11. return -1;