二级C++真题及答案解析.docx

上传人:b****6 文档编号:3974878 上传时间:2022-11-26 格式:DOCX 页数:51 大小:38.52KB
下载 相关 举报
二级C++真题及答案解析.docx_第1页
第1页 / 共51页
二级C++真题及答案解析.docx_第2页
第2页 / 共51页
二级C++真题及答案解析.docx_第3页
第3页 / 共51页
二级C++真题及答案解析.docx_第4页
第4页 / 共51页
二级C++真题及答案解析.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

二级C++真题及答案解析.docx

《二级C++真题及答案解析.docx》由会员分享,可在线阅读,更多相关《二级C++真题及答案解析.docx(51页珍藏版)》请在冰豆网上搜索。

二级C++真题及答案解析.docx

二级C++真题及答案解析

二级C++真题2014年3月及答案解析

(1/40)单项选择题

第1题

一个教师可讲授多门课程,一门课程可由多个教师讲授。

则实体教师和课程间的联系是(  )。

A.1:

1联系

B.1:

m联系

C.m:

1联系

D.m:

n联系

下一题

(2/40)单项选择题

第2题

Tilil程序的运行结果是(  )。

#include<iostream.h>voidmain()

{

inti=1:

while(i<=8)

if(++i%31=2)continue:

elsecout<<i;

}

A.25

B.36

C.258

D.369

上一题下一题

(3/40)单项选择题

第3题

下列关于线性链表的叙述中,正确的是(  )。

A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致

B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续

C.进行插入与删除时,不需要移动表中的元素

D.以上说法均不正确

上一题下一题

(4/40)单项选择题

第4题

对于一个类定义,下列叙述中错误的是(  )。

A.如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数

B.如果没有定义缺省的构造函数,编译器一定将生成一个缺省的构造函数

C.如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数

D.如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数

上一题下一题

(5/40)单项选择题

第5题

为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为(  )。

A.public

B.protected

C.private

D.static

上一题下一题

(6/40)单项选择题

第6题

下列关于运算符函数的描述中,错误的是(  )。

A.运算符函数的名称总是以operator为前缀

B.运算符函数的参数可以是对象

C.运算符函数只能定义为类的成员函数

D.在表达式中使用重载的运算符相当予调用运算符重载函数

上一题下一题

(7/40)单项选择题

第7题

一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是(  )。

A.12345ABCDE

B.EDCBA54321

C.ABCDEl2345

D.5432lEDCBA

上一题下一题

(8/40)单项选择题

第8题

在数据管理技术发展的三个阶段中,数据共享最好的是(  )。

A.人工管理阶段

B.文件系统阶段

C.数据库系统阶段

D.三个阶段相同

上一题下一题

(9/40)单项选择题

第9题

下面程序的运行结果为(  )。

#include<iostream.h>

voidmain(){

chara=’3’:

switch(8)

{

case'3':

cout<<”3”:

case'2':

cout<<”2”;break;default:

cout<<”l”;

}

}

A.3

B.321

C.31

D.32

上一题下一题

(10/40)单项选择题

第10题

数据库设计中反映用户对数据要求的模式是(  )。

A.内模式

B.概念模式

C.外模式

D.设计模式

上一题下一题

(11/40)单项选择题

第11题

一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为(  )。

A.16

B.10

C.6

D.4

上一题下一题

(12/40)单项选择题

第12题

下列(  )是C++语言的有效标识符。

A.No1

B.N0.1

C.12345

D.int

上一题下一题

(13/40)单项选择题

第13题

下列关于运算符重载的叙述中,错误的是(  )。

A.有的运算符可以作为非成员函数重载

B.所有的运算符都可以通过重载而被赋予新的含义

C.不得为重载的运算符函数的参数设置默认值

D.有的运算符只能作为成员函数重载

上一题下一题

(14/40)单项选择题

第14题

下列关于栈的叙述正确的是(  )。

A.栈按“先进先出”组织数据

B.栈按“先进后出”组织数据

C.只能在栈底插入数据

D.不能删除数据

上一题下一题

(15/40)单项选择题

第15题

软件生命周期中的活动不包括(  )。

A.市场调研

B.需求分析

C.软件测试

D.软件维护

上一题下一题

(16/40)单项选择题

第16题

下面对静态数据成员的描述中,正确的是(  )。

A.静态数据成员是类的所有对象共享的数据

B.类的每个对象都有自己的静态数据成员

C.类的不同对象有不同的静态数据成员值

D.静态数据成员不能通过类的对象调用

上一题下一题

(17/40)单项选择题

第17题

软件按功能可以分为:

应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是(  )。

A.编译程序

B.操作系统

C.教务管理系统

D.汇编程序

上一题下一题

(18/40)单项选择题

第18题

下面叙述中错误的是(  )。

A.软件测试的目的是发现错误并改正错误

B.对被调试的程序进行“错误定位”是程序调试的必要步骤

C.程序调试通常也称为Debug

D.软件测试应严格执行测试计划,排除测试的随意性

上一题下一题

(19/40)单项选择题

第19题

层次型、网状型和关系型数据库划分原则是(  )。

A.己录长度

B.文件的大小

C.联系的复杂程度

D.数据之间的联系方式

上一题下一题

(20/40)单项选择题

第20题

下面程序的运行结果为(  )。

#include<iostream.h>voidswap(int&a,intB.inttemp;

temp=a++:

a=b:

b=temp;

}

voidmain()

{

ima=2,b=3;swap(a,B.;

eout<<a<<”,”<<b<<endl;

}

A.2,3

B.3,2

C.2,2

D.3,3

上一题下一题

(21/40)单项选择题

第21题

有如下程序:

#inClude<iostream>usingnamespaCestd;ClassMyClass{

publiC:

MyClass(intX):

val(X){}

voidPrint()Const}tout<<”Const:

val=”<<val<<’\t’;}voidPrint(){tout<<”val=”<<val<<’\t’;}

private:

intval;};

intmain(){

ConstMyClassobjl(10);MyClassobj2(20);

objl.Print();obj2.Print();retum0;

}

执行这个程序的输出结果是(  )。

A.val=10Const:

val=20

B.Const:

val=10Const:

val=20

C.Const:

val=10val=20

D.val=10val=20

上一题下一题

(22/40)单项选择题

第22题

一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是(  )。

A.一对一

B.一对多

C.多对多

D.多对一

上一题下一题

(23/40)单项选择题

第23题

下列程序的运行结果是(  )。

#include<iostream.h>classLoeation{

private:

intX,Y;

public:

voidinit(int=0,int=0);

voidvalueX(intval){X=val;}intvalueX(){returnx;}

voidvalueY(intval){Y=val;}intvalueY(){returnY;}};

voidLocation:

init(intinitX,intinitY){X=initX;

Y=initY4}

voidmain(X

{LocationA,B;

A.5

0

6

4

B.0

0

6

4

C.5

0

6

2

D.0

0

6

2

上一题下一题

(24/40)单项选择题

第24题

下面程序的运行结果为(  )。

#include<iostream.h>classA

staticintn;

public:

A(){n=1;}

A(intnum){n=hum;}voidprint(){cout<<n;}}:

intA:

n=2;

voidmain(){

Aa,b(3);a.print();b.print();

cout<<endl:

A.11

B.13

C.23

D.33

上一题下一题

(25/40)单项选择题

第25题

负责数据库中查询操作的数据库语言是(  )。

A.数据定义语言

B.数据管理语言

C.数据操纵语言

D.数据控制语言

上一题下一题

(26/40)单项选择题

第26题

已知枚举类型声明语句为:

enumCOl,OR{WHITE,YELLOW,GREEN=5,RED,BLACK=10};

则下列说法中错误的是(  )。

A.枚举常量YELLOW的值为1

B.枚举常量RED的值为6

C.枚举常量BLACK的值为10

D.枚举常量WHITE的值为1

上一题下一题

(27/40)单项选择题

第27题

有如下程序:

#include<iostream>

usingnamespacestd;

classBase

{

public:

voidfunl(){cout<<”Base\n”;}

virtualvoidfun2(){eout<<”Base\n”;}

};

classDerived:

publicBase{

public:

voidfunl(){eout<<”Derived、n”;}

voidfura(){eout<.<”Derived\n”;}

};

voidf(Base&B.}b.funl();b.ftm2();}

intmain()

{

Derivedobj;

f(obj);

return0;

}

执行这个程序的输出结果是(  )。

A.Base

Base

B.Base

Derived

C.Derived

Base

D.Derived

Derived

上一题下一题

(28/40)单项选择题

第28题

有如下类声明:

classSAMPLE

{

intn:

public:

SAMPLE(inti=0):

n(i){}

voidsetValue(intnO);

};

下列关于9etValue成员函数的定义中,正确的是(  )。

A.SAMPLE:

setValue(intnO){n=n0;}

B.voidSAMPLE:

setValue(int胡){n=n0;

C.voidsetValue(intnO){n=n0;}

D.setValue(intnO){n=n0;}

上一题下一题

(29/40)单项选择题

第29题

下列关于c++函数的说明中,正确的是(  )。

A.内联函数就是定义在另一个函数体内部的函数

B.函数体的最后一条语句必须是return语句

C.标准c++要求在调用一个函数之前,必须先声明其原型

D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式

上一题下一题

(30/40)单项选择题

第30题

有如下程序:

#inClude<iostream>usingnamespaCestd;ClassMusiC{

publiC:

voidsetTitle(Char*str){strCpy(title,str);}proteCted:

Chartype[10];private:

Chartitle[20];

ClassJazz:

publiCMusiC{publiC:

voidset(Char*str){

strCpy(type,”Jazz'’);//①strCpy(title,str);//②

}};下列叙述中正确的是(  )。

A.程序编译正确

B.程序编译时语句①出错

C.程序编译时语句②出错

D.程序编译时语句①和②都出错

上一题下一题

(31/40)单项选择题

第31题

在公有继承的情况下,允许派生类直接访问的基类成员包括(  )。

A.公有成员

B.公有成员和保护成员

C.公有成员、保护成员和私有成员

D.保护成员

上一题下一题

(32/40)单项选择题

第32题

有三个关系R、S和T如下:

图片

由关系R和S通过运算得到关系T,则所使用的运算为(  )。

A.笛卡尔积

B.交

C.并

D.自然连接

上一题下一题

(33/40)单项选择题

第33题

有如下类定义:

classMyClass

{

public:

private:

______________________________________

intdata;

};

若要为MyClass类重载流输入运算符“>>”,使得程序中可以“cin>>obj;”的形式改变MyClass类的对象0bj中数据成员data的值,则横线处的声明语句应为(  )。

A.friendistream&operator>>(istream&is,MyClass&A.;

B.friendistream&operator>>(istream&is,MyClassA.;

C.istream&operator>>(istream&is,MyClass&A.;

D.istream&operator>>(istream&is,MyClassA.;

上一题下一题

(34/40)单项选择题

第34题

有如下程序:

#inClude<iostream>usingnamespaCestd;ClassSample{

friendlongfun(SampleS);publiC:

Sample(10ngA.{x=a;}private:

longX;

};longfun(SampleS){

if(S.x<2)returnl;

returnS.X*fun(Sample(s.x-1));}

intmain(  ){

intsum=0;

for(inti=0;i<6;i++){sum+=fun(Sample(i));}

Cout<<sum:

return0;

}

执行这个程序的输出结果是(  )。

A.120

B.16

C.154

D.34

上一题下一题

(35/40)单项选择题

第35题

有如下程序:

#inClude<iostream>usingnamespaCestd;ClassBook{

publiC:

Book(Char*t=””){strCpy(title,t);}

private:

Chartitlel40];};

ClassNovel:

publiCBook{publiC:

Novel(Char*t=””):

Book(t){}

Char*Category(  )Const{return”文学”;}};

intmain(  ){Book*pb;pb=newNovel(  );

Cout<<pb→Category(  );deletepb;

return0;}

若程序运行时输出结果是“文学”,则横线处缺失的语句是(  )。

A.Char*Category(  );

B.Char*Category(  )Const;

C.virtualChar*Category(  )Const;

D.virtualChar*Category(  )Const=0;

上一题下一题

(36/40)单项选择题

第36题

有如下头变件:

intf1()

StatiCintf2();ClassMA

publiC:

intf3();

1statiCintf4();

};

在所描述的函数中,具有隐含的this指针的是(  )。

A.f1

B.f2

C.B

D.f4

上一题下一题

(37/40)单项选择题

第37题

下面对静态数据成员的描述中,正确的是(  )。

A.静态数据成员可以在类体内进行初始化

B.静态数据成员不可以被类的对象调用

C.静态数据成员不能受private控制符的作用

D.静态数据成员可以直接用类名调用

上一题下一题

(38/40)单项选择题

第38题

设inta=10,b=11,C=12;,表达式(a+B.<C&&b==C的值是(  )。

A.2

B.0

C.-2

D.1

上一题下一题

(39/40)单项选择题

第39题

下列说法正确的是(  )。

A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方

B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方

C.类的内联函数必须在类体内定义

D.类的内联函数必须在类体外通过加关键字inline定义

上一题下一题

(40/40)单项选择题

第40题

下面对于友元函数描述正确的是(  )。

A.友元函数的实现必须在类的内部定义

B.友元函数是类的成员函数

C.友元函数破坏了类的封装性和隐藏性

D.友元函数不能访问类的私有成员

上一题下一题

(1/1)基本操作题

第41题

请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程projl,此工程中含有一个源程碍文件projl.epp。

其中位于每个注释“//ERROR****found****”之后的一行语句存在错误。

请改正这些错误,使程序的输出结果为:

ConstruCtorCalled.Thevalueis10

CopyConstruCtorCalled.Thevalueis10

DestruCtorCalled.DestruCtorCalled.注意:

只修改注释“//ERROR****found****”的下一行语句,不要改动程序中的其他内容。

//pwjl.Cpp

#inClude<iostream>’usingnamespaCestd;ClassMyClass{

publiC:

//ERROR**********found**********

MyClass(inti)

{value=i;Cout<<”ConstruCtorCalled.”<<endl;}

//ERROR**********found**********MyClass(eonstMyClassP)

{

value=P.value;

eout<<”CopyConstruCtorCalled.”<<endl;

}

voidPrint()

{Cout<<”Thevalueis”<<value<<endl;}

//ERROR**********found*********void-MyClass()

{Cout<<”DestruCtorCalled.”<<endl;}

private:

intvalue;

};intmain()

{MyChasobjl

owl.Print();

MyClmssobj2(owl);obj2.Print();

retum0;

上一题下一题

(1/1)简单应用题

第42题

请使用VC6或使用【答题】菜单打开考生文件夹pr092下的工程pros2。

此工程中包含一个程序文件main.cpp,其中有“部门”类Department和“职工”类Staff的定义,还有主函数main的定义。

在主函数中定义了两个“职工”对象,他们属于同一部门。

程序展示,当该部门改换办公室后,这两个人的办公室也同时得到改变。

请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。

此程序的正确输出结果应为:

改换办公室前:

职工号:

0789姓名:

张三部门:

人事处办公室:

521

职工号:

0513姓名:

李四部门:

人事处办公室:

521

改换办公室后:

职工号:

0789姓名:

张三部门:

人事处办公室:

311

职工号:

0513姓名:

李四部门:

人事处办公室:

311

注意:

只在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。

#include<iostream>

usingnamespacestd;

classDepartment{//“部门”类

public:

Department(constchar*name,constchar*office){

strcpy(this一>name,nanle);

//**********found**********

}

constchar*getName()const{returnname;}//返回部门名称

//**********found**********

constchar*getOffice()const{________}//返回办公室房号

voidchangeOfficeTo(constchar*office){//改换为指定房号的另一个办公室

strcpy(this一>office,office);

}

private:

charname[20];//部门名称

charoffice[20];//部门所在办公室房号

};

classstaff{//“职工”类

public:

//**********found**********

Staff(constchar*my—id,constchar木my_name,Department&my_dept):

——{

strcpy(this一>staffid,my_id);

strcpy(this一>name,my_name);

}

constchar*getlD()const{returnst

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

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1