




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计期末考核试题样例及解答一、单项选择(每小题1分,12小题,共12分)1.C+源程序文件的缺省扩展名为()。A.cppB.exeC.objD.lik2.x0|y=5的相反表达式为()。A.x=0|y!=5B.x0|y!=5D.x0&y=53.在下面的字符数组定义中,有语法错误的是()。A.chara20=“abcdefg”;B.chara=“x+y=55.”;C.chara15;D.chara10=5;4.以下正确的函数原型语句是()。A.doublefun(intx,inty)B.doublefun(intx;inty)C.doublefun(int,int);D.doublefun(intx,y);5.在下面存储类中,()的对象不是局部变量。A.外部静态类B.自动类C.函数形参D.寄存器类6.假定有“structBOOKchartitle40;floatprice;BOOK*book=newBOOK;”,则正确的语句是()。A.strcpy(book-title,”WangTao”);B.strcpy(book.title,”WangTao”);C.strcpy(*book.title,”WangTao”);D.strcpy(*book)-title,”WangTao”);7.软件产品所具有的全部或部分地再用于新的应用的能力称为该软件的()。A.可维护性B.可复用性C.兼容性D.正确性8.在多文件结构的程序中,通常把含有main()函数的文件称为()。A.主文件B.实现文件C.程序文件D.头文件9.在一个用链表实现的队列类中,假定每个结点包含的值域用elem表示,包含的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail表示,若链队为空,则进行插入时必须把新结点的地址赋给()。A.elemHeadB.elemTailC.elemHead和elemTailD.elemHead或elemTail10.假定AB为一个类,则执行“ABa,b(2),c3,*p=&a;”语句时共调用该类无参构造函数的次数为()。A.5B.6C.3D.411.引入友元的主要目的是为了()。A.增强数据安全性B.提高程序的可靠性C.提高程序的效率和灵活性D.保证类的封装性12.如果是类B在类A的基础上构造,那么,就称()。A.类A为基类或父类,类B为超类或子类B.类A为基类、父类或超类,类B为派生类或子类C.类A为派生类,类B为基类D.类A为派生类或子类,类B为基类、父类或超类1二、填空(每空1分,15小题,共18分)1.C+语言是在_语言的基础上发展起来的。2.假定x=5,y=6,则执行表达式y*=x+计算后,x和y的值分别为_和_。3.假定x是一个逻辑量,则x&false的值为_。4.在if语句中,每个else关键字与它前面同层次并且最接近的_关键字相配套。5.一个二维字符数组a1020能够存储_个字符串,每个字符串的长度至多为_。6.局部变量具有局部生存期,存放在内存的_区中。7假定p所指对象的值为25,p+1所指对象的值为42,则执行*(p+)或*p+运算后,p所指对象的值为_。8.已知语句“couts;”的输出是“apple”,则执行语句“coutabc(y)表达式调用一个成员函数,在成员函数中使用的_就代表了类外的p指针。11当用户为一个类定义有_时,则系统不会为该类再自动生成一个默认构造函数。12假定用户为类AB定义了一个构造函数AB(intaa,intbb):a(aa),b(bb),则定义该类的对象时,有_种定义格式。13假定用户只为类AB定义了一个构造函数AB(intaa,intbb=0)a=aa;b=bb;,则定义该类的对象时,其实参表中至少带有_个实参。14.在重载一个单目运算符时,参数表中没有参数,说明该运算符函数只能是类的_。15.若要保证一个公共的基类在派生类中只产生一个基类子对象,则必须都以_的方式继承它。三、程序填充。对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面(每小题6分,3小题,共18分)1.把从键盘上输入的一个大于等于3的整数分解为质因子的乘积。如输入24时得到的输出结果为“2223”,输入50时得到的输出结果为“255”,输入37时得到的输出结果为“37”。#includevoidmain()intx;coutx;while(_(1)_);inti=2;dowhile(_(2)_)couti;x/=i;2_(3)_;while(ix);if(x!=1)coutx;coutendl;(1)(2)(3)2.假定有定义为“structNODEintdata;NODE*next;”,下面算法根据table数组中的n个元素建立一个表头指针为L的链表,链表中结点值的顺序与数组元素值的顺序正好相反。voidf6(NODE*&L,inttable,intn)L=NULL;if(ndata=_(2)_;p-next=L;_(3)_;i+;(1)(2)(3)3.已知一个利用数组实现栈的类定义如下:constintARRAY_SIZE=10;classStackpublic:voidInit()top=-1;/初始化栈为空voidPush(intnewElem);/向栈中压入一个元素intPop();/从栈顶弹出一个元素boolEmpty()/判栈空returntop=-1;intDepth()returntop+1;/返回栈的深度voidPrint();/按照后进先出原则依次输出栈中每个元素,/直到栈空为止3private:intelemARRAY_SIZE;/用于保存栈元素的数组inttop;/指明栈顶元素位置的指针;voidStack:Push(intnewElem)if(_(1)_)cout栈满!endl;exit(1);/中止运行_(2)_;elemtop=_(3)_;(1)(2)(3)四、写出程序或程序段的运行结果(每小题6分,3小题,共18分)1.#includevoidmain()intx=5;switch(2*x-3)case4:coutx;case7:cout2*x+1;case10:cout3*x-1;break;default:coutdefaultendl;coutswitchend.endl;2.#includevoidmain()inti,j,len3;chara38=year,month,day;for(i=0;i3;i+)for(j=0;j8;j+)if(aij=0)leni=j;break;coutai:leniendl;43.#include#includeclassPointintx,y;public:Point(intx1=0,inty1=0):x(x1),y(y1)coutPoint:xyn;Point()coutPointdes!n;classTextchartext100;/文字内容public:Text(char*str)strcpy(text,str);coutTextcon!n;Text()coutTextdes!n;classCircleWithText:publicPoint,publicTextpublic:CircleWithText(intcx,intcy,char*msg):Point(cx,cy),Text(msg)coutPointwithTextcon!n;CircleWithText()coutPointwithTextdesn;voidmain()CircleWithTextcm(3,4,hello);五、指出程序或函数的功能(每小题6分,2小题,共12分)1.doublef1(doublea,doubleb,charop)switch(op)case+:returna+b;case-:returna-b;case*:returna*b;5case/:if(b=0)coutdividedby0!endl;exit(1);elsereturna/b;default:coutoperatorerror!next;while(f)if(f-datap-data)p=f;f=f-next;returnp;假定IntNode的类型定义为:structIntNodeintdata;/结点值域IntNode*next;/结点指针域;功能:六、程序改错。请根据程序或函数模块的功能改写个别地方的错误(每小题6分,共6分)。在下面的定义中,NODE是链表结点的结构,appendToList则是一函数,其功能是:在list所指向的链表的末尾添加一个新的值为x的结点,并返回表头指针。函数中有两处错误,指出错误所在行的行号并提出改正意见。structNODEintdata;NODE*next;NODE*appendToList(NODE*list,intx)/1行NODE*p=newint;/2行p-data=x;/3行p-next=NULL;/4行6if(list=NULL)returnp;/5行NODE*p1=list;/6行while(p1-next!=NULL)p1=p1-next;/7行p1=p;/8行returnlist;错误行的行号为_和_。分别改正为_和_。七、编程(每小题8分,2小题,共16分)1.编一程序求出满足不等式1+12+13+L+1n5的最小n值并输出。2.根据下面类中MaxMin函数成员的原型和注释写出它的类外定义。classAAint*a;intn;intMS;public:voidInitAA(intaa,intnn,intms)if(nnms)coutError!endl;exit(1);MS=ms;n=nn;a=newintMS;for(inti=0;iMS;i+)ai=aai;intMaxMin(int&x,int&y);/从数组a的前n个元素中求出/最大值和最小值,并分别由引用参数x和y带回,/同时若n大于0则返回1,否则返回0。;试题参考解答:一、单项选择1.A2.B3.D4.C5.A6.A7.B8.A9.C10.D11.C12.B二、填空1.C2.6303.false(或0)4.if5.10196.栈7.258.ple9.设计实现10.this11.构造函数12.113.114.成员函数15.虚基类7三、程序填充1.(1)x3(或x=2)(2)x%i=0(3)i+(或+i或i=i+1或i+=1)2.(1)inext=p;七、编程#includevoidmain()inti=0;doubles=0;whil
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教新目标 (Go for it) 版七年级上册Unit 3 What color is it 教案配套
- 成品油检定培训
- 2024中电信翼康科技有限公司招聘15人笔试参考题库附带答案详解
- 2024中国铁路济南局集团有限公司招聘普通高校大专(高职)毕业生1617(二)笔试参考题库附带答案详解
- 人教部编版九年级下册5 孔乙己教案设计
- 大学生志愿者培训
- 人教部编版九年级历史上册第14课 文艺复兴运动 教学设计
- 人教部编版九年级道德与法治上册 6.2 共筑生命家园 教学设计
- 人教部编版八年级下册3安塞腰鼓教案配套
- 安全风险防控培训
- 与圆有关的最值问题课件
- 全大学进阶英语综合教程2综合训练第一单元(含答案)
- 全旅馆业前台从业人员资格证考试答案解析
- 广东省护士延续注册健康体检表
- 专业工程分包业主审批表
- 活动物料清单
- 精细化工产品公司企业经营战略方案
- 缺血缺氧性脑病详解课件
- 冠状动脉CT解剖详解
- 地下连续墙钢筋笼起重吊装专项施工方案
- 单值和移动极差X-MR控制图
评论
0/150
提交评论