《计算机二级C++考试强化模拟试卷().docx》由会员分享,可在线阅读,更多相关《计算机二级C++考试强化模拟试卷().docx(18页珍藏版)》请在优知文库上搜索。
1、一、选择题(每小题1分,共40分)1单选题有如下程序:MndUdeUftingnamevpacesld;doubleadd(doublea,doubleb.doubleC=I)intmain()Iintresult=add(2t3)Icoulresultendl;nHum0;I运行后的输出结果是()。.3B.5C.6D.编译出错参考答案:C参考解析:题意中,add()函数接收3个CIoUbIe类型的参数,最后一个形参e具有默认值1,函数将三个参数相加,返回相加的结果;main()函数中,调用add()函数,传人两个参数,所以形参C使用默认值1,对应参数的值为:2,3,1,函数将a、b、C转换为
2、double类型后,相加,并将结果6.0作为函数值返回,返回值转换为int赋给result,最终输出result的值。本题答案为C选项。2单选题下列关于类定义的说法中,正确的是()oA.类定义中包括数据成员和函数成员的声明B.类成员的缺省访问权限是保护的C.数据成员必须被声明为私有的D.成员函数只能在类体外进行定义参考答案:A参考解析:类的成员的缺省访问权限是私有的,数据成员可以是私有,可以是公用的,也可以是受保护的。类的成员函数可以在类内定义。3单选题必须用一对大括号括起来的程序段是()。.switch.switch语句中的case标号语句B.if语句的分支C.循环语句的循环体D.函数的函数
3、体参考答案: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)
4、+2)+2=53o本题答案为A选项。5 单选题有如下程序:w*tlaMrwn*IubrMM0(lnMmtMkanwv*)imhw(n)ICMMtmnfrtNMnr()mmmumnamr;vutMi(nmtnr344pT11*()FF三*()CTMlIDcmdmta):y()I::Dermddl(I).(5.7)f*u*0执行这个程序的输出结果是()。A. 375B. 357C. 0375D. 0357参考答案:C参考解析:本题考查派生类的构造函数和析构函数,在定义一个派生类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数,对象释放时,先执行派生类的析构函数,再执行基类的析构函数。本题
5、中定义了一个对象dl,先执行基类的构造函数输出0,再执行派生类的构造函数输出3,然后定义了一个对象d2(5,7),其中需要调用基类的构造函数输出7,最后输出5,所以答案为C。7 单选题软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。A.学生成绩管理系统8 .C语言编译程序C.UNIX操作系统D.数据库管理系统参考答案:A参考解析:软件按功能可以分为:应用软件、系统软件、支撑软件。操作系统、编译程序、汇编程序、网络软件、数据库管理系统都属于系统软件。所以B、C、D都是系统软件,只有是应用软件。8单选题下列程序的运行结果是()0nrNpPMMc:A()l*0
6、IA(as)Ilrani.y(2)ts(3)comVeadhA. OOB. 23C. 34D. 25参考答案:B参考解析:本题考查的是对构造函数的掌握,另外“+”运算符是右结合的,所以在进行输出的时候都是先把原来的输出后再自加1。E. 单选题关系数据模型的三个组成部分中不包括()oA.关系的完整性约束F. 关系的数据操纵C.关系的数据结构D.关系的并发控制参考答案:D参考解析:关系数据模型的三个组成部分:数据结构,操作集合(数据操纵),完整性约束。故本题答案为D选项。10 单选题关于函数重载,下列叙述中错误的是()。A.重载函数的函数名必须相同B.重载函数必须在参数个数或类型上有所不同C.重载
7、函数的返回值类型必须相同D.重载函数的函数体可以有所不同参考答案:C参考解析:所谓函数重载是指同一个函数名可以对应多个函数的实现。每种实现对应一个函数体,这些函数的名字相同,其参数类型或个数不同,但不能出现函数返回值类型不同而参数类型和个数完全相同的重载。所以本题答案为Co11 单选题有如下程序:includepublic:A(tnln=2):m_i(n)-A()Ietd:coutm_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
8、);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类的析构函数-
9、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单选题有如下程序段:*mriuirUi(MrarapMreAtl;mjIplic:bMf(utM)IEMMfT*int(cMII-ImmOIdrk*c2ferw!iIvirtualraidu*()Icm*-he-cni
10、tIIeMMfT*;hmderived;PUhLehrIPeblic:m三r(rtf)Irvonv三IMWfloatratJImed()IdrtoaIrMUBrr;Ivoidbvw()Ieott*dmved_eadl;(lte;h执行这个程序的输出结果是()oA. IBB. IDC. 2BD. 2D参考答案:B参考解析:在某基类中声明为VirtUal并在一个或多个派生类中被重新定义的成员函数,本题中定义了一个指向派生类对象的基类指针ptr,执行ptr-output后,会执行基类的OUtPUt函数,输出1,由于Print是虚函数,所以PtLPrint()会执行派生类的Print,即输出D,所以本
11、题答案为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, Ja.n)C, 人ita(11XP)不能由该函数模板