ImageVerifierCode 换一换
格式:DOCX , 页数:57 ,大小:35.83KB ,
资源ID:2935330      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2935330.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++全国自考试题.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

C++全国自考试题.docx

1、C+全国自考试题全国2003年10月高等教育自学考试面向对象程序设计试题课程代码:02328一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.下列特性中,C与C+共有的是()A.继承B.封装C.多态性D.函数定义不能嵌套2.通常情况下,函数模板中的类型参数个数不能是()A.0B.2C.4D.33.在下列成对的表达式中,运算符“+”的意义不相同的一对是()A.5.0+2.0和5.0+2B.5.0+2.0和5+2.0C.5.0+2.0和5+2D.5+2.0和5.0+24.类的指针成员

2、的初始化是通过函数完成的,这个函数通常是()A.析构函数B.构造函数C.其它成员函数D.友元函数5.要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为()A.constchar*p=“ABCD”;B.charconst*p=“ABCD”;C.char*constp=“ABCD”;D.constchar*constp=“ABCD”;6.静态成员函数没有()A.返回值B.this指针C.指针参数D.返回类型7.当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中()A.都是虚函数B.只有被重新说明时才是虚函数C.只有被重新说明为virtual时才是虚函数D.都不

3、是虚函数8.下面叙述不正确的是()A.派生类一般都用公有派生B.对基类成员的访问必须是无二义性的C.赋值兼容规则也适用于多重继承的组合D.基类的公有成员在派生类中仍然是公有的 an error occurred while processing this directive 9.在C+中实现封装是借助于()A.枚举B.类C.数组D.函数10.所有在函数中定义的变量,都是()A.全局变量B.局部变量C.静态变量D.寄存器变量二、填空题(本大题共10小题,每小题2分,共20分)不写解答过程,将正确的答案写在每小题的空格内。错填或不填均无分。11.设函数max是由函数模板实现的,并且max(3.5,

4、5)和max(10,5)都是正确的函数调用,则该模板具有_个类型参数。12.在单继承和多继承方式中,面向对象的程序设计应尽量使用_继承。13.语句序列ifstreamdatafile;datafile.“data.dat”);的功能可用一个语句实现,这个语句是_。14.将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。此时const不是指定函数的返回值,而是修饰_指针。15.一个抽象类的派生类可以实例化的必要条件是实现了所有的_。16.在C+中,虚函数帮助实现了类的_性。17.通过C+语言中类的_,可以扩充和完善已有类以适应新的需求。18.为了在对象生存期结束时

5、释放其指针成员所指向的动态存储空间,通常需要为该类定义_。19.在联合中,所有数据成员具有_的地址,任一时刻只有_个数据成员有效。20.在已经定义了整型指针ip后,为了得到一个包括10个整数的数组并由ip所指向,应使用语句_。三、改错题(本大题共5小题,每小题2分,共10分)21.下面的类定义有一处错误,请用下横线标出错误所在行并改正错误。classAinta;public;A(intaa):a=aa;22.下面的程序先把字符串“Lookout!”输出到一个文件中,然后再从该文件输入,并显示在屏幕上,显示效果为Lookout!。程序中有一处错误,请用下横线标出错误所在行,并给出更改意见。#in

6、cludevoidmain()ofstreamoutf(“D:tem.dat”,ios:trunc);outfk;countk;inf.close();23.下面的程序有一处错误,请用下横线标出错误所在行并改正错误。#includeclassTestpublic;staticintx;intx=20;/对类成员初始化voidmain()coutTest:x;24.下面的程序类B的定义中有一处错误,请用下横线标出错误所在行并说明错误原因。#include#includeclassApublic:A(constchar*nm)strcpy(name,nm);private:charname80;c

7、lassB:publicApublic:B(constchar*nm):A(nm)voidPrintName()const;voidB:PrintName()constcout“name:”nameendl;voidmain()Bb1(“wangli”);b1.PrintName();25.用下横线标出下面程序main函数中的错误所在行,并说明错误原因。#includeclassLocationprivate:intX,Y;public;voidinit(intinitX,intinitY);intsumXY();voidLocation:init(intinitX,intinitY)X=in

8、itX;Y=initY;intLocation:sumXY()returnX+Y;voidmain()LocationA1;intx,y;A1.init(5,3);x=A1.X;y=A1.Y;coutx+y”A1.sumXY()endl;四、完成程序题(本大题共5小题,每小题4分,共20分)。根据题目要求,完成程序填空。26.在下面程序横线处填上适当内容,以使该程序执行结果为:1288#includetemplateclassTanypublic:;voidpr()if(sizeof(int)=)county?x:y)endl;elsecouty?y:x)endl;voidmain()Tany

9、dobj=12.0,88.0;dobj.pr();Tanyiobj=12,88;iobj.pr();27.在下面的横线处填上适当内容,使程序完整。#include#includeclasslocprivate:floatx,y;public;loc()x=x1;y=y1;floatgetx()returnx;floatgety()returny;floatdis(loc&,loc&);floatloc:dis(loc&a,loc&b)flostdx=a.x-b.x;flostdy=a.y-b.y;returnsqrt(dx*dx+dy*dy);voidmain()locpl(3.5,4.5),

10、p2(5.5,6.5);floatd=loc:dis(p1,p2);cout“Thedistanceis”d;28.在下面程序中的横线处填上适当内容,使程序完整。#includeclassvehicleprotected:intsize;intspeed;public;voidsetSpeed(ints)speed=s;getSpeedLevel()returnspeed/10;classcar:publicvehiclepublic:intgetSpeedLeve()returnspeed/5;classtruck:publicvehiclepublic:intgetspeedLevel()

11、returnspeed/15;intmaxSpeedLevel(vehicle,vehicle)if(v1.getSpeedLevel()v2.getSpeedLevel()return1;elsereutrn2;voidmain()turckt;carc;t.setSpeed(130);c.setSpeed(60);coutmaxSpeedLevel(t,c)endl;/此结果输出为229.在下面横线处填上合适内容,完成类B的定义。#includeclassApublic:A()a=0;A(inti)a=i;voidprint()couta”,”;private:inta;classB:pu

12、blicApublic:B()b1=b2=0B()b1=i;b2=0;B(inti,intj,intk):b1=j;b2=k;/使a的值为ivoidprint()A:print();coutb1”,”b2endl;private:intb1,b2;30.根据注释在空白处填写适当内容。classLocationprivate:intX,Y;public:voidinit(intinitX,intinitY);intGetX();intGetY();voidLocation:init(intinitX,intinitY)X=initX;Y=initY;intLocation:GetX()reutr

13、nX;intLocation:GetY()reutrnY;#includevoidmain()LocationA1;A1.init(20,90);/定义一个指向A1的引用rA1/用rA1在屏幕上输出对象A1的数据成员X和Y的值五、程序分析题(本大题共6小题,每小题5分,共30分)给出下面各程序的输出结果。31.写出下面程序的输出结果:#includeclassFunArrayint*pa;/指向一个数组空间intsize;/数组元素个数public:FunArray(inta,intthesize):pa(a),size(thesize)intSize()returnsize;int&oper

14、ator(intindex)returnpaindex-1;voidmain()ints=3,7,2,1,5,4;FunArrayma(s,sizeof(s)/sizeof(int);ma3=9;for(inti=1;i=ma.Size();i+)coutmai,;32.写出下面程序的输出结果:#includetemplateclassTclassTx,y;public:Tclass(Ta,Tb):x(a)y=b;Tclass(Ta)y=(T)0,x=a;voidpr()charc;c=(y=(T)0?+:-);coutxc(T)0?y:-y)iendl;voidmain()Tclassa(1

15、0.5,-5.8);a.pr();Tclassb(10);b.pr();33.写出下面程序的输出结果:#includeclassTestprivate:staticintval;inta;public;staticintfunc();voidsfunc(Test&r);intTest:val=200;intTest:func()returnval+;voidTest:sfunc(Test&r)r.a=125;coutResult3=r.a;voidmain()cout”Result1=”Test:func()endl;Testa;cout”Result2=”a.func();a.sfunc(a

16、);34.写出下面程序的输出结果:#includeclassApublic;virtualvoidprint()cout”ThisisclassAprinting.”endl;classB:publicApublic:voidprint();classC:publicBpublic:voidprint()cout“ThisisclassCprinting.”endl;voidshow(A&a)a.print();voidmain()Aa;Bb;Cc;show(a);show(b);show(c);35.写出下面程序的输出结果:#includeclassApublic:A()a=0;A(inti

17、)a=i;voidPrint()couta”,”;intGeta()returna;private:inta;classB:publicApublic:B()b=0;B(inti,intj,intk);voidPrint();private:intb;Aaa;B:B(inti,intj,intk):A(i),aa(j)b=k;voidB:Print()A:Print();coutb”,”aa.Geta()endl;voidmain()Bbb2;bb0=B(1,2,5);bb1=B(3,4,7);for(inti=0;i2;i+)bbi.Print();36.写出下面程序的输出结果:#includeclassLocationintX,Y;public:voidinit(int=0,int=0);voidvalueX(intval)X=val;intvalueX()returnX;voidvalueY(intval)Y=val;intvalueY()returnY;voidLocation:init(intinitX,intinitY)X=initX;Y=initY;voidmain()LocationA,B;A.init();coutA.valueX()endl;A.valueX

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2