欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    计算机二级C++考试强化模拟试卷().docx

    • 资源ID:889036       资源大小:43.72KB        全文页数:18页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机二级C++考试强化模拟试卷().docx

    一、选择题(每小题1分,共40分)1单选题有如下程序:MndUde<iotream>Uftingnamevpacesld;doubleadd(doublea,doubleb.doubleC=I)intmain()Iintresult=add(2t3)Icoul<<result<<endl;nHum0;I运行后的输出结果是()。.3B.5C.6D.编译出错参考答案:C参考解析:题意中,add()函数接收3个CIoUbIe类型的参数,最后一个形参e具有默认值1,函数将三个参数相加,返回相加的结果;main()函数中,调用add()函数,传人两个参数,所以形参C使用默认值1,对应参数的值为:2,3,1,函数将a、b、C转换为double类型后,相加,并将结果6.0作为函数值返回,返回值转换为int赋给result,最终输出result的值。本题答案为C选项。2单选题下列关于类定义的说法中,正确的是()oA.类定义中包括数据成员和函数成员的声明B.类成员的缺省访问权限是保护的C.数据成员必须被声明为私有的D.成员函数只能在类体外进行定义参考答案:A参考解析:类的成员的缺省访问权限是私有的,数据成员可以是私有,可以是公用的,也可以是受保护的。类的成员函数可以在类内定义。3单选题必须用一对大括号括起来的程序段是()。.switch.switch语句中的case标号语句B.if语句的分支C.循环语句的循环体D.函数的函数体参考答案:D参考解析:本题考查C+基本控制结构,A、B、C三个选项中的大括号不是必须的,而D选项中的函数体必须使用大括号。4 单选题计算数列第n项的函数定义如下:mtf(tl)I”(I)FKum11rWrrtvro3l(-l)*2j若执行函数调用表达式fa(4)时,返回的函数值为()oA. 53B. 17C. 23D. 49参考答案:A参考解析:题意中fa()函数是一个递归函数,当参数n大于1时,函数返回值为3*fa(n-l)+2,当n等于1时,函数返回值为1,所以fa(4)=3*fa(3)+2=3*(3$fa(2)+2)+2=3*(3*(3*fa(1)+2)+2)+2=3*(3*(3+2)+2)+2=53o本题答案为A选项。5 单选题有如下程序:w*tlaMr<KMtrnMB>wn*Iu<<etnngAMRfnmrceVtdlrUmPwbbcatMmPMbbc:M>brMM0(lnMmtMkanwv*)imhw(n)ICMMtmnfrtNMnr()mmmumnamr;vutMi(nmtn<prtT11>r<)r三trHum*lko.'!pm*:tnncMlnr;11rh»B11a:publichhicatMNPllhAlCBoaMmn*mmr):f*uhitio(n三*)I*U1MCXNMt/nngfrfTe()0lMan*BwA*jISZUtDwfSiHiratMn(PuMiretMin&p>«344p"T11*()««<<FF<三*()<<rwdl(ntomH)IZKC*)tkchir4tMm(boo)gEUnl0(运行时的输出结果是()oA. Book:C÷+B. Book:UnknownC. Unknown:C+D. Unknown:Unknown参考答案:A参考解析:C+中,多态调用必须满足两个条件:被调用的成员函数是虚函数;必须通过基类类型的引用或指针进行函数调用。题意的ITIain()函数中首先定义一个BOOk类对象,对象名为book,在构造b。Ok对象时,程序过程如下:首先调用BOok类的构造函数,传人参数“C+”,在构造函数执行函数体前,再调用基类PUbIiCatiOn的默认构造函数:传入字符串“C+”,基类构造函数在成员初始化列表中,使用传人的参数“C+”为name赋值;此时继承于基类的成员:name存放字符串“C+”。然后main。函数调用ShoWPUbliCationo函数,传人book对象:ShoWPUbliCatiOn()函数接收PUbliCatiOn类对象的引用p,然后调用p.getType()和p.getName()输出。由于getType()成员函数属于虚函数,P属于基类对象的引用,所以通过P调用gctType()函数满足多态调用,执行P实际引用对象类型的getType(),即BOOk类的getType(),输出:“Book”;而gctNamc()不是成员函数,所以不满足多态调用,执行基类的成员函数getName(),输出name:“c+”。综上,程序输出:Book:C+o本题答案为A选项。6 单选题有如下程序:Dncd(.Ba*H>)CTMlIDcmd<mta):y()I<»»<«"::Dermddl(I).(5.7)f*<u*0执行这个程序的输出结果是()。A. 375B. 357C. 0375D. 0357参考答案:C参考解析:本题考查派生类的构造函数和析构函数,在定义一个派生类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数,对象释放时,先执行派生类的析构函数,再执行基类的析构函数。本题中定义了一个对象dl,先执行基类的构造函数输出0,再执行派生类的构造函数输出3,然后定义了一个对象d2(5,7),其中需要调用基类的构造函数输出7,最后输出5,所以答案为C。7 单选题软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。A.学生成绩管理系统8 .C语言编译程序C.UNIX操作系统D.数据库管理系统参考答案:A参考解析:软件按功能可以分为:应用软件、系统软件、支撑软件。操作系统、编译程序、汇编程序、网络软件、数据库管理系统都属于系统软件。所以B、C、D都是系统软件,只有是应用软件。8单选题下列程序的运行结果是()0nrNp<MMtrvwm.b>PMMc:A()l*0IA(as)Ilrani<<IIhtdaMi()IA>.y(2)ts(3)com<VeadhA. OOB. 23C. 34D. 25参考答案:B参考解析:本题考查的是对构造函数的掌握,另外“+”运算符是右结合的,所以在进行输出的时候都是先把原来的输出后再自加1。E. 单选题关系数据模型的三个组成部分中不包括()oA.关系的完整性约束F. 关系的数据操纵C.关系的数据结构D.关系的并发控制参考答案:D参考解析:关系数据模型的三个组成部分:数据结构,操作集合(数据操纵),完整性约束。故本题答案为D选项。10 单选题关于函数重载,下列叙述中错误的是()。A.重载函数的函数名必须相同B.重载函数必须在参数个数或类型上有所不同C.重载函数的返回值类型必须相同D.重载函数的函数体可以有所不同参考答案:C参考解析:所谓函数重载是指同一个函数名可以对应多个函数的实现。每种实现对应一个函数体,这些函数的名字相同,其参数类型或个数不同,但不能出现函数返回值类型不同而参数类型和个数完全相同的重载。所以本题答案为Co11 单选题有如下程序:include<itream>public:A(tnln=2):m_i(n)-A()Ietd:cout<<m_i;protected:in!m_»ClaMB:publicApublic:B(inin):m_&2(n),m_al(m_iI)public:B()private:Am_al;Am_i2;itmain()Bb(5);rrtum0;运行后的输出结果是()oA. 2351B. 2531C. 5354D. 5534参考答案:B参考解析:main()函数中调用了B的构造函数,参数为5,接下来B类对象b的构造过程如下:调用基类A的默认构造函数,构造对象b的基类部分:初始化m_i为2。按照B类中成员的定义顺序,使用成员初始化列表初始化两个A类成员:首先执行m_i为基类A中的成员,此时值为2,调用A类的默认构造函数,初始化为3;然后执行m_a2(n),调用A类的默认构造函数,初始化m_a2.m_i为5。接着Inain()执行return语句,此时对象b需要调用析构函数进行释迸,释放过程如下:首先运行B类的析构函数-B(),输出m_i的值为2,然后将m_i自减L使得m_i的值为1。按照8类中成员定义顺序的反顺序,首先调用m_a2的析构函/A(),释放对象ma2,输出m_a2.m_i的值5;再调用的析构函数A(),释放对象m_al,输出m_aLni_i的局3。最后调后基类A的析构函数-A(),释放b对象中的基类部分,输出m_i的值1。由上分析,程序运行结果为:2531。故本题答案为B选项。12单选题有如下程序段:*mriuir<imtma>Ui¾(MrarapMreAtl;<mjIp<lic:bMf(utM)IEMMfT*int(cMII-ImmOIdrk*c2ferw!iIvirtualraidu*()Icm*«-he-«cnitIIeMMfT*;h<mderived;PUhLehrIPeblic:m<d(ilE)t>三r(rtf)Irvonv三IMWfloatratJImed()IdrtoaIrMUBrr;Ivoidbvw()Ieott<<*dmved_<<eadl;(l<MimaM>te;h执行这个程序的输出结果是()oA. IBB. IDC. 2BD. 2D参考答案:B参考解析:在某基类中声明为VirtUal并在一个或多个派生类中被重新定义的成员函数,本题中定义了一个指向派生类对象的基类指针ptr,执行ptr->output后,会执行基类的OUtPUt函数,输出1,由于Print是虚函数,所以PtL>Print()会执行派生类的Print,即输出D,所以本题答案为B。16单选题层次型、网状型和关系型数据库划分原则是()。A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式参考答案:D参考解析:层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。17单选题C+中的模板包括()。A.对象模板和函数模板B.对象模板和类模板C.函数模板和类模板D.变量模板和对象模板参考答案:C18单选题现有表示患者和医疗的关系如下:P(P#,Pn,Pg,By),其中P#为患者编号,Pn为患者姓名,Pg为性别,By为出生日期,Tr(P#,D#,Date,Rt),其中D#为医生编号,Date为就诊日期,Rt为诊断结果。检索在1号医生处就诊的病人姓名的表达式是()。IAIrCTii)XP)B, J"a.n>)C, 人ita(11XP)不能由该函数模板得到的函数实例是()oA. intmin(int,int)B. charmin(char,char)C.doublemin(int,double)D.doubIemin(doub1e,doub1e)参考答案:C参考解析:题意中的模板函数min()接收两个参数,参数类型都是T,返回一个T类型的值,所以min()函数的参数、返回值都必须是同一类型,由此可知选项A、B、D可正确得到函数实例,选项C不可以。故本题答案为C选项。21单选题某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)()。A.3B.4C.6D.7参考答案:D参考解析:根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总比度为2的结点多一个,所以本题中度为2的结点为IT=O个,所以可以知道本题目中的二叉树的每一个结点都有一个分支,所以共7个结点共7层,即度为7。22 单选题如下函数模板:template!square(Tx)returnx*x;其中T是()。A.函数形参B.函数实参C.模板形参D.模板实参参考答案:C参考解析:本题考查模板函数的基本概念,根据模板函数的定义,T是模板形参,所以答案为C。23 单选题下列运算符中,可以重载为非成员函数的是()oA.二B. ».C. D.()参考答案:B参考解析:赋值操作符二、下标操作符口和箭头操作符-必须定义为类成员函数,而输入输出操作符可以定义为非成员函数。故本题答案为B选项。24单选题有如下程序:include<KMlmun>usingnamespacesld;classRpublic:R(intr!,inir2):rl(rl).r2(r2)voidprint()voidprint()const;private:inirl.r2;11vendR:print()Icout<<rl<<":w<<«endl:IvoidR:print()ConMICOUt«rl<<","<<r2<<endl;Iinimain()IRa(5.4)ja-P11nt():constRb(20.S2);b.Prinl();relum0;I运行后的输出结果是()oA. 5:420.52B. 5:420:52C. 5,420,52D. 5,420:52参考答案:A参考解析:c+中,const对象只能使用const成员函数,非COnSt对象可以使用任一成员;题意中两个Printo函数属于基于ConSl的重载函数,所以对于非ConSt对象a,调用非COnSt的成员函数Print(),输出:5:4;对于ConSl对象b,输出:20,520故本题答案为A选项。25单选题下列有关指针的操作中,正确的是()。A. inta=10;void*ptr=a;cout<<*(ptr);B. int*ptr=newint10;deleteptr;C. i.tArray4j*(Array+3)=10;D. int*ptr=newint*10;参考答案:C参考解析:变量是整型,所以地址为整型指针,不能赋给Void*类型,选项A错误;使用new分配数组空间时,必须使用delete口来释放数组空间,选项B错误;IlCWint$10是分配了10个整型指针数组,数组的每个元素都是整型指针,它无法赋给整型指针变量Ptr,选项D错误。本题答案为C选项。26单选题有如下程序:t>nclude<w(ream>USiMnamespacestd;ChMCDIpublic:-CD()cout«*C;Iprivate;charname80;I(intmain()CDatb,d2;returnO;I执行这个程序的输出结果是()oA. CCCCB. CCCC. CCD.C参考答案:B参考解析:本题考查类的析构函数,题目中定义了类的一个对象a,对象指针*b,对象数组d2,当程序执行完后,析构函数执行了3次,输出“CCC”,对象指针不会执行析构函数。所以本题答案为B。27 单选题下列符号中能够作为C+标识符的是()。A. constB. 2aC. _shapeD. -count参考答案:C参考解析:本题考查C+标识符的命名规则,其规则有如下几点:所有标识符必须由字母、数字或下画线组成,且必须由字母或下画线开头;所有标识符不能使用C+已有的关键字;大、小写字母表示不同意义,即代表不同的标识符。选项A是关键字,选项B不能以数字开头,选项D包含了字符"-"且不能以此字符开头。故答案为C。28 单选题下列关于运算符函数的描述中,错误的是()0A.运算符函数的名称总是以operator为前缀29 运算符函数的参数可以是对象C.运算符函数只能定义为类的成员函数D.在表达式中使用重载的运算符相当于调用运算符重载函数参考答案:C参考解析:运算符函数可以定义为类的友元函数。所以C选项错误。29单选题如果派生类以ProtCCted方式继承基类,则原基类的PrOteCtecl成员和PUbIiC成员在派生类中的访问属性分别是()。A. public和publicB. public和protectedC.protected和publicD.protected和protected参考答案:D参考解析:本题考查保护继承中派生类对基类的访问属性,在受保护继承中,基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有,所以本题答案为D。30 单选题当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的()0A.公有成员B.私有成员C.保护成员D.友元参考答案:B参考解析:C+中,对于公有继承,基类成员保持自己的访问级别:基类的PUbliC成员为派生类的PUbIie成员,基类的PrOteCteel成员为派生类的proteeted成员,基类的PriVate成员对派生类不可见,所以:在公有继承中,基类中的公有成员对派生类对象可见,基类中的私有成员对派生类对象不可见;对于私有继承,基类的public和protected成员在派生类中为private成员,基类的private成员对派生类不可见,选项B正确。本题答案为B选项。31 单选题有如下枚举类型定义:enumDAYSUN,MON=IO,TUE,WED,THU,FRI=20,SAT;执行下列程序段Mmni0i<THlIIi)Ieoul««''««MMiI;II输出字符'a'的个数是()oA. 13B. 16C. 19D. 22参考答案:A参考解析:枚举类型中,如果当前枚举成员的值显示初始化,那么后一个枚举成员的值比当前枚举成员的值大1,所以枚举类型DAY中,SUN的值为0,NON的值显示为10,TUE的值为ILWED的值为12,THU的值为13,FRl的值显示初始化为20,SAT的值为21,所以for循环会执行13次,输出13个字符,a,o本题答案为A选项。32单选题要建立文件流并打开当前目录下的文件file.dat用于输入,下列语句中错误的是()oA. ifstreamfin=ifstream,open(,file,datv);B. ifstream*fin=newifstream(,file,dat");Cifstreamfin;fin.open("file,datw);D.ifstream*fin=newifstream();fin->open("file.dat");参考答案:A参考解析:本题考查对文件流输入的操作,可以调用文件流的成员函数pen,一般形式如下:文件流对象.open(磁盘文件名,输入/输出方式)。根据以上格式,可以判断A选项错误。33单选题下列有关继承和派生的叙述中,正确的是()0A.派生类不能访问基类的保护成员B.作为虚基类的类不能被实例化C.派生类应当向基类的构造函数传递参数D.虚函数必须在派生类中重新实现参考答案:C参考解析:派生类可以访问基类的保护成员,而不能访问基类的私有成员。作为虚基类的类可以被实例化。虚函数如果没有派生类中重新实现,那么仍然使用基类的成员函数。34 单选题己知ValUe是一个类,VaIUe是ValUe的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确的是()。A. Valueoperator+(Valuev,inti);B. Valueoperator+(Valuev=value,inti);C. Valueoperator+(Valuev,inti=0);D. Valueoperator+(Valuev=value,inti=0);参考答案:A参考解析:本题考查运算符重载,其中重载运算符的函数不能有默认的参数,所以本题答案为A。35 单选题下列关于虚函数的说明中,正确的是()。A.从虚基类继承的函数都是虚函数36 虚函数不得是静态成员函数C.只能通过指针或引用调用虚函数D.抽象类中的成员函数都是虚函数参考答案:B参考解析:在某基类中声明为VirtUaI并在一个或多个派生类中被重新定义的成员函数。虚函数必须是基类的非静态成员函数,其访问权限可以是ProteCted或PUblic0如果一个类包含了纯虚函数,称此类为抽象类。所以本题答案为B。36单选题有如下程序:9uh*de<iot三>Mgnn>rjwrdwGAIPubbrRVimNdimf()Iwm三B11II9cl三>GB:PUbiirGAPl;IiftUdnl()rrtum2;IIwwdJmw(CAB)Irout«“f(hI,oUl<ii*pi三y(CA&)QaUl«*.11)I1*mtn()GA«:4w")pby(a)CBh;bv(b)ify(b):ehiE0

    注意事项

    本文(计算机二级C++考试强化模拟试卷().docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开