《2021年内蒙古自治区赤峰市全国计算机等级考试C++语言程序设计真题(含答案).docx》由会员分享,可在线阅读,更多相关《2021年内蒙古自治区赤峰市全国计算机等级考试C++语言程序设计真题(含答案).docx(27页珍藏版)》请在优知文库上搜索。
1、2021年内蒙古自治区赤峰市全国计算机等级考试C+语言程序设计真题(含答案)学校:班级:姓名:考号:一、L选择题(10题)1 .执行下列语句段后,输出字符“*”的个数是for(inti=50;i1;-i)coutA.48B.49C.50D.512 .软件维护指的是()。A.对软件的改正、适应和完善B.维护正常运行C.配置新软件D.软件开发期的一个阶段3 .有以下程序,其输出结果是()。#includeusingnamespacestd;intmain()chara10=,1,2,3,45,6,7,8,9,0,*p;inti=8;p=a+i;coutp-3endl;return0;A.6789B
2、.6C.789D.,64 .已知:intm=10:在下列定义引用的语句中,正确的是A.int&x=m;B.inty=&m;C.int&z;D.int&t=&m;5.关于类型转换的说法中,错误的是()。A.如果a为血型变量,b为Char型变量,则a+b的值为血型B.如果a为float型变量,b为int型变量,贝Ja-b的值为float型C.如果a为double型变量,b为float型变量,则a*b的值为double型D.如果a为血型变量,b为血型变量,则a/(double)b的值为int型6.C+语言中的基本数据类型是()。A.整型、浮点型、逻辑型、无值型和类类型B.整型、字符型、浮点型、无值型
3、和逻辑型C.整型、浮点型、字符型、逻辑型和枚举型D.整型、浮点型、逻辑型、无值型和指针型7 .有如下函数模板的定义:templateTfunc(Tx,Ty)returnx*x+y*y;在下列对func()的调用中,不正确的是()。A.func(3,5);8 .func(3,5);C.func(3,5.5);D.func(3,5.5);8 .下列程序的执行结果为#includevoidmain()inta=3,b=0;int*p=&a;b=+a+;cout*pbendl;A.3,4B.4,3C.3,4D.4,49 .阅读下面的程序:#includevoidmain()intx;cinx;if(x
4、+5)coutxendl;elsecoutxendl;如果两次执行上述程序,且键盘输入分别为4和6,则输出结果分别是()。A.4,6B.3,6C.417D.5,710 .关于关键字class和typename,下列表述正确的是A.程序中所有的typename都可以替换为classB.程序中所有的class都可以替换为typenameC.A)和B)都正确D.A)和B)都不正确二、单选题(13题)11 .有如下数组声明:intnum10;,下标值引用错误的是()oA.num10B.num5C.num3D.num012 .有如下类定义和变量定义:classParentspublic:intpubli
5、cuata;private:intprivateData;);classChildArpublicParents*类体略*;classChildBzprivateParents*类体略*/);ChildAa;ChildBb;下列语句中正确的是A.coutB.coutC.coutD.cout13 .假定MyQaSS为一个类,那么下列的函数说明中,()为该类的析构函数。A.voidMyCIassO;B.MyClass(int);C.MyClass();D.MyCIassO;14 .待排序的关键码序列为(33,18,9,25,67,82153,95,12,70),要按关键码值递增的顺序排序,采取以第
6、一个关键码为基准元素的快速排序法,第一趟排序后关键码33被放到第()个位置。A.3B.5C.7D.915 .设有Intx=Il;,则表达式(x+*2/3)的值是()。A.7B.8C.llD.1216 .下面程序的运行结果为()#includevoidswap(int&a,intb)inttemp;temp=a+;a=b:b=temp:Jvoidmain()inta=2,b=3;swap(a,b);couta1bendl;A.2,3B.3t2C.2,2D.3t317 .有如下程序:ftincludeusingnamespacestd;inti=l;classFunpublic:staticint
7、i;intvaluereturni1;intvalueconstreturni+1;);intFun:i=2;int intmain i=3;Funfunl;constFunfun2:return0;若程序的输出结果是:123则程序中下画线处遗漏的语句是()。Acoutfunl.valueFun:ifu2.value;B.toutFun:ifunl.valuefu2.value;C.coutfunl.valuefull2.valueFun:i:D.eoutfu2.valueFun:ifunl.value;18 .程序设计方法要求在程序设计过程中A先编制出程序,经调试使程序运行结果正确后再画出程
8、序的流程图B.先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释C先画出流程图,再根据流程图编制出程序,最后经调试使程序运行结果正确后再在程序中的适当位置处加注释D.以上三种说法都不对19 .有类定义如下:classTypepublic:TyPe(inti=0);Typeoperator-(int);friendTypeoperator+(Type,Type);private:intval;);若有对象定义TyPecl;则下列语句序列中,错误的是A.Type(3)+cl;B,cl+Type(3);C.3-cl;D.cl-3;20 .已知n是一个int型变量,下列语句中错误的是
9、()。A.long*p=newlongn;B.ongpn;C.long*p=newlong(n);D.longp10;21 .有如下函数定义:VOidfUnC(inta,int&B.a+;b+;)若执行代码段:intx=O,Y=1;fuC(X,Y);则变量X和y的值分别是()。A.0和1B.1和Ico和2D.1和222 .已知表达式+a中的”+”是作为成员函数重载的运算符,则与+a等效的运算符函数调用形式为OA.operator+(1)B.operator+(a)C.operator+(a,l).operator+()23 .下列关于类和对象的叙述中,错误的是()oA.一个类只能有一个对象B.
10、对象是类的具体实例C类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系三、2.填空题(12题)24 .阅读下面程序:#includeusingnamespacestd;intfun(inta,intb)(intc;c=a*b;returnc;)intmain()(inta=3,b=5,c=4,x=0;x=fu(fun(a,b),c);coutxendl;return0;)其运行结果是【25 .下列程序运行后的输出结果是o#includevoidmain()(ints=0,kfor(k=7;k=0;k-)(switch(k)(case1:case4:case7:s+;break:
11、case 2 :case 3 :case6:break;case0:case5:s+=2;break;)26 .软件结构是以【】为基础而组成的一种控制层次结构。27 .有以下程序段:#include#defineMIN(x,y)(x)(y)?(x):(y)voidmain()(iti,j,k;i=10;j=15;k=10*MIN(itj);coutkendl;)程序执行后的输出结果是【】。28 .下列程序在构造函数和析构函数中申请和释放类的数据成员int*a,申请时使用形参b初始化a,请填空。classA(public:A(intb);A();private:int*a;);A:A(intb)
12、(1;)A:A()(1;)29 .在面向对象方法中,描述的是具有相似属性与操作的一组对象。30 .派生类构造函数的执行顺序是先执行【】的构造函数,然后执行成员对象的构造函数,最后执行【】的构造函数。31 .在一个C+程序中,每个变量都必须遵循【】的原则。32 .以下程序段的输出结果是【】。intXti;for(i=l;i=100;i+)x=i;if(+x%2=0)if(+x%3=0)if(+x%7=0)couti,t;)33 .在下面横线上填上适当的语句,完成程序。#includeusingnamespacestd;classBase(intx;public:Base(inti)x=i;Bas
13、e()Q;classDerived:publicBase(public:完成类DeriVe构造函数的定义);intmain()(DerivedObj;return0;)在横线处应填入的语句是【34 .在面向对象方法中,类的实例称为35 .下面程序的输出是:*5.235.23*请将下划线上遗漏的部分补充完整。#include#includeusingnamespacestd;voidmain()doublei=5.23;coutsetw(14)icoutendlsetw(14)i;)四、程序改错题(10题)36 .使用VC+6.0打开考生文件夹下的源程序文件Lcpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:number=1number=10number=100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/*crror*的下面。试题程序:ftincludeclassTC(public:TC(inti)(number=i;)VoidSetNumber(intm)(number=m;)intGetNumberconst(returnnumber;)VoidPrintconst(cout/number=znumberen