2021年山西省太原市全国计算机等级考试C++语言程序设计预测试题(含答案).docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2021年山西省太原市全国计算机等级考试C++语言程序设计预测试题(含答案).docx》由会员分享,可在线阅读,更多相关《2021年山西省太原市全国计算机等级考试C++语言程序设计预测试题(含答案).docx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2021年山西省太原市全国计算机等级考试C+语言程序设计预测试题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1 .以下程序段是函数返回a所指数组中最大的值所在的下标值,横线处 的语句为()。 fun(int*a, int n) int i,j=0,k; k=j; for(i=j;i ak); return(k); A.k=i B.k=j C.i=j D.i=n2 .阅读以下程序,写出程序运行后的输出结果是 o include voidmain() chara=H, e, 1, 1, o, 0 ; inti, j ; i=sizeof(a)/sizeof(char); j=strl
2、en(a) cout i 6 5 j;A.6 6B.5 6C.1 5D.6 53 .有以下程序: #include using namespace std; class CSample private: int i; public: CSample ( ); CSample( int val ); void Display(); CSample (); ; CSample: CSample () cout Cl; i =4 ; CSample: :CSample( int val ) cout C2; i = val; void CSample: :Display() cout i CSamp
3、le:CSample () cout D; int main () CSample a, b( 10 ); return 0; )执行后的输出结 果为()。A.C1C2DD B.DDC1C2 C.C2C1DD D.C1DC2D 4.在关系数据库中,用来表示实体之间联系的是A.树结构B.网结构C.线性表D.二维表);其中构造函数MyClass用的值初始化数据成员no因此在模板类体外, 构造函数MyClass应定义。31 . C+中的多态分为运行时的多态性及【】时的多态性。32 .某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树 中共有 个结点33 .软件生命周期包括八个阶段。为使各时期
4、的任务更明确,又可以分 为以下三个时期:软件定义期,软件开发期,软件维护期。编码和测试 属于【】期。34 .所谓数据封装就是将一组数据和与这组数据有关操作组装在一起, 形成一个实体,这实体也就是【o35 .如果要把返回值为void的函数A声明为类B的友元函数,则应在 类B的定义中加入的语句是。四、程序改错题(10题)36 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序 运行有问题,请改正main函数中的错误,使程序的输出结果为:number=l number=10 number=100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/ /
5、*error*的下面。试题程序:#includeclassTC (public :TC(inti) (number=i;)voidSetNumber(intm)(number=m;)intGetNumberconst(returnnumber;)voidPrintconst (coutnnumber=nnumberendl;)private:intnumber;;voidmain (/不不不不小个不小error不小不个不不不不TCobjl;objl. Print;TCobj2(3);7,7,7,7,7, 个个个个个个不个个个个个个个个个objl. number=10;1 I *0*TC. Se
6、tNumber(lOO);objl. Print;obj2. Print;cpp,该程序运修改该语句即37 .使用VC+ +6 .0打开考生文件夹下的源程序文件1 .行时有错误,请改正程序中的错误,使得程序输出:9, 8, 7, 6, 5注意:错误的语句在/ *error* /的下面,可。其他的语句不能修改。试题程序:#include(iostream . h classTC7“ 7,7个不不不不个不不不不不不不不不不TC(inti) m i=i ;voidprint(coutm_i,;)public :intm i ;);intmain(不不不不不不不不en*or不不不不不不不不inti ;
7、TC04(10);while(i5)(/5!if 1 si*kJ kI 1 kY不不不不不不不不prr()r不不不不不不不不i+ + :04 . print ; coutendl ;returnO ;38 .使用VC+6.。打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改止其中的错误,使程序止常运行,输出的结果为Constructor, i=0,Destructor注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include(iostream. h) classTC inti;public:TC;voiddisplay;TC;不不不不不不erpor不
8、不不不不不TC: TC coutnConstructornn, i=0;7,7, 不不不小不不error不不不不小小TC: display toutni=nin, nendl;TC: TCCOUInDestructornendl :voidmainTCa;a. display;39 .使用VC+6. 0打开考生文件夹下的源程序文件 1. cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为从键盘输入一个字符串,并将结果保存到文件1.txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在* eiror* * - 自 j试题程序:#inclu
9、de#include个个个个个个个个个个个个个个个个usingstd;voidWriteFile(char*s) ofstreamoutl ;个小个个个个不个nor个个个个个小个个outl. open(nl. txt, binary|app);for(inti=0; si!=0; i+ +)7,个个个个个个个个个个个个个个个个outl. puts(si);outl. close;voidClearFile ofstreamoutl ;outl. open(nl. txt);outl. close;intmain chars 1024;ClearFile;coutnpleaseinputastr
10、in9 :nendl ;cin. getline(s, 1024);WriteFile(s);returnO ;40.使用VC+ +6.0打开考生文件夹下的源程序文件 1 . cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为从键盘输入一个字符串,并将结果保存到文件1.txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在* error* * * * * * 的下面。试题程序:#include#include usingstd ;voidWriteFile(char s) (ofstreamoutl ;rrw rr rrerror out
11、l . open(nl . txt, binary|app);for(inti=0 ; si!=0 ; i + +)!rj. rT*rT*error outl . puts(si); )outl . close ;voidClearFile(ofstreamoutl ;outl . open(nl .txt);outl . close ;)intmainClearFile ;coutnpleaseinputastrin9 :!endl ;cin . getline(s, 1024);WriteFile(s);returnO ;)41 .使用VC + +6 .0打开考生文件夹下的源程序文件1 .
12、cpp,该程序运 行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果 为:sizeof(Sl)=5sizeof(s2)=10sizeof(s3)=l注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/error,J、.卜的下面。不能删除assert ()语句。(2)只能修改后面的数字。提示:assert函数如果为假,则会产生一个中断异常。试题程序:#include #include voidmain () char*sl=nabcn:个个个个个个个个个个个个个个个个assert(sizeof(s 1 )=3): coutnsizeof(sl)=5nen
13、dl ;chars210=nabn:kX*个不不不不不不不nor不不不不不不不不assert(sizeof(s2)=2);coutnsizeof(s2)=10nendl ;chars3=23 :、彳、error*1* *L*、,assert(sizeof(s3)=4);coutnsizeof(s3)=lnendl ;return ; )42.使用VC+ +6 .0打开考生文件夹下的源程序文件1 .cpp。本程序要 求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输 入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕 中。注意:不要改动main函数,不能增加或删除行,
14、也不能更改程序的结构,错误的语句在/errorJ、-卜的下面Q试题程序:#include voidmain inti=0 ;5,下列程序的输出结果是 o #include voidmain() int a=l, 2, 3, 4, 5, 6, *p, *q ; p=a; q=&p; cout *(p+); cout *q kJkI、!kJ不不小不小不en*or不不不不不不TC : TCCOUInDestructornendl :) voidmainTCa ;a . display ;44 .使用VC+6.。打开考生文件夹下的源程序文件1.cpp,该程序 运行时有错。请改正程序中的错误,使程序输出
15、的结果为1003732注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include voidmain intm=0142:intn=0X27:intq=32;cout mendl;cout n endl ;cout qendl;return ;45 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp。本程序 要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出 到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题
16、程序:#include voidmain inti=O;charstr120;coutnEnterastringendwith?Hendl;*1 kL* *i* *J kL*不不不不不不不不nor个个个*个个个个cin. getline(str, 120);kJ* *1* 1*vl* kJ* 1* *1* *1* vt*不不不不不不不不rror个个个*个个个个while(str)Kt* vt*kL*不不不不不不不个error个个不个个个小小stri=stri-a+A;i+ + ;coutstrendl ;return ;五、综合应用题(2题)46 .应添加“BA(intm)a=m ;(2)应添
17、力rPAKintm, intn) :BA(n)b=m ;应添力 H“PA2(intm, intn, intk) :PAl(n, k)C=m ;(4)应添力【解析】根据第1处要求,构造函数的函数名和类名一致,显然BA构 造函数的名称为BA,在BA中通过参数m完成对成员变量a的赋值, 因此构造函数的名称为BA(intm),在函数内部对成员a赋值,故第1处 的语句应添加“BA(intm)a=m ;)根据第2处的要求,构造函数的形式 为“PAl(intm, intn)”,m赋值给PA1类成员b,将n作为基类BA构造函 数的参数值传入,故第2处应添力TPAl(iiitm, intn) :BA(n)b=m
18、 ; ”。 根据第3处的要求,函数形式为PA2(intm, intn, intk),在构造函数中 将m赋值给数据成员c,将n和k分别赋值给基类PA1构造函数的参 数 m 和 n,因此第 3 处应添力PA2(intm, intn, intk) :PAl(n, k)C=m ;”。 根据第4处的要求,PA2类公有派生于PAI,而PA1公有派生于BA, 因此在PA2类中可以调用基类的geta和getb来获得基类私有成员a和 b,再输出PA2的私有成员C即满足要求,因此第4处应添加 ttcoutgetagetb,Cendl ; 5,o47 .请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程
19、proj3,其中声明的DataList类,是一个用于表示数据表的类。DataList 的重载运算符函数Operator+,其功能是求当前数据表与另一个相同长 度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数 据表对应元素之和。请编写这个operator函数。程序的正确输出应该 是:两个数据表:1, 2, 3, 4, 5, 63, 4, 5, 6, 7, 8两个数据表之 和:4, 6, 8, 10, 12, 14 要求:补充编制的内容写在“/*333*与“*666*之间,不得修改程序的其他部分。注意:程序最后将结果输出到文件。ut. dat中。输出函数writeToFile 已经编译
20、为。bj文件,并且在本程序中调用。/DataList. h #inClude using namespaCe std;ClaSS DataList数据表类 intfen ;double*d; public:DataList(int len, double data=NULL) ; DataList(DataList&data);int lengthConstreturn len; double getElement(int i)Constt return di; DataList operator+(Const DataList&list)Const;两个数据表求和 void showCons
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2021 山西省 太原市 全国 计算机等级考试 C+ 语言程序设计 预测 试题 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内