《2021年辽宁省锦州市全国计算机等级考试C++语言程序设计真题(含答案).docx》由会员分享,可在线阅读,更多相关《2021年辽宁省锦州市全国计算机等级考试C++语言程序设计真题(含答案).docx(42页珍藏版)》请在优知文库上搜索。
1、2021年辽宁省锦州市全国计算机等级考试C+语言程序设计真题(含答案)学校:班级:姓名:考号:一、L选择题(10题)1.若执行下面的程序时,从键盘上输入5和2,则输出结果是()oinclude(iostream.h)voidmain()inta,bjk;cinab;k=a;if(aB)k=a%b;elsek=b%a;coutkendl;A.5B.3C.2D.02 .在进行了任何C+流的操作后,都可以用C+流的有关成员函数检测流的状态,其中只能用于检测刚进行的操作是否失败函数名是()。A.failB.eofC.badD.good3 .以下函数调用语句中含有参数的个数是excc(vl,v2),(v
2、2,v3,V4),v6);A.3B.4C.5D.64 .在“intb3=1,3,8),4,5,7,0;”中,b的值是(是A.0B.7C.lD.85 .分析下面程序,该程序的运行结果是()。#includeclasscmmpublic:staticintm;cmm()m+;cmm(intn)m=n;staticvoidtestm()m+;intcmm:m=0;voidmain()cmmA;cmmB(3);A.testm();cram:testm;coutm=B.mendl;)A.m=3B.m=4C.m=5D.m=66 .关于静态数据成员的描述中正确的是()oA.类的静态数据成员不是类的所有对象共
3、享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化7 .下列有关函数重载的叙述中,错误的是()。A.函数重载就是用相同的函数名定义多个函数8 .重载函数的参数列表必须不同C.重载函数的返回值类型必须不同D.重载函数的参数可以带有默认值8 .下列程序的输出结果为()0#include#includevoidmain()cout.precision(4);cout123.127;cout123.46:)A.123.1123.4B.123.1123.46C.123.127123.46D.123.1123.49 .函数模板:t
4、emplateTadd(Tx,Ty)returnx+y;)下列对add函数的调用不正确的是A.add(1,2)B.add(l,2)C.add(ll0,2)D.add(l.0,2.0)10 .在进行任何C+流的操作后,都可以用C+流的有关成员函数检测流的状态:其中只能用于检测输入流状态的操作函数名称是()。A.failB.eofC.badD.good二、单选题(13题)11 .下列说法中错误的是()A.公有继承时基类中的public成员在派生类中仍是public的B.公有继承时基类中的private成员在派生类中仍public是的C.私有继承时基类中的public成员在派生类中仍private是
5、的D.保护继承时基类中的public成员在派生类中仍protected是的12 .下列运算符中,不能被重载的是()oA.B.!=C.D.+13 .有如下类定义:classMyClass(public:private:intdata;若要为MyClass类重载流输入运算符“”,使得程序中可以cinobj;”的形式改变MyClass类的对象Obj中数据成员data的值,则横线处的声明语句应为()。A.friendistream&operator(istream&is,MyClass&A.;B.friendistream&operator(istream&is,MyClassA.;C.istream
6、&operator(istream&is,MyClass&A.;D.istream&operator(istream&is,MyClassA.;14 .下列说法正确的是()。A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline定义15 .下列选项中不属于结构化程序设计原则的是()。A.可封装B.自顶向下C模块化D.逐步求精16 .若变量已正确定义并赋值,以下符合C+语言语法的表达式是()OA.A.a:=b+1B.a=b=c+2C.int
7、l8.5%3D.a=a+7=c+b17 .有如下程序:#includeusingnamespacestd;classAAintk;protected:intn;voidsetK(intk)this-k=k;public:voidsetN(intn)this-n=n;);classBBrpublicAA*类体略*;intmain()BBx;x.n=l;/lx.setN(2);/2x.k=3;/13x.setK(4);/4return0;)在标注号码的四条语句中正确的是A.lB.2C.3D.418 .以下函数值的返回值类型是()。fun(floatx)floaty;y=3*x-4;retumy;)
8、A.intB.不确定C.voidD.float19 .有如下类模板定义:templateclassBigNumberIongn;public;BigNumberTi:n(i)BigNumberoperator+(BigNumberb)returnBigNumbern+b.n););已知bl、b2是BigNUmber的两个对象,则下列表达中踏误的是()。A.bl+b2B.bl+3C.3+blD.3+320 .若有下面的函数调用:fun(fl+b,3,max(n-1,B.)则fun的实参个数是()。A.3B.4C.5D.621 .数据库应用系统中的核心问题是oA.数据库设计B.数据库系统设计C.数
9、据库维护D.数据库管理员培训22 .下面对于友元函数描述正确的是()。A.友元函数的实现必须在类的内部定义B.友元函数是类的成员函数C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员23 .若已定义intaJ=l,2,314,5,6,7,8,9,10.p=a,i=5;则对数组元素不正确的引用是()。A.ap-aB.*(&ai)C.piD*(*(a+i)三、2.填空题(12题)24 .数据流图采用4种符号表示()、数据源点和终点、数据流向和数据加工。25 .若有定义语句:inta=3,b=2,c=l;,则表达式bb?a:b的值是。26 .二叉树的遍历分为三种,它们是前序遍历遍历
10、和后序遍历。27 .类是一个支持集成的抽象数据类型,而对象是类的【】。28 .求1100的和,可写成for(s=0,i=l;i+)s+=i;的形式。29 .对有n个记录的表rL.n进行直接选择排序,所需要进行的关键字间的比较次数为O30 .下面程序输出的结果是o#includeusingnamespacestd;classApublic:virtualvoidshow()cout,A!;);classB:publicApublic:voidshow()coutnB!;);classC:publicBpublic:voidshow()coutC!n;);voidshow_info(A&i)i.s
11、how。;voidmain()Aia;Bib;Cic;show_info(ia);show_info(ib);show_infb(ic);31 .若将一个二元运算符重载为类的成员函数,其形参个数应该是个。32 .若要打开二进制文件binfile写方式,输出到文件尾则应为:Ofstreambfile(,binfile,);33 .软件开发环境是全面支持软件开发全过程的集合。34 .下列程序中的重载函数disp()发生错误,错误原因是【】。#includeclassSample(private:intm;staticintsr;public:Sample(inta)m=a;st+=a;static
12、voiddisp()coutmendl;staticvoiddisp(Sampleinput)(coutinput,mendl;);intSample:st=2;voidmain()SampleEirst(2),Second(4)Sample:disp();Sample:disp(Second);)35 .若要将一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序,应该在程序设计阶段采取【】和逐步求精的方法。四、程序改错题(10题)36 .使用VC+6.。打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch
13、必须抛出执行的任何异常。程序异常,输出信息为errorOERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/*e*or*的下面。试题程序:includeiostream.h)intmain(try(throw(error);)!*error*catch(chars)coutsendh)try(throw(int)0);)I/*error*catch(coutiendl;)try(throw(O);throw(error);)/*error*catch(cout,ERRORclassCO(public:I*error*/Staticintn=O:CO(n+:)CO(n:):I*error*/intCO:n;voidmain(COobj;COobj27;CO*C=NULL:c=&obj:!*error*/eoutC.nendl;cout