2022年甘肃省兰州市全国计算机等级考试C++语言程序设计模拟考试(含答案).docx
《2022年甘肃省兰州市全国计算机等级考试C++语言程序设计模拟考试(含答案).docx》由会员分享,可在线阅读,更多相关《2022年甘肃省兰州市全国计算机等级考试C++语言程序设计模拟考试(含答案).docx(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年甘肃省兰州市全国计算机等级考试C+语言程序设计模拟考试(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1 .有如下程序:#include using namespace std ; Class Base public : Base()cout BB ;f() ; void()cout BF ; ; class Derived : public Base public : Derived()cout DD ; void f()cout Df ; ) ) ; int mainA.BBBfDD B.BBDfDDDfC.DD D.DDBBBf2 .数据库管理系统DBMS中用来定义模
2、式、内模式和外模式的语言是 OA.DML B.C C.DDL D.Pascal3 .()是给对象取一个别名,它引入了对象的同义词。A.指针B.引用C.故举D.结构4 .检查软件产品是否符合需求定义的过程称为 oA.确认测试B.集成测试C.验证测试D.验收测试5 .下列关于C+函数的叙述中,正确的是A.每个函数至少要具有一个参数B.每个函数都必须返回一个值C.函数在被调用之前必须先声明D.函数不能自己调用自己35 .请在下列程序中的空格处填写正确的语句:class Samplepublic :Sample() Sample() void SetData(int datA) 将Sample类成员变
3、量data设置成形参的值private :int data ;);四、程序改错题(10题)36 .使用VC+6.。打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为errorOERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *error*的下面。试题程序:#includeJ *1 *J *1 vl* *J *1个个个个个个个个rror个个*个个个个个catch(chars) (coutsendl;) try (throw(int)0);
4、)/不不不小不不不不error、小不个不不不不catch(coutiendl ; try (throw(O);throw(nerrorn);k1*J *1 vl* vl* *1*个个个个个个个个nor个个个个个个个个catch (coutnERRORnendl;)returnO ;37 .使用VC+ +6.0打开考生文件夹下的源程序文件1 .cpp。本程序要 求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输 入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕 中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error
5、*的下面。试题程序:#includevoidmain(inti=O ;charstr120;coutnEnterastringendwith? . nendl ;I I *error*cin . getline(str, 120);/ I *error*while(str)(/ I * error* *if(stri)=a)stri=stri-a + A ;i + + ;)coutstrendl ;return ;38 .使用VC+ +6.0打开考生文件夹下的源程序文件1.cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:number= 1number= 10numbe
6、r= 100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/ / *errc)r*的下面。试题程序:#includeclassTC (public :TC(inti) (number=i ;)voidSetNumber(intm)(number=m ;)intGetNumberconst(returnnumber ;)voidPrintconst (cout number=1 f numberendl ;)private :intnumber ;voidmainerrorTCobjl ;objl . Print ;TCobj2(3);vl*si*J *J *J
7、 *1 vi* *A个个个个个个个个nor个个个个个个个个objl . number= 10 ;! 1* ej*or* * *TC . SetNumber(lOO);objl . Print ;obj2 . Print ; )39 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,但该程序运行有问题,请改正main函数中的错误,使该程序的输出结果正确。程序输出:88注意:错误的语句在/ *error* /的下面。修改该语句即可,其他的语句不能修改。试题程序:#include(iostream. h classCO public:7,7,7,小不不不不小不不enor不不不不不不不不st
8、aticintn=O :CO (n+ + :)CO(n:):vL*kJ k! k| vt*不、不不不不不不en*or3小不不不小不intCO:n;voidmain(COobj ;COobj27;COCNULL:c= & obj :errork1 k1k1 slryw ryw rj*eoutC . nendl ;coutC0: nendl; )40 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:number= 1 number= 10 number=100注意:不要改动main函数,不能增加或删除行。也不能更改程序的
9、结构,错误的语句在/ / *errc)r*的下面。试题程序:#includeclassTC (public:TC(inti) ( number=i;) voidSetNumber(intm) (number=m ;) intGetNumberconst (returnnumber;) voidPrintconst (coutn number=n numberendl ;private:intnumber;);voidmain个个个个个个个个rror个个个个个小个个TCobjl;objl. Print;TCobj2(3);个个个个个个个个nor个个个个个个个个objl. number= 10;!
10、 1 * eno* 0 * *TC. SetNumber(l 00);objl. Print;obj2. Print;41 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为errorOERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *eirc)r*的下面。试题程序:#includeiostream. h) intmain( try(throw(nerrorn);* prrcr* *catch(chars)(cout
11、sendl;) try (throw(int)0);* * *catchcoutiendl;) try (throw(O);throw(nerrorn);)*5rcr*catchcoutn ERROR1 f endl ;returnO ;42 .使用VC+6.。打开考生文件夹下的源程序文件1.cpp,该程序 运行时有错。请改正程序中的错误,使程序输出的结果为1003732注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include不不不不不不error不不不不不不voidmainvl* vl*kL*不不下不不不error不不下个不不intm=0142:不不不不不不
12、erpor不不不不不不intn=0X27 :intq=32;cout m endl;cout n endl;6 .两个变量定义不能同名,是因为()。A.这两个变量定义在同一文件中B.这两个变量定义在同一作用域中C.一个定义在main函数中,一个定义在子函数中D.以上说法均不正确7 .下列关于C+语言类的描述中错误的是A.类用于描述事物的属性和对事物的操作8 .类与类之间通过封装而具有明确的独立性C.类与类之间必须是平等的关系,而不能组成层次结构D.类与类之间可以通过一些方法进行通信和联络8 .如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是A.一元运算符B.二元运算符C.选
13、项A)和选项B)都可能D.重载错、口 味9 .下列对模板的声明中,正确的是()。A.template 10 template C. tempi ate D.template cout q endl ;return ; )43 .使用VC+6.。打开考生文件夹下的源程序文件1. cpp。本程序 要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可 能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出 到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。试题程序:#include voidmain(inti
14、=0;charstr120;coutnEnterastringendwith?nendl ;/不不不不不不不不error不小小不不不不不cm.getline(str, 120);个个个个个个个个个个个个个个个个while(str)vl* vl*vl*个个个个个个个个个个个*个个个个if(stri)=a)stri=stri-a+A;i+ + ;)coutstrendl ;return ;)44 .使用VC+ + 6 . 0打开考生文件夹下的源程序文件1 . cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现 的功能为从键盘输入一个字符串,并将结果保存到文件1 . txt中。注意:不要
15、改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在kL*kL*error的下面。试题程序:#include#include7,7,K.t7 ! vi kJ k1 *i kL* 、q. rj、outl . puts(si);)outl . close ;)voidClearFile (ofstreamoutl ;outl . open(nl . txt);outl . close ;) intmain(chars1024;ClearFile ;coutnpleaseinputastrin9 :nendl ;cin . getline(s, 1024);WriteFile(s
16、);returnO ;)45 .使用VC + +6 .0打开考生文件夹下的源程序文件1 .cpp,该程序运 行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果 为:sizeof(Sl)=5 sizeof(s2)=10sizeof(s3)=l注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *err()r*的下面。不能删除assert ()语句。(2)只能修改后面的数字。提示:assert函数如果为假,则会产生一个中断异常。试题程序:#include #include voidmain () chartsl=nabcn:assert(sizeof
17、(s 1 )=3):coutnsizeof(sl)=5nendl ;chars210=nabn:assert(sizeof(s2)=2);coutnsizeof(s2)=10nendl ;chars3=23 :assert(sizeof(s3)=4);coutnsizeof(s3)=lnendl ;return ; )五、综合应用题(2题)46 .使用VC+6. 0打开考生文件夹下的源程序文件3. cpp。类 People包括姓名和年龄两个字段。函数fun获得年龄比较大的人的姓 名,然后输出这个姓名到屏幕。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完 整。完成类的构造函数功能,请
18、在注释1后添加适当的语句。完成构造函数对姓名的赋值,请在注释2后添加适当的语句。定义类的友元函数fun,请在注释3后添加适当的语句。(4)补充函数fun的年龄比较功能,请在注释4后添加适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其 他的程序代码。试题程序:#includeclassPeople (public:/ vl* vl*1* vL* kL* vt*/I(inti;for(i=0; sUserNamei! =0; i+ +) m_UserNamei=sUserNamei;/7 1* 7* 1/、rj、m_01d=n01d;private:charm_U serN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 甘肃省 兰州市 全国 计算机等级考试 C+ 语言程序设计 模拟考试 答案
限制150内