面向对象程序设计考试(A)20100615

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1注意:填写内容不要超出以上格式,第二页的边距和第一页一样出题人(签名):__________室负责人(签名):_________东华大学2009~2010学年第2学期期末试题踏实学习,弘扬正气;诚信做人,诚实考试;作弊可耻,后果自负。课程名称面向对象程序设计(C++)与实践使用专业计算机科学与技术类班级_____________________姓名________________学号__________试题得分一二三四五六七八九十总分一、单项选择题(每空2分,本题共20分)1.在下面的函数声明中,存在着语法错误的是()。A、voidfunc(inta,int)B、voidfunc(int,int)C、voidfunc(int,int=5)D、voidfunc(intx;inty)2.下列关于对象的描述,错误的是()。A、对象是类的实例B、对象是类的别名C、对象之间通过消息进行通信D、一个类可以定义多个对象3.复制构造函数的参数通常为()。A、某个对象的成员名B、某个对象的引用名C、某个对象的指针名D、某个对象名4.C++中运算符重载可以实现改变()。A、运算符的优先级B、运算符的结合性C、运算符的功能D、运算符的操作数个数5.多态性指的是()。A、借助于指向对象的基类指针或引用调用一个虚函数B、借助于指向对象的基类指针或引用调用一个纯虚函数C、以任何方式调用一个虚函数D、以任何方式调用一个纯虚函数6.下列说法正确的是()。A、内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B、类的内联函数必须在类体内定义C、类的内联函数必须在类体外通过加关键字inline定义D、内联函数在编译时是将该函数的月标代码插入每个调用该函数的地方2注意:填写内容不要超出以上格式,第二页的边距和第一页一样出题人(签名):__________室负责人(签名):_________7.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。A、ios::outB、ios::inC、ios::in|ios::outD、ios::binary8.下面对静态数据成员的描述中,正确的是()。A、静态数据成员可以在类体内进行初始化B、静态数据成员不能受private控制符的作用C、静态数据成员不可以被类的对象调用D、静态数据成员可以直接用类名调用9.下面描述中,表达错误的是()。A、公有派生时基类中的private成员在派生类中仍是private的B、公有派生时基类中的protected成员在派生类中仍是protected的C、公有派生时基类中的public成员在派生类中仍是public的D、私有派生时基类中的public成员在派生类中是private的10.只能作为成员函数重载的是()。A、++B、=C、*D、new二、简答题(4分+6分+4分+6分,共20分)1.表述问题“x或y中有一个小于z”的C++表达式是什么?2.表达式a=1,b=2,ab?++a:b++;的值以及a和b的值分别是多少?3.面向对象三大机制中。除了继承,其余两个机制是什么?4.根据程序功能填空(每空2分)。以下程序求100以内的自然数中能被17整除的最大数:#includeiostreamusingnamespacestd;intmain(){for(inti=100;______(1)______;i--)if(______(2)______==0){cout100以内最大能被17整除的数是:iendl;______(3)______;}}3注意:填写内容不要超出以上格式,第二页的边距和第一页一样出题人(签名):__________室负责人(签名):_________三、程序阅读题(8分+12分+12分,本题共32分)1.请阅读下列程序,并给出正确的输出结果。#includeiostreamusingnamespacestd;classA{public:A(){x=1;}intout(){returnx;}voidaddX(){x++;}private:intx;};classB:publicA{public:B(){y=1;}intout(){returny;}voidaddY(){y++;}private:inty;};intmain(){Aa;couta.x=a.out()endl;Bb;b.addX();b.addY();coutb.x=b.A::out()endl;coutb.y=b.out()endl;}4注意:填写内容不要超出以上格式,第二页的边距和第一页一样出题人(签名):__________室负责人(签名):_________2.请阅读下列程序,并给出正确的输出结果。#includeiostreamusingnamespacestd;classClock{public:Clock(intNewH=0,intNewM=0,intNewS=0);voidShowTime();Clock&operator++();Clockoperator++(int);private:intHour,Minute,Second;};Clock&Clock::operator++(){Second++;if(Second=60){Second=Second-60;Minute++;if(Minute=60){Minute=Minute-60;Hour++;Hour=Hour%24;}}return*this;}ClockClock::operator++(int){Clockold=*this;++(*this);returnold;}Clock::Clock(intNewH,intNewM,intNewS){Hour=NewH;Minute=NewM;Second=NewS;}voidClock::ShowTime(){coutHour:Minute:Secondendl;}intmain(){ClockmyClock(12,06,59);5注意:填写内容不要超出以上格式,第二页的边距和第一页一样出题人(签名):__________室负责人(签名):_________coutFirsttimeoutput:;myClock.ShowTime();coutShowmyClock++:;(myClock++).ShowTime();coutShow++myClock:;(++myClock).ShowTime();}3.请阅读下列程序,并给出正确的输出结果。#includeiostreamusingnamespacestd;classM{private:intx,y;public:M(){x=y=0;}M(inti,intj){x=i,y=j;}voidcopy(M*m);voidsetxy(inti,intj){x=i+1;y=j+2;}voidprint(){coutx,yendl;}};voidM::copy(M*m){x=m-x;y=m-y;}voidfun(Mm1,M*m2);intmain(){Mp(5,7),q;q.copy(&p);fun(p,&q);p.print();q.print();}voidfun(Mm1,M*m2){m1.setxy(12,15);m2-setxy(22,25);}6注意:填写内容不要超出以上格式,第二页的边距和第一页一样出题人(签名):__________室负责人(签名):_________四、程序设计题(10分+18分,本题共28分)1.定义一个Box(盒子)类,在该类定义中包括:数据成员:length(长)、width(宽)和height(高),均为double类型;成员函数:构造函数Box设置盒子长、宽和高三个初始数据;函数volume计算并输出盒子的体积。在main函数中,要求创建Box对象,并求盒子的体积。2.某学校对教师每月工资的计算规定如下:固定工资+课时补贴。教授的固定工资为5000元,每个课时补贴50元。副教授的固定工资为3000元,每个课时补贴30元。讲师的固定工资为2000元,每个课时补贴20元。定义教师抽象类,派生不同职称的教师类,编写程序求若干个教师的月工资。classteacher{//教师抽象类定义public:teacher(chartname[],inttime){strcpy(name,tname);coursetime=time;}virtualintpay()=0;virtualvoidprint()=0;char*getname(){returnname;}intgetcoursetime(){returncoursetime;}protected:charname[30];intcoursetime;};7注意:填写内容不要超出以上格式,第二页的边距和第一页一样出题人(签名):__________室负责人(签名):_________东华大学2009~2010学年第2学期期末试题踏实学习,弘扬正气;诚信做人,诚实考试;作弊可耻,后果自负。课程名称面向对象程序设计(C++)与实践使用专业计算机科学与技术类班级_____________________姓名________________学号__________试题得分一二三四五六七八九十总分一、选择12345678910二、简答题1.表述问题“x或y中有一个小于z”的C++表达式是。2.表达式a=1,b=2,ab?++a:b++;的值是,a的值是,b的值是。3.其余两个机制是,。4.(1)for(inti=100;____________;i--)(2)if(____________==0){(3)____________;8注意:填写内容不要超出以上格式,第二页的边距和第一页一样出题人(签名):__________室负责人(签名):_________三、程序阅读题1.该程序的正确输入结果如下:2.该程序的正确输入结果如下:3.该程序的正确输入结果如下:9注意:填写内容不要超出以上格式,第二页的边距和第一页一样出题人(签名):__________室负责人(签名):_________四、程序设计题1.程序清单如下:10注意:填写内容不要超出以上格式,第二页的边距和第一页一样出题人(签名):__________室负责人(签名):_________2.程序清单如下:11注意:填写内容不要超出以上格式,第二页的边距和第一页一样出题人(签名):__________室负责人(签名):_________一、选择DBBCADBDAA二、简答题1、xz||yz2、表达式a=1,b=2,ab?++a:b++;的值是2,a的值是1,b的值是3。3、数据封装,多态性4、(1)for(inti=100;___i16_________;i--)或for(inti=100;___i=17_________;i--)(2)if(___i%17_________==0){(3)__break__________;三、程序阅读题1.该程序的正确输入结果如下:a.x=1b.x=2b.y=22.该程序的正确输入结果如下:Firsttimeoutput:12:6:59ShowmyClock++:12:6:59Show++myClock:12:7:13.该程序的正确输入结果如下:5,723,27四、程序设计题1、#includeiostreamusingnamespacestd;classBox{12注意:填写内容不要超出以上格式,第二页的边距和第一页一样出题人(签名):__________室负责人(签名):_________private:doublelength,width,height;public:Box(doublex,doubley,doublez){length=x;width=y;he

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功