《2021年辽宁省抚顺市全国计算机等级考试C++语言程序设计模拟考试(含答案).docx》由会员分享,可在线阅读,更多相关《2021年辽宁省抚顺市全国计算机等级考试C++语言程序设计模拟考试(含答案).docx(40页珍藏版)》请在第壹文秘上搜索。
1、2021年辽宁省抚顺市全国计算机等级考试C+语言程序设计模拟考试(含答案)学校:班级:姓名:考号:一、L选择题(10题)1 .有以下程序:#includeusingnamespacestd;classsampleprivate:intx;public:sample(intA)x=a;frienddoublesquare(samples););doublesquare(samples)returnS.X*S.K;intmain()saA.20B.30C.900D.4002 .C+语言中标点符号中表示一条预处理命令开始的是A.#B.;C.*D.3 .下列运算符中,*运算符在C+中不能重载()。A.
2、?B.+C.-D.=4 .下面关于数组的初始化正确的是()。ACharStr=a,b,C,B.charstr2=4a,jb,cC.charstr23:4a,jb,c,C)e,TD.charstr():4a,jb,c,5 .()既可重载为一元运算符,又可重载为二元运算符。A,“*,B.=“C=“和*D.*和*+”6 .若有以下程序段:inta=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);couta,nb,cendl;其输出结果是A.3,0,-10B.0,0,5C.-10,3,-10D.3,0,3已知n一个Int型变量,下列语句中错误的是A) long*p=newlongn;B)
3、 longpn;C) long*p=newlong(n)?7 .D)longd10?8 .假定MyClaSS为一个类,则该类的拷贝构造函数的声明语句为()。A.MyClass&(MyClassx);B.MyClass(MyClassx)C.MyClass(MyClass&x);D.MyClass(MyClass*x)9 .下列关于虚基类的描述,错误的是()oA.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数10 .按照标识
4、符的要求,下列选项中,()符号不能组成标识符。A.连接符B.下划线C.大小写字母D.数字字符二、单选题(13题)11 .字符串常量hello”的字符个数是()。A.3B.4C.5D.612 .当调用函数时,实参是一个数组名,则向函数传送的是oA.数组的长度B.数组的首地址C.数组每一个元素的地址D.数组每个元素中的值13 .在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。A.外模式B.内模式C.概念模式D.逻辑模式14 .下列语句中错误的是()。A.Constinta;B.Constinta=10;C.Constint*point=0;D.Constint*point=newi
5、nt(10);15 .如果表达式“-X/y”中的和/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为()。A.operator/(X.operator-(),y);B.operator/(operator-(x),y);C.X.operator-().operator/(y);D.y.operator/operator-(x);16 .类MyClass的定义如下:classMyClasspublic:MyClass()MyClass(inti)value=newint(i);int*value;若要对value赋值,则下面语句正确的是()。A.MyClassmy;my
6、.value=10;B.MyClassmy;*my;*ValUe=Io;C.MyClassmy;my.*value=10;D.MyClassmy(10);17 .有如下程序:#includeusingnamespacestd;classPairintm;intn;public:Pair(inti,intJ):m(i),n(J)booloperator(PairP)const;/需在类体外给出定义;intmain()Pairpl(3,4),p2(4,3),p3(4,5);COUtp2)p1)p3)p2);return0;)运算符函数OPerator功能是比较两个Pair对象的大小,当左边对象大时
7、,返回true,否则返回false。比较规则是首先比较两对象的m成员,m大者为大;当m相等时比较n.n大者为大。程序输出0101,下列对运算符重载函数的正确定义是A.boolPair:operator(PairP)constif(m!=P.m)retummP.m;returnnP.n;)B.boolPair:operator(PairP)if(m!=P.m)returnmP.m;returnnP.n;)C.boolPair:operator(PairP)constif(mP.m)retumtrue;return11P.n;)D.boolPair:operator(PairP)if(mP.m)r
8、eturntrue;return11P.n;18 .下面描述中体现了抽象类特性的语句是A.可以说明虚函数B.可以进行构造函数重载C.可以定义友元函数D.不能定义对象19 .算法的空间复杂度是指()。A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数20 .下面关于C+流的叙述中,正确的是()。A.cin是一个输入流对象B.可以用ifstream定义一个输出流对象C.执行语句序列Char*y=PQMN”;COUty;将输出字符串PQMN的地址D.执行语句序列CharX80;Cin.getline(x,80);时
9、,若输入Happynewyearj则X中的字符串是“Happy”21 .下面程序的运行结果为#includeVoidswap(int&a,intb)inttemp;temp=a+;a=b;b=temp;voidmain()inta=2,b=3;swap(a,b);couta,lbendlA.2,3B.3l2C.2,2D.3,322 .有如下程序;#includeusingnamespacestd;classBasepublic:voidoutput()cout1;virtualvoidPrint()cout,B;);classDerived:publicBasepublic:voidoutpu
10、t()cout2;voidPrint()coutoutput();ptr-Print();deleteptr;return0;)程序的输出结果是A.1BB.1DC.2BD.2D23 .表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是A.showbase()和eof()B.shoWpoint()和eof()C.showpoint()和bad()D.showpoint()和good()三、2.填空题(12题)24 .有下列程序:#includeusingnamespacestd;classONE(public:virtualvoidf()COUt,;);classTWO:publicO
11、NE(public:TW0()coutW;);classTHREErpublicTWO(pub25 .如果一个数组中的每个元素都是同一类的对象,则该数组被称为【】。26 .软件开发环境是全面支持软件开发全过程的集合。27 .一棵二叉树第八层(根结点为第一层)的结点数最多为【】个。28 .数据结构分为线性结构和非线性结构,其中循环链表属于【】。29 .软件生命周期包括8个阶段。为了使各时期的任务更明确,又可分为3个时期:软件定义期、软件开发期、软件维护期。编码和测试属于期。30 .数据库系统的主要特点为数据集成性、数据的高和低冗余性、数据独立性和数据统一管理和控制。31 .模块的独立程度可以由两
12、个定性标准度量。其中,是度量一个模块功能强度的一个相对指标。32 .以下程序的执行结果是#includeclassA(public:virtualvoidfunl()coutnAfunlendl;virtualvoidfun2()coutAfun2endl;voidfun3()cout,Afun3,endl:)voidfun4()cout,Afun4nendl:33 .数据的逻辑结构是从逻辑关系上描述数据,它与数据的【】结构无关。34 .请将下列程序补充完整,使得输出结果为bbaa。#includeusingnamespacestd;classApublic:coutaa;);classBrp
13、ublicApublic:-B()coutnbbn;);intmain()B*p=newB;deletep;return0;35 .在关系运算中,【】运算是对两个具有公共属性的关系所进行的运算。四、程序改错题(10题)36 .使用VC+6.0打开考生文件夹下的源程序文件1.cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:number=1number=10number=100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/*error*的下面。试题程序:#includeclassTC(public:TC(inti)(number=i;)voidSetNumber(intm)(number=m;)intGetNumberconst(returnnumber;VoidPrintconstcoutnumber=,numberendl;private:intnumber;);voidmain(II*e*or*TCobjl;objl.Print;TCobj2(3);II*e*or*objl.number=10;II*ej*j*or*TC.SetNumber(100);objl.Print;obj2.Print;)