2022年甘肃省天水市全国计算机等级考试C++语言程序设计真题(含答案).docx
《2022年甘肃省天水市全国计算机等级考试C++语言程序设计真题(含答案).docx》由会员分享,可在线阅读,更多相关《2022年甘肃省天水市全国计算机等级考试C++语言程序设计真题(含答案).docx(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年甘肃省天水市全国计算机等级考试C+语言程序设计真题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1.对于while、do.while循环结果说法正确的是 。A.只是表达形式不同B.do.while结构中的语句至少执行一坎C.while结构中的语句至少执行一次D.条件成立时,他们有可能一次也不执行2 .磁盘文件操作中,打开磁盘文件的访问模式常量时,()是以追加方式 打开文件的。A.in B.out C.app D.ate3 .软件调试的目的是A.发现错误B.改正错误C.改善程序的性能D.验证软件的正确性4 .与语句cout endl ;不等价的是A.cout n ; B.c
2、out 12 ; C.cout xA ; D.cout 0;5 .为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能 把该成员的访问权限定义为()。31 .用树型结构表示实体类型及实体间联系的数据模型称为【】。32 .以随机访问方式读取文件中的数据通常使用istream的成员函数33 .软件结构是以【】为基础而组成的一种控制层次结构。34 .内联函数是通过【】来实现的,因此内联函数是真正的函数。35 .在面向对象方法中,描述的是具有相似属性与操作的一组对 象。四、程序改错题(10题)36 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序 运行有问题,请改正main
3、函数中的错误,使程序的输出结果为: number=l number=10 number= 100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结 构,错误的语句在/ / *enx)r*的下面。试题程序:#includeclassTCpublic:TC(inti) number=i ;voidSetNumber(intm) number=m ;intGetNumberconst returnnumber;voidPrintconst coutn number=n numberendl ;private:intnumber;voidmainvl* vl* vt*vt*1# k*不不
4、不不不不不不不不不不不不不不TCobjl;objl. Print;TCobj2(3);7, 7,*1,7,7 7,objl. number= 10;/ * enor* * *TC. SetNumber(lOO);objl. Print;obj2. Print; )37 .使用VC + +6 .0打开考生文件夹下的源程序文件1 .cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为: number=lnumber=10number= 100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/ / *error*的下面。试题程序:#includec
5、lassTC (public :TC(inti) (number=i ;)voidSetNumber(intm) (number=m ; intGetNumberconst returnnumber ;voidPrintconst coutHnumber=Hnumberendl ; private :intnumber ;voidmainst*kL*kL*1个下个不不不个个nor个个*个个个个个TCobjl ;objl . Print ;TCobj2(3);kL* kL* vL* vL* kL# vl#vt* 1* *1*1 kT* *1*不不不不不不不不nc)r个个个个个个个个objl .
6、number=10 ;I !*eiror*/)o*TC . SetNumber(lOO);objl . Print ;obj2 . Print ; 38 .使用VC+ + 6 .。打开考生文件夹下的源程序文件1 . cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现 的功能为从键盘输入一个字符串,并将结果保存到文件1 . txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在rrwk1 k! *1 kI kJ *1 error不不不不不不的下面。试题程序:#include#includekJ 7,k1* *T*error*J sl kJ kI*y
7、w rr*T* rrusingstd ;voidWriteFile(char*s) (ofstreamoutl ;vl* 卜 q,error*1 *4 1 J4 vL*、,j、q、,j、,卜outl . open(ul . txt, binary|app);for(inti=0 ; si!=0 ; i + +)k! kJ *1 kL* kL* k|errorKt* kJ sl kJ Kt* k| kJclassTC ( /7,7,7,7,7,/小不不不小小个不enor不不不不不不不不/TC(inti) ( m_i=i ;) voidprint(coutm_i,;)public :intm i
8、;);intmain7,不不不不不不不不个个不不不小不不inti ;TC04(10);while(i5)I * * /i+ + :04 . print ; ) coutendl ;returnO ;40.使用VC + +6 .0打开考生文件夹下的源程序文件1 .cpp,该程序运 行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果 为:sizeof(Sl)=5sizeof(s2)=10sizeof(s3)=l注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。不能删除assert ()语句。(2)只能修改后面的数字。提示:a
9、ssert函数如果为假,则会产生一个中断异常。试题程序:#include #include voidmain () chartsl=nabcn:errorassert(sizeof(s 1 )=3): coutnsizeof(sl)=5nendl ;chars210=nabn:errorK,t K.tK.t*7* rr* *r* rT*assert(sizeof(s2)=2);coutnsizeof(s2)=10nendl ;chars3=23 :errorassert(sizeof(s3)=4);coutnsizeof(s3)=lnendl ;return ; )41 .使用VC+6. 0打
10、开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为error0ERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *error*的下面。试题程序:#includeiostream. h) intmain( try(throw(nerrorn);catch(chars) coutsendl ;try throw(int)0);个下个干不个不下enr个个个个个个个不catch coutiendl ;try throw(O);throw(nerror
11、n);7,7,7,7, 不不不不不不*r*个个个小个个个个catch coutnERRORnendl ;returnO ;42.使用VC+6.。打开考生文件夹下的源程序文件1. cpp。本程序要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可 能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出 到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。试题程序:#include voidmain inti=O;charstr120;coutnEnterastringendwith?nendl ;7, 7,
12、*1,7,7 7,cin. getline(str, 120);个个个个个个个个个个个个个个个A.public B.protected C.private D.static 6.类 MyClas 定义如下:Class MyClas public: MyClas()value=0; setVariable(int i)value=I; private: int value; 则以下对语句序列 MyClas *p,my;p=&my;的描述正确的是()。A.语句 p- setVariable(5)与语句 my.setVariable(5)等价B.对语句*p. set Variable。)的调用是正确
13、的C.语句MyClas *p,my;会调用两次类MyClas的构造函数D.语句p=&my;是把对象my赋值给指针变量p7 .下面是一个模板声明的开始部分:Template double.由此可知A.这可能是一个函数模板的声明8 .这可能是一个类模板的声明C.这既可能是一个函数模板的声明,也可能是一个类模板的声明D.这肯定是一个错误的模板声明8.下列有关拷贝构造函数的描述中错误的是()0A.拷贝构造函数是一种构造函数B.拷贝构造函数与一般的构造函数一样,可以设置多个形参C.每一个类中都必须有一个拷贝构造函数D.拷贝构造函数的功能是用一个已知对象去初始化一个正在创建的对 象while(str)(/
14、7 7,7 7 7 7,/不不不小个不不不error不不小不不不不不if(stri)=a)stri=stri-a+A;i+ +;)coutstrendl ;return ; )43.使用VC + +6.0打开考生文件夹下的源程序文件1 .cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为Constructor, i=0,Destructor注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include(iostream . h)classTC (inti ;public :TC ;voiddisplay ;TC ;1、errork* *I *1
15、 1* *1 *1*-j、.j、.卜.,、j、TC : TC coutnConstructornH, i=0;7* 7* 7* 7 7*7*、L* 7* 7* 7* 7*不不不不不不en*or不不不不不不TC : display(toutni=nin, nendl ;*1 kJ k!eno不不不不不不TC : TCCOUInDestructornendl :)voidmain(TCa ;a . display ; )44 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实 现的功能为从键盘输入一个字符串,并将结果保存到文件1. t
16、xt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在* error* * 白勺 卜 | H jo试题程序:#include#include*1*vl*个个个个个个个个rror个个个个个个个个usingstd;voidWriteFile(char*s) ofstreamoutl ;个个个个个个个个rror个个个个个个个个outl. open(Hl. txtn, binary|app);for(inti=0; si!=0; i + +)个个个个个个个个noi*个个个个个个个个outl. puts(si);outl. close;)voidClearFile o
17、fstreamoutl ;outl. open(nl. txt”);outl. close;) intmainchars 1024;ClearFile;coutnpleaseinputastrin9 :nendl;cin. getline(s, 1024);WriteFile(s);returnO ; 45 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序 运行时有错,请改正其中的错误,使程序正常运行,输出的结果为Constructor, i=0,Destructor注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include(iostream
18、. h)classTC (inti;public:TC;voiddisplay;TC;;error7 7 7 7 kJ kJ W、q. J、rj、TC: TC(coutnConstructornn,” ;i=0;不不不不不不enor个个不不不个TC: display(toutni=nin, nendl;ri 7vl* vT* *f error不个个个不不TC:TCCOUInDestructornendl :voidmain (TCa;a. display; )五、综合应用题(2题)46 .请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含了类IntegerSet
19、和主函数main的定义。一个IntegerSet 对象就是一个整数的集合,其中包含0个或多个无重复的整数;为了 便于进行集合操作,这些整数按升序存放在成员数组elem的前若干单 元中。成员函数add的作用是将一个元素添加到集合中(如果集合中不 存在该元素),成员函数remove从集合中删除指定的元素(如果集合中 存在该元素)。请编写成员函数remove。在main函数中给出了一组测 试数据,此时程序的正确输出结果应为:2 3 45 27 28 31 66 752 3 45 62728 31 56 752 3 45 6 192728 31 66 753 45 6 19 27 28 31 66 7
20、53 45 6 19 27 28 31 66 75要求:补充编制 的 内 容写;j“* *333 * 与“*666*”之间,不得修改程序的其他部分。注意:程序最后将结果输出到文件out. dat中。输出函数writeToFile 已经编译为。bj文件,并且在本程序中调用。/IntegorSet. h#ifndef INTEGERSET#define INTEGERSET#includeusing namespace std;const int MAXELEMENTS= 100 ;集合最多可拥有的元素个数class IntegerSetint elem MAXELEMENTS ;用于存放集合元素
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 甘肃省 天水市 全国 计算机等级考试 C+ 语言程序设计 答案
限制150内