收藏 分销(赏)

2002年10月全国高等教育自学考试面向对象程序设计试题电子教案.doc

上传人:天**** 文档编号:4802014 上传时间:2024-10-13 格式:DOC 页数:20 大小:42.54KB
下载 相关 举报
2002年10月全国高等教育自学考试面向对象程序设计试题电子教案.doc_第1页
第1页 / 共20页
2002年10月全国高等教育自学考试面向对象程序设计试题电子教案.doc_第2页
第2页 / 共20页
2002年10月全国高等教育自学考试面向对象程序设计试题电子教案.doc_第3页
第3页 / 共20页
2002年10月全国高等教育自学考试面向对象程序设计试题电子教案.doc_第4页
第4页 / 共20页
2002年10月全国高等教育自学考试面向对象程序设计试题电子教案.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、学习-好资料一、单项选择题 ( 在每小题的四个备选答案中选出一个正确答案,并将其号码填在题干的括号内。每小题 2 分,共 20 分 ) 1. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是 ( ) A. 类 B. 对象 C. 函数体 D. 数据块 2. 面向对象的程序设计语言必须具备的关键要素是 ( ) A. 抽象和封装 B. 抽象和多态性 C. 抽象、封装、继承和多态性 D. 抽象、封装和继承性 3. 类的构造函数被自动调用执行的情况是在定义该类的 ( ) A. 成员函数时 B. 数据成员时 C. 对象时 D. 友元函数时 4. 设有函数模板 templ

2、ate Q Sum(Qx,Qy) return(x)+(y); 则下列语句中对该函数模板 错误 的使用是 ( ) A.Sum(10,2); B.Sum(5.0,6.7) ; C.Sum(15.2f,16.0f); D.Sum( AB , CD ); 5. 已知类 A 是类 B 的友元,类 B 是类 C 的友元,则 ( ) A. 类 A 一定是类 C 的友元 B. 类 C 一定是类 A 的友元 C. 类 C 的成员函数可以访问类 B 的对象的任何成员 D. 类 A 的成员函数可以访问类 B 的对象的任何成员 6. 如果表达式 +i*k 中的“ + ”和“ * ”都是重载的友元运算符,则采用运算符

3、函数调用格式,该表达式还可表示为 ( ) A.operator*(i.operator+(),k) B.operator*(operator+(i),k) C.i.operator+().operator*(k) D.k.operator*(operator+(i) 7. 下列说法中正确的是 ( ) A. 类定义中只能说明函数成员的函数头,不能定义函数体 B. 类中的函数成员可以在类体中定义,也可以在类体之外定义 C. 类中的函数成员在类体之外定义时必须要与类声明在同一文件中 D. 在类体之外定义的函数成员不能操作该类的私有数据成员 8. 若派生类的成员函数不能直接访问基类中继承来的某个成员,

4、则该成员一定是基类中的 ( ) A. 私有成员 B. 公有成员 C. 保护成员 D. 保护成员或私有成员 9. 对基类和派生类的关系描述中, 错误 的是 ( ) A. 派生类是基类的具体化 B. 基类继承了派生类的属性 C. 派生类是基类定义的延续 D. 派生类是基类的特殊化 10. 类 B 是类 A 的公有派生类,类 A 和类 B 中都定义了虚函数 func(),p 是一个指向类 A 对象的指针,则 p-A:func() 将 ( ) A. 调用类 A 中的函数 func() B. 调用类 B 中的函数 func() C. 根据 p 所指的对象类型而确定调用类 A 中或类 B 中的函数 fun

5、c() D. 既调用类 A 中函数,也调用类 B 中的函数 二、填空题 ( 每小题 2 分,共 20 分 ) 11. 假定用户没有给一个名为 AB 的类定义析构函数,则系统自动给出的缺省析构函数定义为 _ 。 12. 模板定义中标识类型的参数必须用关键字 _ 修饰。 13. 表达式 counthex 还可表示为 _ 。 14. 通过 C+ 语言中的 _ 机制,可以从现存类中构建其子类。 15. 要在调用虚函数的时候强制进行静态联编,可以通过在调用中对虚函数加 _ 实现。 16. 封装要求一个对象应具备明确的功能,并具有 _ 以便和其它对象相互作用。 17. 在删除一个动态对象时,将自动调用该动

6、态对象所属类的 _ 函数。 18. 静态成员函数、友元函数、构造函数和析构函数中,不属于成员函数的是 _ 。 19. 在下面的类定义中,私有成员有 _ 。 class Location int X,Y; protected: int zeroX,zerxY; int SetZero(intzeroX, intzeroY); private: int length,height; public: void init(int initX,int initY); int GetX(); int GetY(); ; 20. 类的私有成员只能被它的成员函数和 _ 访问。 三、改错题 ( 每小题 2 分,

7、共 10 分 ) 21. 此类定义有一处错误,请指出错误并改正。 class ABC int a; public: ABC(int aa)a(aa) ; 22. 下面程序通过调用函数模板实现计算两个正整数的最大公约数,把 main 函数中错误找出并改正过来。 #include template T gcd(Tx,Ty) while(x! =y) if(xy)x-=y; else y-=x; return x; void main() int a; double d; cinad; coutgcd(a,d)endl; 23. 指出下面程序中的错误,并说明出错原因。 #include class

8、ConstFun public: void ConstFun() const int f5()constreturn 5; int Obj() return 45; int val; int f8(); ; int ConstFun:f8()return val; void main() const ConstFun s; int i=s.f5(); cout Value= iendl; 24. 指出下面程序中的错误,并说明错误原因。 #include class A public:void fun()cout a.fun endl; ; class B public:void fun()co

9、ut b.fun endl; void gun()cout b.gun endl; ; class C:public A,public B private:int b; public:void gun()cout c.gun endl; ; void main() c obj; obj.fun(); obj.gun(); 25. 指出下面程序段中的错误,并说明出错原因。 class Location int X,Y; protected: int zeroX,zeroY; int SetZero(int zeroX,int zeroY)X=zeroX;Y=zeroY; private: int

10、 length,height; public: float radius; void init(int initX,int initY)length=initX;height=initY; int GetX()return X; int GetY()return Y; ; int main() Location retangleA=25,20,3,5,6,7,3; return 0; 四、完成程序题 ( 每小题 4 分,共 20 分 ) 根据题目要求填空,完成程序。 26. 在下面程序段横线处填上适当的内容。 class A _ int n; public: A(int nn=0):n(nn)

11、 if(n=0)a=0; else a=new int n ; _/ 定义析构函数,释放动态数组空间 ; 27. 在下面程序横线处填上适当内容,使程序执行结果为: 200_ _ 100 程序如下: #include template _ Tf(Tx,Ty) if(sizeof(T)=_) return x+y; else return x*y; void main() cout f(10,20) - f(45.5,54.5)endl; 28. 下面程序三次调用同一函数 sum ,在横线处填上适当内容,使输出结果为: S=2 S=5 S=9 程序如下: #include void sum(int

12、 i) static int s; _; cout S= sendl; void main (void) int i; for (i=0;_) sum(i); 29. 请在下面横线处填上适当的内容,使程序的输出为: 7.00000 7 程序如下: #include viod main() double x=7; cout_x; coutendl_x; 30. 在下面程序横线处填上适当的内容,使该程序输出结果为: Creating B end of B end of A 程序如下: #include class A public: A() _cout end of A endl; ; calss

13、 B:public A public: B()_ B()cout end of B endl; ; void main() A*pa=new B; delete pa 五、程序分析题 ( 每小题 5 分,共 30 分 ) 给出下面各程序的输出结果。 31. 当从键盘上输入 1.5 10 时,写出下面程序的执行结果。 #include void mian() int a,b,c; char ch; cinachbc;/ 从键盘上输入 1.5 10 coutaendlchendlbendlc; 输出为: 32. 写出下面程序输出结果。 #include template void f(T a 3

14、3 ,Tb 3 3 ,Tc 3 3 ) for(int i=0;i3;i+) for(int j=0;j3;j+) c i j =(T)0 for(int k=0;k3;k+) c i j +=a i k *b j k ; void main() int a 3 3 =1,2,3,4,5,6,7,b 3 3 , c 3 3 =2,0,2,0,0,2; f(a,c,b); for(int i=0;i3;i+) for(int j=0,j3;j+) coutb i j ; coutendl; 输出为: 33. 写出下面程序的输出结果。 #include class FUN friend ostre

15、am& operator (ostream&,FUN); fun; ostream& operator(ostream& os,FUN f) os.setf(ios:left); return os; void main() coutsetfill( * )setw(10)12345endl; coutfunsetw(10)54321endl; 输出为: 34. 写出下面程序的输出结果。 #include class Test private: static int val; int a; public: static int func(); static void sfunc(Test &r

16、); ; int Test:val=20; int Test:func() val-; return val; void Test:sfunc(Test &r) r.a=25; cout Result3 =r.a; void main() cout Resultl= Test:func()endl; Test a; cout Result2= a.func(); Test:sfunc(a); 输出为: 35. 写出下面程序输出结果。 # include class A public: virtual void func()cout func in class A endl; ; class B

17、 public: virtual void func()cout func in class B endl; ; class C:public A, public B public: void func()cout func in class C endl; ; void main() C c; A& pa=c; B& pb=c; C& pc=c; pa.func(); pb.func(); pv.func(); 输出为: 36. 写出下面程序的输出结果。 # include class Location public: int X,Y; void init(int initX,int ini

18、tY); int GetX(); int GetY(); ; void Location:init (int initX,int initY) X=initX; Y=initY; int Location:GetX() return X; int Location:GetY() return Y; void display(Location& rL) coutrL. GetX() rL.GetY()init(7,8); for (int i=0;i5;i+) display(*(rA+); 输出为: 全国2002年10月高等教育自学考试面向对象程序设计参考答案参考答案一、单项选择题(本大题共l

19、O小题,每小题2分:共20分)1.B 2.C 3.C 4.D 5.D 6.B 7.B 8.A 9.B 10.A二、填空题(本大题共10小题,每小题2分,共20分)11. AB()12. class(或typcname)13cout,sctf(ios:hex,ios:basefield)(或coutsetf(ios:hex),或cout(a,d)或把gcd(a,b)改为gcd(a,int (d))“碧芝”最吸引人的是那些小巧的珠子、亮片等,都是平日里不常见的。据店长梁小姐介绍,店内的饰珠有威尼斯印第安的玻璃珠、秘鲁的陶珠、奥地利的施华洛世奇水晶、法国的仿金片、日本的梦幻珠等,五彩缤纷,流光异彩。

20、按照饰珠的质地可分为玻璃、骨质、角质、陶制、水晶、仿金、木制等种类,其造型更是千姿百态:珠型、圆柱型、动物造型、多边形、图腾形象等,美不胜收。全部都是进口的,从几毛钱一个到几十元一个的珠子,做一个成品饰物大约需要几十元,当然,还要决定于你的心意 尽管售价不菲,却仍没挡住喜欢它的人。23程序中第4行“void ConstFun()”错误,因为声明构造函数时不能指定返回类型。培养动手能力 学一门手艺 打发时间 兴趣爱好24.第15行 obj.fun();语句错误,因为用C类的对象obj对函数fun()的访问是两义的,应使用成员名限定来消除两义性。25location retangleA25,20,

21、3,5,6,7,3;语句错误,因为数据成员不都是公有成员,不能用初始化列表初始化。四、完成程序题(本大题共5小题,每小题4分,共20分)26,int *a; (2分)A()deletea; (2分)6、你购买DIY手工艺制品的目的有那些?27class I (2分)sizeof(double)(或8或其他等价形式)2、消费者分析28s2i(或其他等价形式) (2分)i3;i+(或其他等形式) (2分)29setiosflage (ios:showpoint) (2分)resetiosflags(ios:showpoint) (2分)说明:其中ios: 可写成ios_basc:我们女生之所以会钟

22、爱饰品,也许是因为它的新颖,可爱,实惠,时尚,简单等。的确,手工艺品价格适中。也许还有更多理由和意义。那么大学生最喜欢哪种手工艺品呢?此次调查统计如下图(1-3)30. virtual A() (2分)cout”creating B”end; (2分)附件(二):调查问卷设计五、程序分析题(本大题共6小题i每小题5分,共30分)3l1(1分).(2 分)5(1分)10(1分)32. 2 4 68 lO 1214 0 0说明:每答对一行得2分,全部答对得5分。8-4情境因素与消费者行为 2004年3月20日33 * * * * * 12345 (2分) 54321 * * * * * (3分)在

23、上海, 随着轨道交通的发展,地铁商铺应运而生,并且在重要的商业圈已经形成一定的气候,投资经营地铁商铺逐渐成为一大热门。在人民广场地下“的美”购物中心,有一家DIY自制饰品店-“碧芝自制饰品店”。34Result119Result218 Result3d0说明:(1)写对第一行结果得2分,只写出“Result1”,而未写出结果“l9”,得l分。(2)写对第二行结果得3分,只写出“Rcstilt218”或“ Rcsidt325”,得2分。(3)第一衍与第二行全写正确,但写在同一行上扣1分。35func in class Cfunc in class Cfund in class C说明:每答对一行得2分,全部答对得5分。367 81 12 25 34 4说明:每答对一行得1分。更多精品文档

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 考试专区 > 自考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服