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(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2021年四川省广安市全国计算机等级考试C+语言程序设计真题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1 .关于continue语句叙述不正确的是()oA.continue语句用于循环体中,结束循环B.continue语句用于循环体中,它使执行流跳出循环体中尚未执行的语 句,并进行下一循环判断C.continue可以用于if语句中D.continue语句不能代替break语句2 .在数据流图中,。(椭圆)代表 oA.源点B.终点C.加工D.模块3 .软件维护指的是()。A.对软件的改正、适应和完善B.维护正常运行C.配置新软件D.软件 开发期的一个阶段4 .不属于结构化程序设计
2、方法主要原则的是()。A.自顶向下B.自底向上C.模块化D.限制使用goto语句5 .设二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总 的结点数为()。38 .使用VC+6. 0打开考生文件夹下的源程序文件L epp,该程序运行时有 错,请改正其中的错误,使程序正常运行,输出的结果为 Constructor, i=0, Destructor注意:错误的语句在/ / *error*的下面,修改该语句即可。 试题程序: ftinclude(iostream, h) classTC inti; public: TC; voiddisplay; TC; / / *errc)r*TC: TC
3、 cout /zCons true tor/z,z, i=0; / / *error*TC: display tout/i=/i/, /zendl; / / *error*TC: TCCOUIz/Destructorz/endl : voidmainTCa;a.display;39 .使用VC + + 6 .。打开考生文件夹下的源程序文件1 .cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为从键盘输入 一个字符串,并将结果保存到文件1 . txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在| / *errc)r*的下面 试题程序:#
4、include#includeI I *error*usingstd ;voidWriteFile(char*s)(ofstreamoutl ;I / *error*outl . open(l . txt, binary|app);for(inti=0 ; si!=0 ; i + +)(I/ *error*outl . puts(si);)outl . close ;)voidClearFile(ofstreamoutl ;outl . open(l . txt);outl . close ;)intmain(chars1024;ClearFile ;coutpleaseinputastrin
5、9 : endl ;cin . getline(s, 1024);WriteFile(s);returnO ; )40.使用VC + + 6 . 0打开考生文件夹下的源程序文件1 . cpp,该程序运行有问题,请改正 main函数中的错误,使程序的输出结果为: number=lnumber=10number=100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/ / *error*的下面。试题程序:#includeclassTCpublic : TC(inti) number二i ;)voidSetNumber(intm)(number=m ;)intGetN
6、umberconst(returnnumber ;)voidPrintconst(coutnumber=numberendl ;)private :intnumber ;);voidmainTCobjl ;objl . Print ;TCobj2(3);/ / *error* objl . number=10 ; / / *errc)r*%o*TC . SetNumber(lOO); objl . Print ; obj2 . Print ; ) 41 .使用VC+6. 0打开考生文件夹下的源程序文件L cpp,该程序运行时有 错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛
7、出执行 的任何异常。程序异常,输出信息为error0ERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误 的语句在/ / *errc)r*的下面。试题程序:#includeiostream, h) intmain try(throw(error);/ / *error*catch(chars)( coutsendl;) try(throw(int)0);/ / *error* catch coutiendl;) trythrow (0);throw(error);/ / *error* catch (cout/ERR0R/endl ;)returnO;42 .使用
8、VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能 为从键盘输入一个字符串,并将结果保存到文件1.txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误 的语句在/ / *errc)r*的下面。试题程序:#include#include/ / *error*usingstd;voidWriteFile(charts)ofstreamoutl;/ / *error*outl. open(l txt, binary|app);for (inti=0; si !=0; i + +)/ / *error*ou
9、tl. puts(si);outl. close;)voidClearFile(ofstreamoutl;outl. open(/zl. txt);outl. close;intmain(chars1024;ClearFile;cout/zpleaseinputastrin9: endl;cin. getline(s, 1024);WriteFile(s);returnO;43 .使用VC + + 6 . 0打开考生文件夹下的源程序文件1 . cpp,该程序运行时有错,请改正 其中的错误,使程序正常运行,并使程序输出的结果为:sizeof(Sl)=5sizeof(s2)=10sizeof(s3
10、)=l注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ *errc)r*的下面。不能删除assert ()语句。只能修改后面的数字。提示:assert函数如果为假,则会产生一个中断异常。试题程序:#include#includevoidmain ()(char*sl=abc:/ / *error*assert(sizeof(sl)=3):coutsizeof(sl)=5endl ;chars210=ab:I I *error*assert(sizeof(s2)=2);coutsizeof(s2)=10endl ;chars3=23 :I I *error*as
11、sert(sizeof(s3)=4);coutsizeof(s3)=lendl ;return ;)44 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp。本程序要求输入 一个字符串,然后将其中的小写字母改成大写字母,字符可能输入多行,当输 入字符“?”时,默认字符输入结束,最后把结果输出到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误 的语句在/ / *error*的下面。试题程序:#includevoidmain(inti=0;charstr120;cout/zEnterastringendwith?. endl ;/ / *error*cin
12、. getline(str, 120);/ / *error*while (str)/ / *error*if(stri)=a)str i=str i-a.+A;i + + ;coutstrendl;return;45 .使用VC + + 6.0打开考生文件夹下的源程序文件1 . cpp,该程序运行时有错,请改正 其中的错误,使程序正常运行,输出的结果为 Constructor, i=0,Destructor 注意:错误的语句在/ / *error*的下面,修改该语句即可。 试题程序:#include(iostream . h) classTC( inti ; public : TC ; vo
13、iddisplay ; TC ; ); / / *errc)r*TC : TC ( coutConstructor,; i=0 ;)/ / *error*TC : display ( touti=i, endl ; )/ / *errc)r*TC : TC (COUIDestructorendl :) voidmain (TCa ; a display ; 五、综合应用题(2题)46 .应添加 “virtualvoidGetNamt!=0 ;应添加 “constchar*GetName2 o应添加 uTC2(char*str) o应添加 um_stri=O ; M o【解析】本题第1处要求“在
14、类TC1中定义接口函数GetName,为纯虚函数。在C+ + 中,在基类中用virtual声明成员函数为虚函数。纯虚函数是在声明虚函数时被“初始化” 为0的函数,即“virtualvoidGetName=0 ; 。第2处要求“函数GetName2实现获得名字 的缓存,但只获得读允许操作这个缓存”。只能引用数据成员,而不能修改,所以使用常成 员函数,其一般形式为“const函数类型函数名,即“constchar*GetName2。第3处要 求“实现TC2的构造函数”。TC2的构造函数与类TC2的名称应该相同,而且第3处的大 括弧中是对字符数组str的操作,所以类TC2的构造函数中的参数为str,
15、即这里补全为HTC2(char*str)Mo第4处要求“完成TC2的构造函数,实现对名字的处理”,补全类TC2 的构造函数,构造函数中的名字变量str对应于类TC中的成员变量m_str,所以这里补全变 量赋值操作um_stri=0 ; M o47 .请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其 中声明的DataList类,是一个用于表示数据表的类。DataList的重载运算符 函数Operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即 它返回一个数据表,其每个元素等于相应两个数据表对应元素之和。请编写这 个operator+函数。程序的正确输出
16、应该是:两个数据表:1, 2, 3, 4, 5, 6 3, 4, 5, 6, 7, 8两个数据表之和:4, 6, 8, 10, 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); Dat
17、aList(DataList&data);int lengthConstreturn len; )double getElement (int i)Constt return di; DataList operator+ (Const DataList& list) Const; 两个数据表求和 void showConst; 显示数据表);void writeToFile(Char$, Const DataList&); /main. Cpp ftinClude DataList. hDataList: : DataList (int len, double data): len(ien)
18、d=new doublelen;for(int i=0; ilen; i+)dWi = (data=NULL?0. 0: datai);DataList: : DataList (DataList&data): len (data, len) d=new doublelen; for(int i=0; ilen; i+) di=data. di;DataList DataList: : Operator+ (Con8t DataList&list, )Const两个数据 表求和 double*dd=new doublelist. lensth; *333* /*666*return DataL
19、ist(list, length, dd); )void DataList: : showConst 显示数据表 fr (into i=0; ilen-l; i+) eoutdiv ,;Coutdlen-1endl;int main double si = L 2, 3, 4, 5, 6;double s2 = 3, 4, 5, 6, 7, 8;DataList listl (6, si), list2 (6, s2); 定义两个数据表对象 eout”两 个数据表:” endl: listl. show: list2. show; eoutendl 两个数据表之和:”endl: (listl+
20、list2), show; writeToFile(v “ ,listl+list2); return 0:六、3.综合应用题(2题)48.使用VC6打开考生文件夹下的工程testl5_3。此工程包含一个testl5_3.cpp,其中定义 了类Time和Timex, Timex公有继承Time,但定义并不完整。请按要求完成下列操作,将 程序补充完整。完成类Time构造函数的定义,将数据成员hours和minutes分别初始化为参数new.hours 和newjninutes的值。请在注释7/*1*”之后添加适当的语句。完成类Timex的构造函数的定义,注意参数的传递。请在注释“*2*”之后添加
21、适当的 语句。请按时间格式“hour minute和hour :minute :secondn分别输出对象timel和time2 所表示的时间,注意必须使用已经定义的成员函数。请在注释“*3*”之后添加适当的语 句。输出结果如下:20 : 3010 : 45 : 34注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。源程序文件testl5_3.cpp清单如下:#include class Time public :Time(int new hours, int new_minutes) *1*)int get_hours();int get_minutes();protected :
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2021 四川省 广安市 全国 计算机等级考试 C+ 语言程序设计 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内