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

上传人:夺命阿水 文档编号:889036 上传时间:2024-01-07 格式:DOCX 页数:18 大小:43.72KB
返回 下载 相关 举报
计算机二级C++考试强化模拟试卷().docx_第1页
第1页 / 共18页
计算机二级C++考试强化模拟试卷().docx_第2页
第2页 / 共18页
计算机二级C++考试强化模拟试卷().docx_第3页
第3页 / 共18页
计算机二级C++考试强化模拟试卷().docx_第4页
第4页 / 共18页
计算机二级C++考试强化模拟试卷().docx_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《计算机二级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

12、#为医生编号,Date为就诊日期,Rt为诊断结果。检索在1号医生处就诊的病人姓名的表达式是()。IAIrCTii)XP)B, Ja.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选项。

13、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

14、 单选题下列运算符中,可以重载为非成员函数的是()oA.二B. .C. D.()参考答案:B参考解析:赋值操作符二、下标操作符口和箭头操作符-必须定义为类成员函数,而输入输出操作符可以定义为非成员函数。故本题答案为B选项。24单选题有如下程序:includeusingnamespacesld;classRpublic:R(intr!,inir2):rl(rl).r2(r2)voidprint()voidprint()const;private:inirl.r2;11vendR:print()Icoutrl:wendl:IvoidR:print()ConMICOUtrl,r2endl;Iinim

15、ain()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;

16、void*ptr=a;coutncludeUSiMnamespacestd;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. -cou

17、nt参考答案:C参考解析:本题考查C+标识符的命名规则,其规则有如下几点:所有标识符必须由字母、数字或下画线组成,且必须由字母或下画线开头;所有标识符不能使用C+已有的关键字;大、小写字母表示不同意义,即代表不同的标识符。选项A是关键字,选项B不能以数字开头,选项D包含了字符-且不能以此字符开头。故答案为C。28 单选题下列关于运算符函数的描述中,错误的是()0A.运算符函数的名称总是以operator为前缀29 运算符函数的参数可以是对象C.运算符函数只能定义为类的成员函数D.在表达式中使用重载的运算符相当于调用运算符重载函数参考答案:C参考解析:运算符函数可以定义为类的友元函数。所以C选项

18、错误。29单选题如果派生类以ProtCCted方式继承基类,则原基类的PrOteCtecl成员和PUbIiC成员在派生类中的访问属性分别是()。A. public和publicB. public和protectedC.protected和publicD.protected和protected参考答案:D参考解析:本题考查保护继承中派生类对基类的访问属性,在受保护继承中,基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有,所以本题答案为D。30 单选题当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的()0A.公有成员B.私有成员C.保护成员D.友元参

19、考答案:B参考解析:C+中,对于公有继承,基类成员保持自己的访问级别:基类的PUbliC成员为派生类的PUbIie成员,基类的PrOteCteel成员为派生类的proteeted成员,基类的PriVate成员对派生类不可见,所以:在公有继承中,基类中的公有成员对派生类对象可见,基类中的私有成员对派生类对象不可见;对于私有继承,基类的public和protected成员在派生类中为private成员,基类的private成员对派生类不可见,选项B正确。本题答案为B选项。31 单选题有如下枚举类型定义:enumDAYSUN,MON=IO,TUE,WED,THU,FRI=20,SAT;执行下列程序段

20、Mmni0iopen(file.dat);参考答案:A参考解析:本题考查对文件流输入的操作,可以调用文件流的成员函数pen,一般形式如下:文件流对象.open(磁盘文件名,输入/输出方式)。根据以上格式,可以判断A选项错误。33单选题下列有关继承和派生的叙述中,正确的是()0A.派生类不能访问基类的保护成员B.作为虚基类的类不能被实例化C.派生类应当向基类的构造函数传递参数D.虚函数必须在派生类中重新实现参考答案:C参考解析:派生类可以访问基类的保护成员,而不能访问基类的私有成员。作为虚基类的类可以被实例化。虚函数如果没有派生类中重新实现,那么仍然使用基类的成员函数。34 单选题己知ValUe

21、是一个类,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.只能

22、通过指针或引用调用虚函数D.抽象类中的成员函数都是虚函数参考答案:B参考解析:在某基类中声明为VirtUaI并在一个或多个派生类中被重新定义的成员函数。虚函数必须是基类的非静态成员函数,其访问权限可以是ProteCted或PUblic0如果一个类包含了纯虚函数,称此类为抽象类。所以本题答案为B。36单选题有如下程序:9uh*deMgnnrjwrdwGAIPubbrRVimNdimf()Iwm三B11II9cl三GB:PUbiirGAPl;IiftUdnl()rrtum2;IIwwdJmw(CAB)Irout“f(hI,oUlii*pi三y(CA&)QaUl*.11)I1*mtn()GA:4w)pby(a)CBh;bv(b)ify(b):ehiE0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号