2021年安徽省阜阳市全国计算机等级考试C++语言程序设计预测试题(含答案).docx
《2021年安徽省阜阳市全国计算机等级考试C++语言程序设计预测试题(含答案).docx》由会员分享,可在线阅读,更多相关《2021年安徽省阜阳市全国计算机等级考试C++语言程序设计预测试题(含答案).docx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2021年安徽省阜阳市全国计算机等级考试C+语言程序设计预测试题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1 .已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则A.FA必须定义在FB之前B.FB必须定义在FA之前C.若FA定义在FB之后,则FA的原型必须出现在FB的定义之前D.若FB定义在FA之后,则FB的原型必须出现在FA的定义之前2 .如果有语句int a=3,*p=&a ;,贝lj*p的值是()。A.变量a的地址值B.无意义C.变量p的地址值D.33 .以下不属于对象的基本特点的是()A.分类性B.多态性C.继承性D.封装性4 .最简单的交换排序方法是()。A
2、.快速排序B.选择排序C.堆排序D.冒泡排序5 .在 情况下适宜采用inline定义内联函数。A.函数体含有循环语句B.函数体含有递归语句C.函数代码少、频繁调用D.函数代码多、不常调用37,使用VC+ +6 . 0打开考生文件夹下的源程序文件 1 . cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为从键盘输入一个字符串,并将结果保存到文件1.txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在* * 自勺 试题程序:#include#includevt*vL*vL*个个个不不不不不不不不不不个不usingstd ;voidWrit
3、eFile(char*s) ofstreamoutl ;KLKE个个个个个个个个rror个个个个个个个个outl . open(nl . txt, binary|app);for(inti=0 ; si!=0 ; i + +)个个个个个个个个nor个个个个个个个个outl . puts(si);outl . close ;)voidClearFile ofstreamoutl ;outl . open(Hl . txt);outl . close ;)intmain(chars 1024;ClearFile ;coutnpleaseinputastrin9 :nendl ;cin . getl
4、ine(s, 1024);WriteFile(s);returnO ;)38.使用VC+6. 0打开考生文件夹下的源程序文件 1. cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为从键盘输入一个字符串,并将结果保存到文件1. txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在* error* * 日 j。试题程序:#include#include usingstd;voidWriteFile(char*s) ofstreamoutl ;vl* kI*vl*个个个个个个个个个个个*个个个个outl. open(nl. txt”, b
5、inary|app);for(inti=0; si!=0; i+) 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);returnO ;39.使用VC+ +6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为 Constru
6、ctor, i=0,Destructor注意:错误的语句在/ / *errc)r*的下面,修改该语句即可。 试题程序:#include(iostream . h) classTC ( inti ;public :TC ;voiddisplay ;-TC ; );I I *eir()r*TC : TC (coutConstructor,;i=0; )I I *enx)r*TC : display (toutni=nin, Hendl ; )I I *enx)r*TC : TCCOUInDestructornendl :) voidmainTCa ;a . display ;40.使用VC+6.
7、0打开考生文件夹下的源程序文件1.cpp,但该程序运行有问题,请改正main函数中的错误,使该程序的输出结果正 确。程序输出:注意:错误的语句在/ *error* /的下面。修改该语句即可,其他的语句不能修改。试题程序:#include(iostream. h classCO public:个个个个个个个个个个个个个个个个staticintn=O:CO n+ + :co:* error* * intCO: n;voidmainCOobj ;COobj27;CO*C 二 NULL:c= & obj :I * error* * * * * * * * / eoutC . nendl ;coutC0
8、: nendl;41.使用VC+ +6 .0打开考生文件夹下的源程序文件1cpp,该程序运 行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果 为:sizeof(Sl)=5 sizeof(s2)=10 sizeof(s3)=l注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *errc)r*的下面。不能删除assert ()语句。(2)只能修改后面的数字。提示:assert函数如果为假,则会产生一个中断异常。试题程序:#include#includevoidmain ()(chartsl=nabcn:/不不不不不不不不error不小不不不不不不
9、assert(sizeof(s 1 )=3):coutnsizeof(sl)=5nendl ;chars210=ab:/不不不不不不不不error不不不不不不不不assert(sizeof(s2)=2);coutnsizeof(s2)=10nendl ;chars3=23 :/不不不不不不不不error不小不不不不不小assert(sizeof(s3)=4);coutnsizeof(s3)=r,endl ;return ;)42 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp。本程序要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可 能输入多行,当输入字符“?”时,默认字
10、符输入结束,最后把结果输出 到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#include voidmain inti=O ;charstr120;coutnEnterastringendwith?. nendl;vl* vt* kT*1*不个个个个个个个不不小个个cin. getline(str, 120);2*个个个个个个个个rror个个个个个个个个while(str)k!K.tk!K.f个个个个个个个个nor个个个个个个个if(stri)=a)stri=stri-a+A;i+ + ;return ; )
11、43 .使用VC+ +6 .0打开考生文件夹下的源程序文件1 .cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:number= 1number= 10number= 100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/ / *error*的下面。试题程序:#includeclassTC (public :TC(inti) (number=i ;)voidSetNumber(intm)(number=m ;)intGetNumberconst(returnnumber ;)voidPrintconst coutnnumber=nnum
12、berendl ;)private :intnumber ;voidmainrT* rT*k! .! kJ、! k,I error不不不不不不不不TCobjl ;objl . Print ;TCobj2(3);vl* k! k!k! k1 kL* kL*k! k! k *1k1 k! kJ个个个个个个个个rror不不不不不不不个objl . number=10 ;I !* enor* * *TC . SetNumber(lOO);objl . Print ;obj2 . Print ;44 .使用VC+ +6 .0打开考生文件夹下的源程序文件1 .cpp。本程序要 求输入一个字符串,然后将其中
13、的小写字母改成大写字母,字符可能输 入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕 中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。6.下面程序的输出结果是()。#include #include void main() char pl10 , p210 ; strcpy(pl , abc); strcpy(p2, ABC) ; charsty50=xyz ; strcpy(str+2, strcat(p 1, p2); cout str ; A.xyzabcABC B.zabcABC C.xyabcAB
14、C D.yzabcABC7 .有下列的程序:#include #include using namespace std ;class MyStringpublic :MyString(constcharts) ; MyString()deletedata;protected :unsigned len ;char*data ;MyString:MyString(const charts)len=strlen(s);data=new charlen+l) ;strcpy(data,s) ;intmain()MyStringa(nC+Programingn);MyString b(a) ;retu
15、rn 0 ;在运行上面的程序时出错,出错的原因是()o A.构造函数的实参不允许是本类的对象8 .没有定义实现深层复制(深拷贝)的复制构造函数C.构造对象a时实参与形参类型不符D.系统不能生成默认的复制构造函数8.下列程序段循环()次。int x=-10;while(+x) A.9B.10C.11 D.无限试题程序:#includevoidmain(inti=O ;charstr120;coutnEnterastringendwith? . nendl ;cin . getline(str, 120);while(str) (I / 1*|C erroif(stri)=a) stri=stri
16、-a + A ;i + + ; ) coutstrendl ;return ;45.使用VC+ + 6 .0打开考生文件夹下的源程序文件1 .cpp,该程序运 行时有错误,请改正程序中的错误,使得程序输出:9, 8, 7, 6, 5注意:错误的语句在/ *error* /的下面,修改该语句即可。其他的语句不能修改。试题程序:#include(iostream . h classTC5)! * *enr* * * / i+ + :04 . print ;)coutendl ;returnO ;五、综合应用题(2题)46 .使用VC+6. 0打开考生文件夹下的源程序文件3. cpp,其中定 义了用
17、于表示矩形的CRect类,但类CRect的定义并不完整。请按要 求完成下列操作,将类CRect的定义补充完整。(1)定义私有数据成员 leftPoint topPoint rightPoint bottomPoint,分 别用于表示矩形左上角及右下角的点的坐标,它们都是double型的数 据。请在注释1之后添加适当的语句。完成默认构造函数CRect的定义,指定默认实参为0,它们都是 double型的数据。请在注释2之后添加适当的语句。定义函数体为空的析构函数。请在注释3之后添加适当的语句。(4)在main函数中定义GReet类的实例rect2,并把recti 的值赋给rect2。请在注释4之后
18、添加适当的语句。注意:除在指定位置添加语句之外,不要改动程序中的其他内容。试题程序:#includeclassCRect (private: / /I public:/7,77 7 7/J/ 1* *1* 1* 1* / 、voidSetPoints(double,double,double,double);voidSetLeftPoint(doublem) leftPoint=m ; voidSetRightPoint(doublem) rightPoint=m ; voidSetTopPoint(doublem) topPoint=m ; voidSetBottomPoint(double
19、m) bottomPoint=m; voidDisplay (););CReet: CRect(doublel, doublet, doubler, doubleb) (leftPoint= 1; topPoint=t ;rightPoint=r ; bottomPoint=b ; )voidCRect: Setpoints(doublel, doublet, doubler, doubleb) (leftPoint= l ; topPoint=t;rightPoint=n ; bottomPoint=b ; )voidCRect: Display () (coutnleft-toppoint
20、is(nleftPoint, ntop-Point)n;cout,right-bottompointis(nrightPoint, bottomPointn)n n; )CRectrectO;rectO. Display ();rectO. SetPoints(20, 20. 6, 30, 40);rectO. Display ();CRectrectl(O, 0, 150, 150);recti. SetTopPoint(10. 5);rect 1. SetLeftPoint(10. 5);I I *4* rect2 Display (); 47 .请使用VC6或使用【答题】菜单打开考生文件
21、夹proj3下的工程 proj3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个 类的赋值运算符成员函数Operator,以实现深层复制。要求:补充编制 的 内 容写在“* *333 * *与“*666*1c间 o 夕多改的也夸B 分。注意:程序最后将结果输出到文件out. dat中。输出函数writeToFile 已经编译为。bj文件,并且在本程序中调用。/CDeepCopy. h#include #includeusing namespace std;class CDeepCopy public:intn;动态数组的元素个数int*p;动态数组首地址CDeepCopy (i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2021 安徽省 阜阳市 全国 计算机等级考试 C+ 语言程序设计 预测 试题 答案
限制150内