2023年吉林省四平市全国计算机等级考试C++语言程序设计真题(含答案).docx
《2023年吉林省四平市全国计算机等级考试C++语言程序设计真题(含答案).docx》由会员分享,可在线阅读,更多相关《2023年吉林省四平市全国计算机等级考试C++语言程序设计真题(含答案).docx(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年吉林省四平市全国计算机等级考试C+语言程序设计真题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1.下面关于虚函数的描述中正确的是A.虚函数是一个静态成员函数B.虚函数是一个非成员函数C.虚函数既可以在函数说明时定义,也可以在函数实现时定义D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型2 .关于模板,下列说法不正确的是()A.用类模板定义一个对象时,不能省略实参B.类模板只能有虚拟类型参数C.类模板本身在编译中不会生成任何代码D.类模板的成员函数都是模板函数3 .()是给对象取一个别名,它引入了对象的同义词。A.指针B.引用C.故举D.结构4 .若变量a是
2、int类型,并执行了语句:a=A+1.6;,则正确的叙述是()。A.a的值是字符C B.a的值是浮点型C不允许字符型的浮点型相加D.a 的值是字符A的ASCH值加上1一个字符串,并将结果保存到文件1 . txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在 I /*errc)r*的下面试题程序:#include#include/ / *error*usingstd ;voidWriteFile(char*s)(ofstreamoutl ;I/ *error*outl . open(l . txt, binary|app);for(inti=0 ; si!=
3、0 ; i + +)(I I *error*outl . puts(si);)outl . close ;)voidClearFile(ofstreamoutl ;outl . open(l . txt);outl . close ;) intmain(chars1024;ClearFile ;coutpleaseinputastrin9 : endl ;cin . getline(s, 1024);WriteFile(s);returnO ; )38.使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行有问 题,请改正main函数中的错误,使程序的输出结果为: number
4、 number=10 number=100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误 的语句在/ / *error*的下面。试题程序:#include classTCpublic:TC(inti)number二i;)voidSetNumber(intm)number=m;)intGetNumberconst(returnnumber;)voidPrintconstcout/znumber=/numberendl ;)private: intnumber;);voidmain/ / *error*TCobjl;objl. Print;TCobj2(3);/ / *e
5、rror* objl. number=10;/ / *error*%()*TC. SetNumber(100);objl. Print;obj2. Print;)39.使用VC + + 6 . 0打开考生文件夹下的源程序文件1 . cpp,该程序运行有问题,请改正 main函数中的错误,使程序的输出结果为:number=lnumber = 10number=100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/ I *errc)r*的下面试题程序:#include classTC ( public : TC(inti) ( number=i ; voidSet
6、Number(intm)(number=m ;)intGetNumberconst(returnnumber ;) voidPrintconst(coutnumber=numberendl ;private : intnumber ;);voidmain(/ / *error*TCobjl ;objl . Print ;TCobj2(3);I I *error* objl . number=10 ; / / *error*%()* TC . SetNumber(lOO); objl . Print ; obj2 . Print ; )40.使用VC+6. 0打开考生文件夹下的源程序文件1. c
7、ppo本程序要求输入 一个字符串,然后将其中的小写字母改成大写字母,字符可能输入多行,当输 入字符“?”时、默认字符输入结束,最后把结果输出到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误 的语句在/ / *errc)r*的下面。试题程序:#includevoidmain(inti=0;charstr120;cout,Enterastringendwith?. /zendl;/ / *error*cin. getline(str, 120);/ / *error*while (str)/ / *error*if(stri)=a)str i=str i-a+A;
8、 i + + ;)coutstrendl;return;41,使用VC+6. 0打开考生文件夹下的源程序文件L cpp,该程序运行时有 错。请改正程序中的错误,使程序输出的结果为 100 37 32注意:错误的语句在/ / *error*的下面,修改该语句即可。 试题程序: #include/ / *error* voidmain(/ / *error* intm=0142:/ / *errc)r* intn=0X27:intq=32;cout m endl ; cout n endl; coutqendl; return;42 .使用VC+6. 0打开考生文件夹下的源程序文件L cpp,该程
9、序运行时有 错,请改正其中的错误,使程序正常运行,输出的结果为 Constructor, i=0,Destructor注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:include(iostream, h) classTC inti;public:TC; voiddisplay; TC; / / *errc)r*TC: TC coutz/Constructor/z/, i=0; / / *error*TC: display tout/zi=/i/, /zendl; )/ / *error*TC: TCCOUKZ/Destructor/Zendl : voidmainT
10、Ca;a. display;43 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能 为从键盘输入一个字符串,并将结果保存到文件1.txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误 的语句在/ / *errc)r*的下面。试题程序:#include#include/ / *eiror*usingstd;voidWriteFile (charts)(ofstreamoutl;/ / *eiror*outl. open (/zl. txt, binary | app);for (inti=0;
11、 s i !=0; i + +)(/ / *error*outl. puts(si);)outl. close;)voidClearFileofstreamoutl;outl. open(/zl. txt);outl. close;intmain(chars1024;ClearFile;coutclassTC(/ *error* /TC(inti)(m_i=i ;voidprint(cout-m_i5)/ *errOr* /i+ + :04 . print ;)cout classCO public:/ *error* / staticintn=O:CO(n+ + :)COn:):/ *err
12、or* / intCO: : n; voidmainCOobj;COobj27;CO*C=NULL: c=&obj: / *error* / eoutC. nendl; coutC0: : nendl; )五、综合应用题(2题)46 .使用VC+6. 0打开考生文件夹下的源程序文件3.cpp。其中定义的类不 完整,按要求完成下列操作,将类的定义补充完整。定义类的公有数据成员函数NO、Name32,其中NO是int型的数据,Name32为字符型。请在注释1后添加适当的语句。完成函数Set的定义,分别设置NO和Name的值,请在注释2后添加适当的 语句。完成函数print,请在注释3后添加适当的语
13、句,输出结果如下:N0=12345Name=HelloWorld!添加默认构造函数,设置NO为3 Name为空,请在注释4后添加适当的语 句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序 代码。试题程序:#include classTC public:KLZkIx| KLX KtZ SAX vlx VLZ KEZXjX Tx xTs Tx XgX Tx rx I xrxxr% Tx/xlx xlx vlx J fz 1/不不不不不不不不乙不不不不不不不不No=no;i + +)for(inti=0; strNamei!=0; Namei=strNamei;Namei +
14、 l=0; voidprint ()xlx xlxxlxxlz xlxsTC ()I I *4*) intmain ()TCstu:print ();stu. Set (12345, “HelloWorld!); stu.returnO;47 .请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其 中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成 员函数Operator=,以实现深层复制。要求:补充编制的内容写在 “*333*“与*666*”之间不得修改程序的其他部分。 注意:程序最后将结果输出到文件out. dat中。输出函数writeTo
15、File已经编 译为。bj文件,并且在本程序中调用。/CDeepCopy. h ftinclude #include using namespace std;class CDeepCopy public:int n; 动态数组的元素个数int *p; /动态数组首地址CDeepCopy(int);CDeepCopy;CDeepCopy&operator= (const CDeepCopy&r) ; /赋值运算符函数;void writeToFile(char);/main, cppttincludev CDeepCopy. hCDeepCopy: : 一CDeepCopydeleteP; CD
16、eepCopy: : CDeepCopy (int k) n=k; p=new intn; 构造函数实现CDeepCopy&CDeepCopy: : Operator= (const CDeepCopy&r)赋值运算符函数实 现 ( / /不不不不不不不不不不不JJJ不不不不不不不不不 /*666* ) int main |CDeepCopy a (2), d (3);a. p0=l; d. p0=666; 对象a, d数组元素的赋值 CDeepCopy b (3); 调用赋值运算符函数a. p0=88; b=a;coutb. p0; 显示内层局部对象的数组元素)coutd. p0; 显示d数
17、组元素a. p0的值cout“ d fade away; n ;couta. p0 ; /显示a数组元素a. p0的值writeToFile(v );return 0;六、3.综合应用题(2题)48.使用VC6打开考生文件夹下的工程MyProjl4。此工程包含一个源程序文件MyMainl4.cpp, 程序中定义了 3个类A、B和C,但类的定义并不完整。请按要求完成下列操作,将类的定义补充完成:类A的成员函数set x(int i.int j)是虚函数,其实现的功能是将类A的保护成员x和y分别 设置成i和j并且y具有默认值0。请在注释“*”之后添加适当的语句。将类A的成员函数print。声明成员
18、纯虚函数。请在注释7/* *2*”之后添加适当的语句。5 .在 情况下适宜采用inline定义内联函数。A.函数体含有循环语句B.函数体含有递归语句C.函数代码少、频繁调 用D.函数代码多、不常调用6 .有如下程序:#include using namespace std; long fun(int n) if(n 2) return(fun(n-1 )+fun (n-2); else return 2; int main() cout fun(3) endl; return 0; 则该程序的输出结果应该是()。A.2B.3 C.4 D.57 .两次运行下面的程序,如果从键盘上分别输入10和8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 吉林省 四平市 全国 计算机等级考试 C+ 语言程序设计 答案
限制150内