全国2013年1月高等教育自学考试-C++程序设计试题-附答案

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

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

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

资源描述

浙04737#C++程序设计试题第1页(共13页)绝密★考试结束前全国2013年1月高等教育自学考试C++程序设计试题课程代码:04737请考生按规定用笔将所有试题的答案涂、写在答题纸上。选择题部分注意事项:1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。1.下列不属于C++关键字的是A.externB.gotoC.freeD.default2.C++中定义标准输入输出的库为A.stdioB.mathC.iostreamD.stdlib3.My是一个类,则执行语句Mya[3],*p[2]之后,自动调用构造函数次数为A.2B.3C.4D.54.下列语句错误的是A.intval(20);B.externintval(20);C.constintval;D.externconstintval;5.下列说法中,有关构造函数是正确的是浙04737#C++程序设计试题第2页(共13页)A.任何一类必定有构造函数B.可定义没有构造函数的类C.构造函数不能重载D.任何一类必定有缺省的构造函数6.下面关于类和对象说法不正确是A.类由数据与函数组成B.一个对象必属于某个类C.对象是类的实例D.一个类的对象只有一个7.下面选项中不是类成员函数的是A.构造函数B.析构函数C.友元函数D.静态函数8.在C++中类之间的继承关系具有A.自反性B.对称性C.传递性D.反对称性9.C++中类的成员默认为A.publicB.privateC.protectedD.static10.C++中要实现动态联编,调用虚函数时必须使用A.基类指针B.类名C.派生类指针D.对象名11.下面对析构函数的正确描述是A.系统不能提供默认的析构函数B.析构函数必须由用户定义C.析构函数没有参数D.析构函数可以设置默认参数12.在下面的二维数定义正确的是A.intary[5][];B.intary[][5]={{0,1,2}};C.intary[][5];D.intary[5,5];13.以下说法中正确的是A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行C.C++中函数必须有返回值D.C++中函数名必须唯一14.对C++中主函数描述正确的是A.名称为main,可为多个B.名称不限,可为多个浙04737#C++程序设计试题第3页(共13页)C.名称为main,必须有且只能有—个D.名称不限,必须有且只能有—个15.下面声明纯虚函数语句正确的是A.voidfun()=0;B.virtualvoidfun()=0;C.virtualvoidfun();D.virtualvoidfun(){};16.对于拷贝初始化构造函数和赋值操作的关系,正确的描述是A.拷贝初始化构造函数和赋值操作是完全一样的操作B.进行赋值操作时,会调用类的构造函数C.当调用拷贝初始化构造函数时,类的对象正在被建立并被初始化D.拷贝初始化构造函数和赋值操作不能在同一个类中被同时定义17.使用重载函数的目的是A.共享函数数据B.减少代码量C.优化运行效率D.提高可读性18.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念19.假定有“char*p=“Hello”;”,若要输出这个字符串的地址值正确的写法为A.cout*p;B.coutp;C.cout&p;D.cout(void*)p;20.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是A.公有类型B.私有类型C.保护类型D.友元类型浙04737#C++程序设计试题第4页(共13页)非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。二、填空题(本大题共20小题,每小题1分,共20分)21.C++程序的编译是以____文件________为单位进行的。22.C++语言支持的两种多态性分别是编译时的多态性和_____运行时___的多态性。23.重载的运算符保持其原有的操作符个数、___优先级____和结合性不变。24.在C++中,函数的参数有两种传递方式,它们分别是值传递和____地址传递____。25.含有____纯虚函数________的类称为抽象类。26.C++程序运行时的内存空间可以分成全局数据区,堆区,栈区和____代码区_____。27.对于无返回值函数,定义函数时要用____VOID________修饰函数类型。28.定义重载函数必须在参数的个数或参数的____类型________上与其它同名函数不同。29.拷贝构造函数是在用一个对象初始化另一个对象时被调用,系统缺省的拷贝构造函数的工作方法是___拷贝每一个数据成员_________。30.以面向对象方法构造的系统,其基本单位是____类________。31.拷贝构造函数使用_____对象_______作为参数初始化创建中的对象。32.当一个成员函数被调用时,该成员函数的__this指针____指向调用它的对象。33.类可将实现细节隐藏起来,这种机制称为___封装_________。34.在面向对象的程序设计中,通过封装实现数据隐藏;通过____重载________实现代码的复用。35.在公有继承的中基类数据成员在派生类中的访问权限__基类的public和protected成员的访问属性在派生类中不变,而基类的private成员不可访问__________。36.复杂对象可以由简单对象构成,这种现象称为_____聚合_______。37.如有“char*p=''Hello'';”,则语句“cout*(p+1);”输出值是____e________。38.基类和派生类的关系称为____继承________。39.在类的定义中,说明为protected的数据成员称为保护成员。保护数据成员具有双重作用:对于其派生类而言,是公有的;而对于其外部的程序而言,是____私有的________。40.假定x=10,则表达式x=10?20:30的值为____20________。浙04737#C++程序设计试题第5页(共13页)三、改错题(本大题共5小题,每小题2分,共10分)下面的类定义中有一处错误,请写出错误所在行并给出修改意见41.#includeiostream.hclasspoint{private:floatx,y;public:point(floata,floatb){x=a;y=b;}voidf(){x=0;y=0;}voidgetx(){coutxendl;}voidgety(){coutyendl;}};main(){pointa(3.5);(实参要2个)a.getx()}42.#includeiostream.hmain(){intx=7;constint*p=&x;*p=99;(不允许改变指针常量的值)cout*pendl;}43.#includeiostream.hclasstest{private:intx;y;public:voidf(inta,intb){x=a;y=b;}intmax(){return(xy)?x:y;}};main(){testa;a.f(1,3);浙04737#C++程序设计试题第6页(共13页)couta.max()endl;}44.#includeiostream.hclasstest{private:intx;public:test(inta){x=a;}voidset(inta){x=a;}voidget(){coutxendl;}};classtestl:publictest{private:intx;public:testl(inta){x=a;}voidset(inta){x=a;}voidget(){coutxendl;}};45.#includeiostream.hclassf{private:intx,y;public:voidfl(inta,intb){x=a;y=b;}voidprint(){coutx''yendl;}};main(){fa;floatx=1.5y=2.0;a.fl(x,y);a.print();}四、完成程序题(本大题共5小题,每题4分,共20分)46.将下划线处缺少的部分写在“答题纸”上。源程序如下:浙04737#C++程序设计试题第7页(共13页)#includeiostreamusingnamespacestd;classbase{inta,b;public:base(intx,inty){a=x;b=y;}voidshow(__basep______________){coutp.a’’,’’p.bendl;}}___;_____________voidmain(){baseb(78,87);b.show(b);}47.将下划线处缺少的部分写在“答题纸’’上。源程序如下:#includeiostream#includefstreamusingnamespacestd;voidmain(){___ofstream___myf(''ab.txt'');//定义输出流文件,并初始化_______myf_________''ThisiaaTXTfile'';//向文件输入字符串myf.close();}48.在下面程序中的下划线处填上适当的程序(答案写在“答题纸’’上),使程序的输出结果如下:67,90浙04737#C++程序设计试题第8页(共13页)源程序如下:#includeiostreamusingnamespacestd;classbase{private:intx,y;public:voidinitxy(inta,intb){x=a;y=b;}voidshow(base*p);};inlinevoidbase::show(____base*p____________){coutp-x'',''p-yendl;}voidprint(base*p){p-show(p);}voidmain(){basea;a.initxy(67,90);print(____&a____________);}49.下面程序给出了一个从普通的基类派生出一个模板类的方法,在下划线处填上正确的部分(答案写在“答题纸’’上)。#includeiostreamusingnamespacestd;classBase浙04737#C++程序设计试题第9页(共13页){public:Base(inta){x=a;}intGetx(){returnx;}voidshowb(){coutxendl;}private:intx;};templateclassTclassderived:publicBase{public:derived(Ta,intb):__Base(b)______________{y=a;}TGety(){returny;}voidshowd(){couty''''Getx()endl;}private:___Ty;_____________};voidmain(){BaseA(458);A.showb();derivedchar*B''Itis'',1357);B.showd();}50.下面程序的运行结果如下:20,2260,22将下

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

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

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

×
保存成功