2002年10月全国高等教育自学考试面向对象程序设计试题电子教案.doc
《2002年10月全国高等教育自学考试面向对象程序设计试题电子教案.doc》由会员分享,可在线阅读,更多相关《2002年10月全国高等教育自学考试面向对象程序设计试题电子教案.doc(20页珍藏版)》请在咨信网上搜索。
学习-----好资料 一、单项选择题 ( 在每小题的四个备选答案中选出一个正确答案,并将其号码填在题干的括号内。每小题 2 分,共 20 分 ) 1. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是 ( ) A. 类 B. 对象 C. 函数体 D. 数据块 2. 面向对象的程序设计语言必须具备的关键要素是 ( ) A. 抽象和封装 B. 抽象和多态性 C. 抽象、封装、继承和多态性 D. 抽象、封装和继承性 3. 类的构造函数被自动调用执行的情况是在定义该类的 ( ) A. 成员函数时 B. 数据成员时 C. 对象时 D. 友元函数时 4. 设有函数模板 template<class Q> 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 中的“ ++ ”和“ * ”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可表示为 ( ) 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. 若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的 ( ) 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 中的函数 func() D. 既调用类 A 中函数,也调用类 B 中的函数 二、填空题 ( 每小题 2 分,共 20 分 ) 11. 假定用户没有给一个名为 AB 的类定义析构函数,则系统自动给出的缺省析构函数定义为 __________ 。 12. 模板定义中标识类型的参数必须用关键字 _________ 修饰。 13. 表达式 count<<hex 还可表示为 _________ 。 14. 通过 C++ 语言中的 _________ 机制,可以从现存类中构建其子类。 15. 要在调用虚函数的时候强制进行静态联编,可以通过在调用中对虚函数加 _________ 实现。 16. 封装要求一个对象应具备明确的功能,并具有 _________ 以便和其它对象相互作用。 17. 在删除一个动态对象时,将自动调用该动态对象所属类的 _________ 函数。 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 分,共 10 分 ) 21. 此类定义有一处错误,请指出错误并改正。 class ABC{ int a; public: ABC(int aa)a(aa){} }; 22. 下面程序通过调用函数模板实现计算两个正整数的最大公约数,把 main 函数中错误找出并改正过来。 #include<iostream.h> template<class T> T gcd(Tx,Ty){ while(x! =y) if(x>y)x-=y; else y-=x; return x; } void main() { int a; double d; cin>>a>>d; cout<<gcd(a,d)<<endl; } 23. 指出下面程序中的错误,并说明出错原因。 #include<iostream.h> class ConstFun{ public: void ConstFun(){} const int f5()const{return 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= ″ <<i<endl; } 24. 指出下面程序中的错误,并说明错误原因。 #include<iostream.h> class A{ public:void fun(){cout<< ″ a.fun ″ <<endl;} }; class B{ public:void fun(){cout<< ″ 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 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){ if(n==0)a=0; else a=new int [ n ] ; } ________// 定义析构函数,释放动态数组空间 }; 27. 在下面程序横线处填上适当内容,使程序执行结果为: 200_ _ 100 程序如下: #include <iostream.h> 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<iostream.h> void sum(int i) { static int s; ____________; cout<< ″ S= ″ <<s<<endl; } void main (void) { int i; for (i=0;________) sum(i); } 29. 请在下面横线处填上适当的内容,使程序的输出为: 7.00000 7 程序如下: #include<iomanip.h> viod main(){ double x=7; cout<<______________<<x; cout<<endl<<______________<<x; } 30. 在下面程序横线处填上适当的内容,使该程序输出结果为: Creating B end of B end of A 程序如下: #include<iostream.h> class A { public: A(){} ______________{cout<< ″ end of A ″ <<endl;} }; calss 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<iostream.h> void mian() { int a,b,c; char ch; cin>>a>>ch>>b>>c;// 从键盘上输入 1.5 10 cout<<a<<endl<<ch<<endl<<b<<endl<<c; } 输出为: 32. 写出下面程序输出结果。 #include<iostream.h> template<class T> void f(T a [ 3 ][ 3 ] ,Tb [ 3 ][ 3 ] ,Tc [ 3 ][ 3 ] ) { for(int i=0;i<3;i++) for(int j=0;j<3;j++){ c [ i ][ j ] =(T)0 for(int k=0;k<3;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;i<3;i++){ for(int j=0,j<3;j++) cout<<b [ i ][ j ] << ″ ″ ; cout<<endl; } } 输出为: 33. 写出下面程序的输出结果。 #include<iomanip.h> class FUN{ friend ostream& operator <<(ostream&,FUN); }fun; ostream& operator<<(ostream& os,FUN f){ os.setf(ios::left); return os; } void main() { cout<<setfill( ′ * ′ )<<setw(10)<<12345<<endl; cout<<fun<<setw(10)<<54321<<endl; } 输出为: 34. 写出下面程序的输出结果。 #include<iostream.h> class Test{ private: static int val; int a; public: static int func(); static void sfunc(Test &r); }; 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<iostream.h> class A { public: virtual void func(){cout<< ″ func in class A ″ << endl;} }; class B { 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<iostream.h> class Location{ public: int X,Y; void init(int initX,int initY); 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) { cout<<rL. GetX()<< ″″ <<rL.GetY()<< ′ \n ′ ; } void main() { Location A [ 5 ] ={{0,0},{1,1},{2,2},{3,3},{4,4}}; Location *rA=A; A [ 3 ] .init(5,3); rA->init(7,8); for (int i=0;i<5;i++) display(*(rA++)); } 输出为: 全国2002年10月高等教育自学考试面向对象程序设计参考答案 参考答案 一、单项选择题(本大题共lO小题,每小题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) 13.cout,sctf(ios::hex,ios::basefield) (或cout.setf(ios::hex),或cout<<settosflags(ios::hex),其中ios::"写成ios_base::也可) 14. 继承(或派生) 15,域名限制(或其它含义等价的描述) 16.接口〈或界面.或公有成员〉 17.析构 18. 友元函数 19. X,Y,length,height (说明:每答对两个给1分) 20 友元类(或友元函数,或友元) 三、改错题(本大题共5小题:每小题2分,共lO分)说明:各小题中,指出错误得l分,说明出错原因或改正正确得l分。 21.ABC(int aa)与a(aa){}之间少一个冒号,应改为ABC(tnt lla):a(aa){} 4、宏观营销环境分析22.main函数中的gcd(a,d)改为gcd(a,(int)d) (或把double d;改为int ; 或把gcd(a,d)改为gcd<int>(a,d)或把gcd(a,b)改为gcd(a,int (d))= “碧芝”最吸引人的是那些小巧的珠子、亮片等,都是平日里不常见的。据店长梁小姐介绍,店内的饰珠有威尼斯印第安的玻璃珠、秘鲁的陶珠、奥地利的施华洛世奇水晶、法国的仿金片、日本的梦幻珠等,五彩缤纷,流光异彩。按照饰珠的质地可分为玻璃、骨质、角质、陶制、水晶、仿金、木制等种类,其造型更是千姿百态:珠型、圆柱型、动物造型、多边形、图腾形象等,美不胜收。全部都是进口的,从几毛钱一个到几十元一个的珠子,做一个成品饰物大约需要几十元,当然,还要决定于你的心意 尽管售价不菲,却仍没挡住喜欢它的人。23.程序中第4行“void ConstFun(){}”错误,因为声明构造函数时不能指定返回类型。 培养动手能力□ 学一门手艺□ 打发时间□ 兴趣爱好□24.第15行 obj.fun();语句错误,因为用C类的对象obj对函数fun()的访问是两义的,应使用成员名限定来消除两义性。 25.location retangleA={25,20,3,5,6,7,3};语句错误,因为数据成员不都是公有成员,不能用初始化列 表初始化。 四、完成程序题(本大题共5小题,每小题4分,共20分) 26,int *a; (2分) ~A(){delete[]a;} (2分) 6、你购买DIY手工艺制品的目的有那些?27.<class I> (2分) sizeof(double)(或8或其他等价形式) 2、消费者分析28.s+=2+i(或其他等价形式) (2分) i<3;i++(或其他等形式) (2分) 29.setiosflage (ios::showpoint) (2分) resetiosflags(ios::showpoint) (2分) 说明:其中ios:: 可写成ios_basc:: 我们女生之所以会钟爱饰品,也许是因为它的新颖,可爱,实惠,时尚,简单等。的确,手工艺品价格适中。也许还有更多理由和意义。那么大学生最喜欢哪种手工艺品呢?此次调查统计如下图(1-3)30. virtual ~A() (2分) cout<<”creating B”<<end; (2分) 附件(二):调查问卷设计五、程序分析题(本大题共6小题i每小题5分,共30分) 3l.1(1分) .(2 分) 5(1分) 10(1分) 32. 2 4 6 8 lO 12 14 0 0 说明:每答对一行得2分,全部答对得5分。 §8-4情境因素与消费者行为 2004年3月20日33. * * * * * 12345 (2分) 54321 * * * * * (3分) 在上海, 随着轨道交通的发展,地铁商铺应运而生,并且在重要的商业圈已经形成一定的气候,投资经营地铁商铺逐渐成为一大热门。在人民广场地下“的美”购物中心,有一家DIY自制饰品店---“碧芝自制饰品店”。34.Result1=19 Result2=18 Result3=d0 说明:(1)写对第一行结果得2分,只写出“Result1=”,而未写出结果“l9”,得l分。 (2)写对第二行结果得3分,只写出“Rcstilt2=18”或“ Rcsidt3=25”,得2分。 (3)第一衍与第二行全写正确,但写在同一行上扣1分。 35.func in class C func in class C fund in class C 说明:每答对一行得2分,全部答对得5分。 36.7 8 1 1 2 2 5 3 4 4 说明:每答对一行得1分。 更多精品文档- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2002 10 全国 高等教育 自学考试 面向 对象 程序设计 试题 电子 教案
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文