2022年四川省内江市全国计算机等级考试C++语言程序设计预测试题(含答案).docx
《2022年四川省内江市全国计算机等级考试C++语言程序设计预测试题(含答案).docx》由会员分享,可在线阅读,更多相关《2022年四川省内江市全国计算机等级考试C++语言程序设计预测试题(含答案).docx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年四川省内江市全国计算机等级考试C+语言程序设计预测试题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1.下列关于C+语言类的描述中错误的是A.类用于描述事物的属性和对事物的操作B.类与类之间通过封装而具有明确的独立性C.类与类之间必须是平等的关系,而不能组成层次结构D.类与类之间可以通过一些方法进行通信和联络2 .在结构化方法中,软件开发阶段用数据流程图(DFD .作为描述工具的是()。A.需求分析B.详细设计C.程序编码D.可行性分析3 .对于下面的程序 ifstream fin(c :test.txt) ;if(fin) cout ok ; else cout 、!
2、7,个个个*t*不不个下nor个个个个个个个个outl. open(nl. txtn,binary|app);for(inti=0; si!=0; i+)kL# kL* vt*个个个个个个个个rror个个个个个个个个outl. puts(si);outl. close;)voidClearFile(ofstreamoutl ;outl. open(nl. txt);outl. close;) intmain(chars 1024;ClearFile;coutnpleaseinputastrin9 :nendl ;cin. getline(s, 1024);WriteFile(s);return
3、O;cpp,该程序运修改该语句即37.使用VC+ +6 .0打开考生文件夹下的源程序文件1.行时有错误,请改正程序中的错误,使得程序输出:9, 8, 7, 6, 5注意:错误的语句在/ *error* /的下面,可。其他的语句不能修改。试题程序:#include(iostream . h classTC*1个个个个个个个个个个个个个个个小TC(inti) m_i=i ;) voidprint coutm_i, public :intm i ;intmain inti ;TC04(10);while(i5)(不不不不不不不不rr()r不不不不不不不不i+ + :04 . print ;)cout
4、endl ;returnO ;)38 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp。本程序 要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可 能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出 到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#include voidmain(inti=O ;charstr120;coutnEnterastringendwith?. nendl;/vL*vL*vL* *1*/不不不不不不下下error下不不不少不不不cin. getli
5、ne(str, 120);/不不不小个不不不error小不小不不不不不while(str)(/ 7 7 7 7,7 7 77 7,7,7 7 7 7 7,/不不不小不不不不error不不小不不不不不if(stri)=a)stri=stri-a+A;i + +;)coutstrendl ;return; )39 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为error0ERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ /
6、 *enor*的下面。试题程序:#includeiostream. h)intmain(trythrow(nerrorn);I i *error*catch(chars) coutsendl; try throw(int)0);I i *error*catch(coutiendl ; try throw(O);throw(nerrorn);I i *eiror*catch (coutERRORendhreturnO ;40 .使用VC + + 6 . 0打开考生文件夹下的源程序文件1,cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现 的功能为从键盘输入一个字符串,并将结果保存到文
7、件1 . txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#include#include/ / *error*usingstd ;voidWriteFile(char*s)(ofstreamoutl ;/ / *error*outl . open(nl . txtn, binary|app);for(inti=0 ; si!=0 ; i+ +)(I I *eiror*outl . puts(si);)outl . close ;)voidClearFile ofstreamoutl ;outl . open(
8、nl .txt);outl . close ;) intmain (chars 1024;ClearFile ;coutnpleaseinputastrin9 :nendl ;cin . getline(s, 1024);WriteFile(s);returnO ; )41 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序 运行时有错误,请改正错误,使程序正常运行,并且要求最后一个 catch必须抛出执行的任何异常。程序异常,输出信息为error OERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。试
9、题程序:#include k! k1 k! kI个个个个个个不不nor不不不不不不不不catch(chars) (coutsendl;) try(throw(int)0);)/ 7, 7,7 7,7” 7,/个个个干不不不不error不小小不不不小小catch(coutiendl;) try (throw(O);throw(H error);kI*kL*kI vl* kL*个个个个个个个个rror不不不不不不不不catch (coutHERRORnendl ;)returnO ;42 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,该程序运行有问题,请改正main函数中的错误,使程
10、序的输出结果为: number=lnumber= 10number= 100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/ / *errc)r*的下面。试题程序:#includeclassTC (public:TC(inti) (number=i;)voidSetNumber(intm)(number=m;)intGetNumberconst(returnnumber;)voidPrintconst (coutn number=n numberendl ;)private:intnumber;voidmain个个个个个个个个个个个个个个个TCobjl;obj
11、l. Print;TCobj2(3);7,7,7,k,1 7“ 7,、! 7,个个个*t*不不个下个个个个个个个个objl. number=10;/ ! * enor* * *TC. SetNumber(lOO);objl. Print;obj2. Print; )43 .使用VC + +6.0打开考生文件夹下的源程序文件1.cpp,该程序运 行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果 为:sizeof(Sl)=5sizeof(s2)=10sizeof(s3)=l注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面
12、。不能删除assert ()语句。只能修改后面的数字。提示:assert函数如果为假,则会产生一个中断异常。试题程序:#includeB.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地 方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline定义5,执行语句序列 ofstream outfite(data.dat) ;if(.)cout ok ;else cout fail;后,如果文件打开成功,显示“ok”,否则显示“fail”。由 此可知,上面if语句的“”处的表达式是。或 outfileB .outfile.good。或! outfile。或 o
13、utfile。或!outfile6 .已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的 算法是()A.堆排序B.直接插入排序C.快速排序D.直接选择排序7 .在C语言中,退格符是A.nB.tC.fD.b8 . 一个函数无返回值时,应选择的函数类型是 oA.void B.int C.不确定 D.float#include voidmain () char*sl=nabcn:个个个个个个个个nor个个个个个个个个assert(sizeof(s 1 )=3): coutnsizeof(sl)=5nendl ;chars210=nabn:,、,、errorassert(sizeof(s2)
14、=2);coutnsizeof(s2)=10nendl ;chars3=23 :si*rerrorassert(sizeof(s3)=4);coutnsizeof(s3)=r,endl ;return ; )44 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,但该程序运行有问题,请改正main函数中的错误,使该程序的输出结果正确。程序输出:88注意:错误的语句在/ *eiror* /的下面。修改该语句即可,其他的语句不能修改。试题程序:#include(iostream. h classCO public:7* 7,一女,女,不个个不不不个个个个个个个个个staticintn=O
15、:CO n+ + :CO n:1* *1* *1*不不不不不不不不en*01不不不不不不不不intCO: n;voidmainCOobj ;COobj27;COCNULL:c= & obj :-1*不不小不不不不个nor个个个个个个个个eoutC . nendl ;coutCO: nendl; )45 .使用VC+ + 6 .0打开考生文件夹下的源程序文件1 .cpp。本程序要 求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输 入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕 中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在
16、/ / *error*的下面。试题程序:#include voidmain(inti=O ;charstr120;coutnEnterastringendwith? . nendl ; /vl*vl* 1*/不不不不不不不不eiror不不不不,不不不cin . getline(str, 120);/不不不不不不不不error不不不不不不不不whilc(str) (/不不不不不不不不error不小不不不不不不if(stri)=a)stri=stri-a + A ;i+ + ;coutstrendl ;return ; 五、综合应用题(2题)46.使用VC+6. 0打开源程序文件3. cpp。其中
17、类TC用于把文件 输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的 大小是文件的前一半,另外一个文件的大小是剩余部分。此程序将 in. txt文件中的内容输出到屏幕,并且将文件按照以上方式分割,存于文件outl. txt和out2. txt 中。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完 整。从输入文件中获得一个字符,并判断是否到文件结尾,如果到文件结尾,则退出循环。请在注释1后添加适当的语句。(2)把获得的输入文件的内容存储到bur中,并且用len记录下文件的长度。请在注释2后添加适当的语句。将输入文件的后一半内容存储在第二个文件中,请在注释3后添加适当的语句。(
18、4)使用文件流对象打开输入文件in. txt,请在注释4后添加适当的语句。注意:增加代码或者修改代码的位置已经用符号表示出来。请不要修 改其他的程序代码。试题程序:#include#include #include/9 rj* rr*rj* rT* rTw)infile. close;)voidsplit(fstreamoutfilel ;fstreamoutfile2;outfilel. open(noutl. txt, ios: out);outfile2. open(nout2. txt, ios: out);inti=0:for(i=0; ilen / 2; i+) (outfilel
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 四川省 内江市 全国 计算机等级考试 C+ 语言程序设计 预测 试题 答案
限制150内