《面向对象程序设计期末考试试卷及答案.pdf》由会员分享,可在线阅读,更多相关《面向对象程序设计期末考试试卷及答案.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、试卷代号:1008计算机专业面向对象程序设计试题一、单项选择题(每小题2分,共2 0分)说明:题后给出一组答案,分别标识为A D,请从中选择出一个正确的答案,将其标识填入括号中。1.下列的常量名中,()是非法的。A.P1B.2002YEARC.Li_SiD._KINE_2_52.在程序中,自动变量定义语句正确位置是()。A.随便任何位置B.在所有函数之前C.该变量使用前的任何位置D.局部范围内该变量使用前的任何位置3.在内存中所存储的含L 个字符的一个字符串常量是().A.一串相应的ASCII码值,占用L 个字节B.一串相应的ASCII码值,占用L+1 个字节C.一组相应的正整数,占用L 个字
2、节D.一组相应的整数,占用2L 个字节4.C+中整数可用十进制、八进制和十六进制三种方式来表示,但负整数(人A.不能用十六进制方式来表示,可用十进制和八进制方式来表示B.不能用八进制方式来表示,可用十进制和十六进制方式来表示C.既不能用八进制也不能用十六进制方式来表示D.不能表示5.C+中的实数可以写成不同表示形式,下列表示形式中()是正确的.A.1.234E5 B.1.234X106C.E5D.3E4.56.函数之间的调用是().A.高层的函数调用低层的函数B.低层的函数不能调用高层的函数C.具有层次关系,不能随意进行相互调用D.没有层次关系,函数之间完全可以随意进行相互调用7.被非静态成员
3、函数访问的类的数据成员()A.可以是非静态数据成员也可以是静态数据成员B.不可能是类的静态数据成员C.只能是类的非静态数据成员D.只能是类的静态数据成员8.当将一个类A或函数fO说明为另一个类B的友元后,类A或函数fO就可以直接访问类B的成员(A.只能是公有成员B.只能是保护成员C.是除私有成员之外的任何成员D.是任何成员9.从一个基类派生出的各个类的对象之间()oA.共享所有数据员,还包含了由同一个基类生成的对象B.共享部分数据成员,并包含了由同一个基类生成的对象C.不共享任何数据成员,但包含了由同一个基类生成的对象D.共享部分数据成员1 0.在定义一个派生类时,若不显式说明是哪种继承方式,
4、那么就默认为()方式。A.私有继承 B.非私有继承C.保护继承 D.公有继承二、填 空 题(每小题2分,共20分)说明:下列各题有1 一2处空项号,请在表格中对应的题号空项号右边依次填写应有的内容。题号一空项号应有的内容1 A,B2 C3 D E4 F ,G5-H6 17-J8K9L1 0 M1 .表 达 式 是 由 按 照 一 定 语 法 规 则 组 成 的 符 号 序 列,表达式加上 巨 构成表达式语句。2 .大多数表达式都具有值,它是将操作符施加于操作数的计算结果。若表达式是一个的函数调用,则它没有值。3 .c o n t n u e 语句的作用是结束D ,跳 转 到 E 处,继续执行下
5、一次循环。4.在函数定义中的参数称为上一,在调用函数的地方传递给被调函数的参数称为上_。5 .如果定义一个函数的返回类型为v o i d,就表示该函数 H 。6 .定义在 之外的变量或常量为全局量,它可以在其后的所有地方使用。7 .当函数的参数是指针时,它的实在参数的值必须是一个一8 .函数返回值类型带有c o n s t标记,表示不能将函数调用表达式作为 K 使用.9 .C+编译器处理内联函数比较特殊;在 遇 到 调 用 内 联 函 数 的 地 方 会 用 来 替 换函数的调用。10 .假定一个变量定义语句为 i n t x;”则定义一个指针变量p 并初始化为x的地址的语句 为 M。三、程序
6、填充题(每个空项2分,共16分)说明:下面程序的每行前面加有行号,不完整部分有空项号,按程序功能要求,在下列表格书对应的行空项号右边填充程序中的应有的内容。行一空项号应有的内容1A3 B10 C13 D15 E16 F23 G24H/_从键盘读入8 0名职工年龄,并记录到一个数组中。然后,计算职工年龄平均值并调用函数to p。计算最高年龄值,并输出结果。/_1.A2.i n t to p(i n t,i n t);3.B e n pl o ye e N um=8 0 ;4.5.v o i d m a i n。6.7.i n t e m pl o ye e A g e C e m pl o ye
7、 e N um;8.i n t i;9.i n t to p_A g e,s um _A g e=0;10.f o r(C )11.(12.c i n e m pl o ye e A g e i;13.s um _A g e D ;14.)15.cou t MTh e a v e r a g e A g e i s V V E V V e n d l;16.F ;17.cou t MTh e to p o f A g e:M t o p _ A g e e n d l;18.)19.20.i n t to p(i n t i A r r a yC i n t l e n)21.(22.i n
8、t i To p=i A r r a ytOj ;23.o r(G )24.H;25.r e tur n i To p;26.)四、编 程 题(共2 0分)说明:正弦函数c。皿的近似值计算式如下:卜(一D i(2n)!其 中 为 弧 度,取值范围:-8X,0 时,取 如 下 递 归 表 达 式:con _alph aC n)=c o n _ a lp h a(.n 1)+6 )其 中:6 )也 可 用 递 归 表 示,即:1)*2*其 中 递 归 终 止 条 件 为 占(0)等 于 1d o u b le c o n _ d(in t n double x)递 归 算 法 实 现 增 能 函
9、数 的 绝 对 值 在 下 面 写 上 程 序 的 实 现)dou b le c o n _ alp h a(in t n,double d A lp h a)递 归 算 法 计 算 余 弦 函 数 展 开 式 中 前 n+1 项之 和 在 下 面 写 上 程 序 的 实 现五、理 解 问 答 题(本 题 共24分)说 明:读 懂 各 个 小 题 程 序,为 了 便 于 提 问,程 序 的 每 行 前 面 加 有 行 号,请 对 所 提 的 问 题 作 出准 确 的 相 应 解 答。(1)本 小 题 1 0 分)读 懂 如 下 程 序:1.#include2.double SectorA re
10、aC )3.(4.co n st float P I 3.14;5.d o u b le *p d r=n e w d o u b l e(6).6.float*pfa=new flo atQ S;7.if(!p d r|!p fa)8.(9.cout,-p f a O16.c o u tV V“th e se c to r end is:;17.cin Z p aC 2 j?18.i(p fa C 2 =p fa L l)f A n g=pfaC 2 pfa ;19.else fA n g=p fa C l p faQ 2;20.c o u tV V th e area of secto r
11、 is”V V P I *dR ad*dR ad*f A n g/3 6 0 V V e n d l;21.d elete&d R a d;22.deleteCZJpfa;23.re tu rn 0;24.)2 5.v o i d ma i n()2 6.(2 7.i f (S e c t o r Ar e a C)2 8.c o u t V V T he p r o g r a m f a i l e d!”V V e n d l;2 9.e l s e3 0.c o u t V V T he p r o g r a m s u c c e s s e d!V V e n d l;3 1.请
12、 写 出 下 列 问 题 答 案:第5行 起 何 作 用?答:第7 1 1行 可 否 省 去?并 说 明 原 因。答:第2 1 2 3行 起 何 作 用?答:此 程 序 功 能 是 什 么?若 对t he s e c t o r s t a r t i s:和 t he s e c t o r e n d i s:”提 示 回 答 分 别 为,0和70.0,写 出 执 行 输 出 结 果。答:(2)(本 小 题1 4分)读 懂 如 下 程 序:/*s t a c k,h*/c l a s s S t a c k p u b l i c:S t a c k(i n t s i z e=2 0);
13、S t a c k O ;v o i d P u s hCi n t n e w El e m);i n t P o p();i n t De p t hO r e t u r n t o p;b o o l Emp t y()r e t u r n t o p=0;b o o l F u l l O r e t u r n t o p=s t a c k S i z e;?v o i d P r i n t ()c o n s t ;p r i v a t e :c o n s t i n t s t a c k S i z e;i n t *e l e m;i n t t o p;;*s
14、t a c k,c p p */#i n c l u d e#i n c l u d e*s t a c k,hS t a c k:S t a c k Ci n t s i z e):s t a c k S i z e(s i z e)(e l e m=n e w i n t Cs i z e ;t o p =0 ;)S t a c k:S t a c k O(d e l e t e d J e l e m;)v o i d S T a c k:P u s hCi n t n e w El e m)i f(F u l l O)c u u t CMn S t a c k i s o v e r
15、f i l l e d!M e n d l;r e t u r n;)e l e mQ t o p J =n e w El e m;t o p+-r ;)i n t S t a c k!I P o p()(i f (Emp t y。)(c o u t V V n S t a c k i s e mp t y!T o p=M;r e t u r n 0;)i n t r e t =e l e mCt o p-1 ;t o p-;r e t u r n r e t;)v o i d S t a c k *Z P r i n t C)c o n s t(i f(!t o p)c o u t CCMS
16、 t a c k i s e mp t y!w 5e l s e c o u t V V s t a c k :;o r(i n t i =0;i#indue*stack,hvoid m ainOStack s(10);int i;cout *P ushing 10 elem ents:H for(i=0;i 1 0;i+)(c o u tV V iV V ”;s.P ush(i)ico u tV V n S tack length=w s.Depth。W e n d i;cout V V n sta c k fu ll?V V s.F u llO V V en d l;s.P rin t()
17、;c o u t MnPoping elem ents:H;for(i=0;i 1 2;i+)c o u t s.P O p()M cout V V en d l:co u t n P u sh in g 6 elem ents:w 0 ;i-)s.P u sh(i);coutCMStack length=M s.Depth。V V e n d l;s.PrintO ;coutV V npushing 5 elem ents:M;fo r(i=0;i 5;i+)(c o u tV V iV V M;s.P u sh(i);c o u tW n sta c k fu ll?V V s Full。
18、W e n d i,s.P rin tO;请写出此程序执行所显示的输出结果。试 卷 代 号:1 0 0 8中央广播电视大学2 0 0 2-2 0 0 3学年度第二学期“开放本科”期末考试(开)计 算 机 专 业 面 向 对 象 程 序 设 计试 题 答 案 及 评 分 标 准(供参考)2 0 0 3年7月一、单项选择题(每小题2分,共2 0分)1.B 2.D 3.B4.C5.A6.D 7.A 8.D9.C1 0.A评分标准:共2 0分,每答对一小题得2分.二、填空题(每小J S 2分,共2 0分)评分标准:共2 0分,每 题2分,填错一空则不得分.三、程序填充题标准答案题号一空项号应有的内容1
19、 A,B操作符和操作数1分号2 C没有返回值3-D,E当前一次循环循环开始4 F,G形式参数实在参数5 H没有返回值 6 I任何函数(或所有函数)7-J地址(或内存地址)8 K左值9 L函数体中的代码1 0 Mi n t *p=&x;行一空项号应有的内容1 A#i n c l u d e 3 Bc o n s t i n t1 0 Ci=0;i V e mp l o y e e N u m ;i+1 3 D+=e mp l o y e e Ag e CG;1 5-Es u m_ Ag e/e mp l o y e e N u m1 6 Ft o p _ Ag e =t o p (e mp l
20、o y e e Ag e,e mp l o y e e N u m);2 3 Gi n t i=l;i V l e n ;i+2 4 Hi (i T o p =Delta);逐步逼近,直到一个累加项的值小于给定允许误差值为止return son_alpha;参考答案解法二while(con_d=Delta)if(n%2=0)con_alpha+=con_d;else con_alpha-=con_d in+;corud*=x*x/(2*n*(2*n-1)j)return con_alpha;评分标准:本小题共10分,具体评分要点如下正确的循环条件和循环增量占2分。循环体占6分。返回结果占2分。
21、2.参考答案1double con_d(int n double x)递归算法实现增量函数if(n=0)return 1 ;else return con_d(n-1)x)*x*x/(2*n*(2*n-1);/d o u b l e c o n _ a l p ha(i n t n *d o u b l e d Ai p ha)递归算法实现余弦函数c o n s t d o u b l e P I=3.1 4 1 5 92 6 jd o u b l e x,d;x=d Al p ha *P I/1 8 0,角度单位转化成以弧度为单位检查参数是否合理,若不合理,给出错提示信息,并立即退出,返回一
22、1。i f(n P I/2)(c o u t V V Er r o r!V V e n d l ;r e t u r n-1 ;递归算法计算i f(n=0)r e t u r n 1 ;e l s e(d=c o n _ d(n x);i f(n%2=0)r e t u m c o n alphaCn_ 1dAipha)+d;else return con_alpha(n 1 tdAlpha)-dj评分标准:本小题共10分其中com d算法占5分con-alpha算法占5分.请酌情给分.五、理解问答题(共2 4分)L 1 0分,标准答案及评分标准:答:申请分配一个与double类型数据相应的内
23、存空间,并赋予初始值为6。(2分)答:不能省,若系统已无内存空间可分配,仍继续执行程序可能发生破坏性后果。(2分)答:分别释放相应于前面申请两类数据获准所占用动态内存空间。(2分)答:根据输入的初始和终止角计算扇形区的面积。(2分)执行输出结果为:(2分)the sector start is:40.0the sector end is:70.0The area of sector is 9.42The program successed!2.14分,标准答案及评分标准如下:输出结果为:Pushing 10 elementsO 123456789Stack length=10stack full?1Stack:0 123456789Poping elements:9 876543210Stack is empty!T o p=0Stack is empty!T o p=0Pushing 6 elements:Stack length=6Stack:6 54321Pushing 5 elements:0 1 2 3 4Slack is overfilled!stack full?1Stack;6 543210123评分标准:共14分,输出共分6段,每段正确得2分,全对得1 4分。
限制150内