2022年安徽省亳州市全国计算机等级考试C++语言程序设计预测试题(含答案).docx
《2022年安徽省亳州市全国计算机等级考试C++语言程序设计预测试题(含答案).docx》由会员分享,可在线阅读,更多相关《2022年安徽省亳州市全国计算机等级考试C++语言程序设计预测试题(含答案).docx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年安徽省亳州市全国计算机等级考试C+语言程序设计预测试题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1 .下列函数中,()是对文件进行写操作的。A.get B.read C.seekg D.put2 .设有关键码序列(Q, G, M, Z, A, N, B, P, X, H, Y, S, T,L, K, E),采用堆排序法进行排序,经过初始建堆后关键码值A在序列中的序号是()0A.1 B.4C.8 D.123 .下列关于栈的描述中错误的是()A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针4 .对于拷贝构造函数和赋
2、值操作的关系,正确的是A.拷贝构造函数和赋值操作是完全一样的操作B.进行赋值操作时,会调用类的构造函数C.当调用拷贝构造函数时,类的对象正在被建立并被初始化D.拷贝构造函数和赋值操作不能在同一个类中被同时定义5.执行语句序列pd- f(a) 33 .有如下的程序:#include #include using namespace std;int main() char s25=nProgramming language;ofstream fl(DATA.TXTn);fl s;f2.close();cout s;return 0;)执行上面的程序交输出【】。34 .某二叉树中度为2的结点有12个
3、,则该二叉树中有 个叶子结点。35 .以下程序运行后的输出结果是【】。#include #include using namespace std;class Y;class X iht x;char *strx;public:X(int a,char *str) ( x=a;strx=new charstrlen(str)+l; strcpy(strx,str);)void show(Y &ob););class Y ( private: ihty; char *stry; public:Y(int b,char *str) ( y 二 b;stry=new charstrlen(str)+
4、1; strcpy(stry, str);)friend void X:show(Y &ob); );void X:show(Y &ob) (cout strx cout ob.stry endl; int main() (X a(10/stringXM); Yb(20,nstringYn); a.show(b); return 0;四、程序改错题(10题)36 .使用VC+ + 6 .0打开考生文件夹下的源程序文件1 .cppo本程序要 求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输 入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕 中。注意:不要改动mai
5、n函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#includevoidmain(inti=O ;charstr120;coutnEnterastringendwith? . nendl ;errorcin . getline(str, 120);*17 k.jrT* rr*error while(str)kI *1 *1 k1kI*kI* *.! 7,个个个个个个个个个个个个*t*个个个if(stri)=a)stri=stri-a + A ;i+ + ;)coutstrendl ;return ;)37 .使用VC+ +6 . 0打开考生
6、文件夹下的源程序文件1 . cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现 的功能为从键盘输入一个字符串,并将结果保存到文件1 . txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在* * * * * * error* * * * * * _试题程序:#include#include个个个个个个个个nor个个个个个个个个usingstd ;voidWriteFile(char*s)*1* *X* *J *1 *1* *1 rj*ofstreamoutl ;*.t K.t7 7,error不小小不不不小小 outl . open(nl .
7、 txt, binary|app);for(inti=0 ; si!=0 ; i + +)erroroutl . puts(si);outl . close ; )voidClearFile ofstreamoutl ;outl . open(Hl . txt”);outl . close ; intmain (chars 1024;ClearFile ;coutnpleaseinputastrin9 :nendl ;cin . getline(s, 1024);WriteFile(s);returnO ; 38 .使用VC+ + 6 .0打开考生文件夹下的源程序文件1 .cpp,该程序运 行
8、时有错,请改正其中的错误,使程序正常运行,输出的结果为Constructor, i=0, Destructor注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include(iostream . h)classTC (inti ;public :TC ;voiddisplay ;TC ;TC : TC coutnConstructornn, i=0;TC : display toutni=nin, nendl ;vL* *1* vl#不下不不不不erpor不小下不不不TC : TCCOUInDestructornendl :) voidmainTCa ;a . di
9、splay ;39 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为error0ERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *errc)r*的下面。试题程序:#include 7 7 7,/不不不小不不不不error不不小不不不不不catch(coutnERRORnendl ;)returnO ;40 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp。本程序 要求输入一个字符串,然后将其中的小写字母改
10、成大写字母,字符可 能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出 到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。试题程序:#include voidmain(inti=0;charstr120;coutnEnterastringendwith?. Hendl;cin. getline(str, 120);while(str) if(stri)=a) stri=stri-a+A;i+ + ;)coutstrendl ;return ;41 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,
11、该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为error 0ERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *error*的下面。试题程序:#include不不不不不不不不nor不不不不不个不catch(chars) coutsendl;) try throw(int)0);catch coutiendl;) try throw(O);thro w( error);vl* kL* vf* vl*个个个个不不不小nor小个个个不小个个catch coutnERRORnendl
12、 ;int i=0;while(i25) i+=3;cout classCO (public:/ /小不不不不小不不en*or不不不不小不不不/staticintn=O :CO ( n+ + :) CO ( n:):kI* *j *j *a个个个个个个个个nor个个个个个个个个intCO: n;voidmainCOobj ;COobj27;CO*C=NULL:c二 & obj :7, 7,7 7 7* 7 77 7 7 7” T” 7,7,个个个不不干不个enr小不不不小个个不eoutC . nendl ;coutC0:nendl; )43 .使用VC + +6.0打开考生文件夹下的源程序文件
13、1.cpp,该程序运 行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果 为:sizeof(Sl)=5 sizeof(s2)=10sizeof(s3)=l注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/error的下面。不能删除assert ()语句。(2)只能修改后面的数字。提示:assert函数如果为假,则会产生一个中断异常。试题程序:#include #include voidmain () char*sl=nabcn:*1* *1* kL* rj* rywerror assert(sizeof(s 1 )=3):coutnsizeof(sl
14、)=5nendl ;chars210=nabn:,、,、errorassert(sizeof(s2)=2);coutnsizeof(s2)=10nendl ;chars3=23 :.! 7 7,kJ.! kJ 7” 7,7, 7”不不不不不个不不enr不不个个个个个不assert(sizeof(s3)=4);cout,sizeof(s3)=r,endl ;return ;44 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实 现的功能为从键盘输入一个字符串,并将结果保存到文件1. txt中。注意:不要改动main函数,不能增加或
15、删除行,也不能更改程序的结 构,错误的语句在* error* * 白勺 _j 日 jo试题程序:#include#includekI个个个个个个个个rror不不不不个不不不usingstd;voidWriteFile(char*s) ofstreamout l ;kI# kL*个个个不不不不不个个不不不不不不outl. open(nl. txt, binary|app);for(inti=0; si!=0; i+ +)*J kL*kL个个个个个个个个nor不不不不不不不不outl. puts(si);outl. close;)voidClearFile ofstreamoutl ;outl.
16、open(nl. txt);outl. close;) intmainchars1024;ClearFile;coutnpleaseinputastrin9 :nendl;cin. getline(s, 1024);WriteFile(s);returnO ;45 .使用VC+6. 0打开考生文件夹下的源程序文件L cpp,该程序运行时有错。请改正程序中的错误,使程序输出的结果为1003732注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include voidmainvl*不不不不不不enor不不个个不不intm=0142:intn=0X27 :intq=32;
17、cout m endl;cout n endl ;cout q endl; return ;)五、综合应用题(2题)46 .请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程 proj3,其中声明的DataList类,是一个用于表示数据表的类。DataList 的重载运算符函数Operator+,其功能是求当前数据表与另一个相同长 度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数 据表对应元素之和。请编写这个。perator+函数。程序的正确输出应该 是: 两个数据表:1, 2, 3, 4, 5, 63, 4, 5, 6, 7, 8两个数据表之 和:4, 6, 8, 1
18、0, 12, 14 要求:补充编制的内容写在“ *333* ”与“*666*”之间,不得修改程序 的其他部分。注意:程序最后将结果输出到文件。ut. dat中。输出函数writeToFile 已经编译为。bj文件,并且在本程序中调用。/DataList. h #inClude using namespaCe std;ClaSS DataList数据表类 intfen;double*d; public:DataList(int len, double data=NULL) ; DataList(DataList&data);int lengthConst return len ; double
19、getElement(int i)Constt return di; DataList operator+(Const DataList&list)Const; 两个数据表求和 void showConst;显示数据表);void writeToFile(Char$, Const DataList&) ; /main. Cpp#inCludeDataList. h”DataList: DataList(int len, double data): len(ien) d=newdoublet len;for(int i=0; ilen; i+)d(九)i=(data=NULL?O. 0: dat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 安徽省 亳州市 全国 计算机等级考试 C+ 语言程序设计 预测 试题 答案
限制150内