《2021年内蒙古自治区通辽市全国计算机等级考试C++语言程序设计测试卷(含答案).docx》由会员分享,可在线阅读,更多相关《2021年内蒙古自治区通辽市全国计算机等级考试C++语言程序设计测试卷(含答案).docx(27页珍藏版)》请在优知文库上搜索。
1、2021年内蒙古自治区通辽市全国计算机等级考试C+语言程序设计测试卷(含答案)学校:班级:姓名:考号:一、L选择题(10题)1.SamPIe是一个类,执行下列语句后,调用SamPle类的构造函数的次数是Samplea2J,*P=FlewSample;A.0B.1C.2D.32 .执行语句序列inti=0;while(i25)i+=3;couti;输出结果是A.24B.25C.27D.283 .已知:intn=10;那么下列语句中错误的是A.int*p=newlongn;B.intpn;C.int*p=newlong(n);D.intp10;4 .数据库的概念模型独立于A.具体的机器和DBMSB
2、.E-R图C.信息世界D.现实世界5 .关于动态存储分配,下列说法正确的是0A.new和delete是C+语言中专门用于动态内存分配和释放的函数B.动态分配的内存空间也可以被初始化C.当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D.当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new6 .以下程序的输出结果是()。#includemain()intb33=0,l,2Al,2,0,l,2,ij,t=l;for(i=0;i3;i+)for(j=i;j=i;j+)t=t+bibjj;coutt;)A.3B.4C.1D.97 .下列选项中,不属于模块间
3、耦合的是A.数据耦合B.同构耦合C.异构耦合D.公用耦合8 .算法的空间复杂度是指()oA.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间9 .下列叙述中错误的是A.公有继承时基类中的public成员在派生类中仍是public成员B.私有继承时基类中的protected成员在派生类中仍是protected成员C.私有继承时基类中的public成员在派生类中是private成员D.保护继承时基类中的public成员在派生类中是protected成员10 .下列关于SWith语句的描述中,正确的是()。A.switch语句中default字句可以
4、没有,也可有一个B.switch语句中每个语句序列中必须有break语句C.switch语句中default字句只能放在最后D.switch语句中case子句后面的表达式可以是整型表达式二、单选题(13题)11 .下列叙述中错误的是()oA.gets函数用于从终端读入字符串B.getchar函数用于从磁盘文件读入字符C.fputs函数用于把字符串输出到文件D.fwrite函数用于以二进制形式输出数据到文件12 .一组记录的排序码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为()。A.38,40,46,56,79,84B.40,38,46,
5、79,56,84C.40,38,46,56,79,84D.40,38,46,84,56,7913 .如果表达式“-X/y中的“和/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为()。A.operator/(X.operator-()ly);B.operator/(operator-(x),y);C.X.operator-().operator/(y);D.y.operator/operator(x);14 .语句ofstreamf(,SALARY.DAT,lios:app|ios:binary);的功能是建立流对象f,试图打开文件SALA-RY.DAT并与之连接,并
6、且()。A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件15 .有下列程序:#includeintfun(intx,inyy)if(x=y)return(x);elseretum(x+y)/2);)voidmain()inta=4,b=5,c=6;printf(u%dn,lfun(2*a,fun(b,c);)程序运行后的输出结果是()oA.3B.6C.8D.1216 .派生类的成员函数不能访问基类
7、的()。A.公有成员和保护成员B.公有成员C.私有成员D.保护成员17 .下列选项中属于面向对象设计方法主要特征的是()。A.继承B.自顶向下C模块化D.逐步求精18 .下列数据结构中,属于非线性结构的是A.循环队列B.带链队列C.二叉树D.带链栈19 .下列叙述中正确的是A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对20 .下列程序的输出结果是#includeclassMyclasspublic:Myclass(inti=O,intj=0)x=i;y=j;voidshow()cout11x=mxn,y=yendl;voidshow(
8、)constcout11x=mmny=yn为true或mmB.switCh语句结构中必须有default语句CJf语句结构中必须有else语句D.如果至少有一个操作数为true,则包含“If”运算符的表达式为true23 .下面对于友元函数描述正确的是()。A.友元函数的实现必须在类的内部定义B.友元函数是类的成员函数C友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员三、2.填空题(12题)24 .在TestCIass类的定义中,对赋值运算符二进行重载。请将画线处缺失的部分补充完整。TestClass:operator=(constTestClass&rhs)(if(this=
9、&rhs)return*this;value=rhs.value;return*this;)25 .数据的组织和存储会直接影响算法的实现方式和【】。26 .如果把类FriendCIass定义为类TestCIass的友元类,则应该在类TestCIass的定义中加入语句O27 .下列程序的输出结果是0#includeusingnamespacestd;classTestpublic:Test()cnt+;Test()cnt-;)staticintCount()returnent;private:staticintent;);intTest:cnt=0;intmain()(coutTest:Cout
10、();Testtl,t2;Test*oT3=newTest;Test*pT4=newTest;coutTest:Count();deletepT4;deletepT3;coutTest:Cout()endl;returnO;)28 .树L中,度为1、2、3、4、5和6的节点个数为6、4、3、3、5、1,则L中叶子的个数是【29 .一棵树的广义表表示为a(b(c,d(e,f),g(h)ti(j,k(x,y)1结点f的层数为【】。假定树根结点的层数为Oo30 .数据管理技术发展过程经过人工管理、文件系统和数据库系统3个阶段,其中数据独立性最高的是阶段。31 .面向对象的模型中,最基本的概念是对象和
11、【】。32 .设有定义语句:inta=12;,则表达式a*=2+3的运算结果是o33 .有以下程序:#include#includeusingnamespacestd;intmain()(ofstreamofile(,Dtest.txt);if(!ofile)(couttest.txtcantopenendl;return0;)ofileThisbookisC+,12345endl;ofile.close();ifstreamifile(Dtest.txt);if(!ifile)(couttest.txtcantopenstr;ifile.close();coutstrr*的下面。试题程序:#
12、includeClassTC(public:TC(inti)(number=i;)voidSetNumber(intm)(number=m;)IntGetNumberconst(returnnumber;)voidPrintconst(coutumber=numberedl;)private:intnumber;);Voidmain(I!*error*TCobjI;objl.Print;TCobj2(3);/*fpQf*objl.number=10;II*eror*94)o*TC.SetNumber(100);objl.Print;obj2.Print;)37 .使用VC+6.O打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为从键盘输入一个字符串,并将结果保存到文件LtXt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/*error*的下面。试题程序:ftincludeftinclude