试卷代号:1008 中央广播电视大学2000-2001学年度第二学期“开放教育(本科)”期末考试(开) 计科技专业面向对象程序设计试题 2001年7月 对错题。判断以下说法的正确性,在下面表格中对应的编号下面写上“对”或“错” (20分,每个题目2分) 1.说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值 类型就可以了。 2.所有的表达式都有值。 3.程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所 带来的编译工作量 4.类的静态数据成员需要在定义每个类的对象时进行初始化。 5.基类中被说明为 protected和 private的成员只能被其派生类的成员函数访问,不能被其 它的函数访问 6.当将一个类S定义为另一个类A的友元类时,类S的所有成员函数都可以直接访问类 A的所有成员。 7.当函数的返回值是数组类型的,传递的是数组第一个元素的地址。 8.如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这 个函数自动继承基类中虚函数的特性。 9.字符串helo, world”在内存中存放时,占用11个字节的空间。 用new动态申请的内存空间,必须用 delete来释放 、简单编程题。根据程序要求,写出函数的完整定义。(共25分) 1.(本小题15分)写一个函数,找出给定字符串中数字字符(即0—9这10个数字)的 个数(如字符串” olympic2000中数字字符的个数为4个。函数的原型为 int CalcDigital(char*str 函数参数:str为所要处理的字符串 函数返回值:所给字符串中数字字符的个数 int Calc Digital(char *str) ∥在下面写出程序的实现 2.(本小题10分)用递归函数完成以下运算: sum(n)=12+22+…+n2 函数的原型如下: long sum(int n) 该函数完成12+22+…+m2的运算,并返回运算结果,其中n>0。 提示:你可以使用递归表达式:sum(n)=sum(n-1)+n ong sum(int n) (本小题30分) 下面的文件 queue. h是一个队列类模板 Queue的完整实现。在这个文件中首先定义了一个 队列元素类模板 Queueltem,然后在这个类的基础上定义了队列类模板 Queue。在 Queue中 使用链表存放队列的各个元素, front指针指向链表的第一个节点元素,back指针指向链表 的最后一个节点元素,成员函数adO将一个新节点元素加入到队列结尾, remove(从队列开试卷代号:1008 中央广播电视大学 2000—2001 学年度第二学期“开放教育(本科)”期末考试(开) 计科技专业面向对象程序设计试题 2001 年 7 月 一、 对错题。判断以下说法的正确性,在下面表格中对应的编号下面写上“对”或“错”。 (20 分,每个题目 2 分) 题号 1 2 3 4 5 6 7 8 9 10 对/错 1. 说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值 类型就可以了。 2. 所有的表达式都有值。 3. 程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所 带来的编译工作量。 4. 类的静态数据成员需要在定义每个类的对象时进行初始化。 5. 基类中被说明为 protected 和 private 的成员只能被其派生类的成员函数访问,不能被其 它的函数访问。 6. 当将一个类 S 定义为另一个类 A 的友元类时,类 S 的所有成员函数都可以直接访问类 A 的所有成员。 7. 当函数的返回值是数组类型的,传递的是数组第一个元素的地址。 8. 如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这 个函数自动继承基类中虚函数的特性。 9. 字符串’hello,world”在内存中存放时,占用 11 个字节的空间。 10. 用 new 动态申请的内存空间,必须用 delete 来释放 。 二、简单编程题。根据程序要求,写出函数的完整定义。(共 25 分) 1.(本小题 15 分)写一个函数,找出给定字符串中数字字符(即’0’—‘9’这 10 个数字)的 个数(如字符串”olympic2000”中数字字符的个数为 4 个。函数的原型为: int CalcDigital(char *str); 函数参数:str 为所要处理的字符串。 函数返回值:所给字符串中数字字符的个数。 int CalcDigital(char *str) { //在下面写出程序的实现 } 2.(本小题 10 分)用递归函数完成以下运算: sum(n)=12+22+…+n2 函数的原型如下: long sum(int n); 该函数完成 1 2+22+…+n2 的运算,并返回运算结果,其中 n>0。 提示:你可以使用递归表达式:sum(n)=sum(n-1)+n2 long sum(int n) { } 三、 (本小题 30 分) 下面的文件 queue.h 是一个队列类模板 Queue 的完整实现。在这个文件中首先定义了一个 队列元素类模板 QueueItem,然后在这个类的基础上定义了队列类模板 Queue。在 Queue 中 使用链表存放队列的各个元素,front 指针指向链表的第一个节点元素,back 指针指向链表 的最后一个节点元素,成员函数 add()将一个新节点元素加入到队列结尾,remove()从队列开