当前位置:学者斋 >

IT认证 >计算机等级 >

2016年计算机二级C++考试试卷及答案

2016年计算机二级C++考试试卷及答案

  选择题(每小题1分,共40小题,共40分)

2016年计算机二级C++考试试卷及答案

1.数据的存储结构是指(  )。

A.数据所占的存储空间

B.数据的逻辑结构在计算机中的存放形式

C.数据在计算机中的顺序存储方式

D.存储在计算机外存中的数据

2.将E-R图转换到关系模式时,实体与实体间的联系可以表示成(  )。

A.属性

B.关系

C.键

D.域

3.对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为(  )。

A.125

B.n/Z

C.n

D.n+1

4.树是结点的集合,它的根结点的数目是(  )。

A.有且只有1个

B.1或多于1

C.0或1

D.至少有2个

5.设R是一个二元关系,S是一个三元关系,则下列运算中正确的是(  )。

A.R-S

B.R×S

C.R∩S

D.R∪S

6.关于结构化程序设计原则和方法的描述错误的是(  )。

A.选用的结构只允许有一个入口和一个出口

B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现

C.不允许使用GOTO语句

D.语言中所没有的控制结构,应该采用前后一致的方法来模拟

7.对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为(  )。

A.并运算

B.交运算

C.差运算

D.积运算

8.下列叙述中正确的是(  )。

A.在面向对象的程序设计中,各个对象之间具有密切的关系

B.在面向对象的程序设计中,各个对象都是公用的

C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小

D.上述三种说法都不对

9.结构化程序设计的三种基本结构是(  )。

A.过程、子程序和分程序

B.顺序、选择和重复

C.递归、堆栈和队列

D.调用、返回和转移

10.在数据库设计中,将E-R图转换为关系模式的过程属于(  )。

A.需求分析阶段

B.逻辑设计阶段

C.概念设计阶段

D.物理设计阶段

11.在C++语言中函数返回值的类型是由(  )决定的。

A.调用该函数时系统临时

rn语句中的表达式类型

C.定义该函数时所指定的函数类型

D.调用该函数时的主调函数类型

12.下列描述正确的是(  )。

A.表示m>n为true或mn&&m  ch语句结构中必须有default语句

语句结构中必须有else语句

D.如果至少有一个操作数为true,则包含‖运算符的表达式为true

13.使用ifstream流类定义流对象并打开磁盘文件时,文件的隐含打开方式为(  )。

::in

::out

::inlios::out

D.没有默认

14.下列各类函数中,不是类的成员函数的是(  )。

A.构造函数

B.抽象类

C.派生类

D.以上都不对

15.下面关于数组的初始化正确的是(  )。

str[]={’a’,’b’,’e’}

str[2]={’a’,’b’,’e’)

str[2][3]={{’a’,’b’},{’C’,’d’},{’e’,’f’}}

str()={’a’,’b’,’C’}

16.类模板templateclassX{…},其中友元函数f对特定类型T(如int),使函数f(x)成为x模板类的友元,则其说明为(  )。

ndvoidf();

ndvoidf(x);

ndvoidA::f();

ndvoidC::f(x);

17.类MyClass的定义如下:

classMyClass

{

public:

MyClass(){value=0;}

SetVariable(inti){valtic=i;}

private:

intvalue;

};

MyClass*P,my;p=&my;

则对下列语句序列正确的描述是(  )。

A.语句p=&my;是把对象my赋值给指针变量P

B.语句MyClass*P,my;会调用两次类MyClass的构造函数

C.对语句*ariable(5)的调用是正确的

D.语句P->SetVariable(5)与语句ariable(5)等价

18.下面关于break语句的描述中,不正确的是(  )。

k可以用于循环体内

k语句可以在for循环语句中出现多次

k语句可以在switch语句中出现多次

k语句可用于if条件判断语句内

19.如果表达式-x/y中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为(  )。

ator/(ator--(),y);

ator/(operator--(x),y);

ator--()ator/(y);

ator/(operator--(x));

20.已知类A有公用数据成员a,并重载了=运算符,且有Aobj2;constA*ptr=newA;,则下列语句错误的是(  )。

->a=100;

=&obj2;

++;

2=*ptr;

21.可以用P.a的形式访问派生类对象P的基类成员a,其中a是(  )。

A.私有继承的公有成员

B.公有继承的私有成员

C.公有继承的保护成员

D.公有继承的公有成员

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

#include

classA

{

intnum;

public:

A(inti){num=i;)

A(A&a){num=++;}

voidprint(){cout<  };

voidmain()

{

Aa(1),b(a);

t();

t();

}

A.11B.12

C.21D.22

23.设有定义charstr[80];以下不能将输入数据firstnsecondn读取到数组str中的语句是(  )。

(str,strlen(str));

ine(str,strlen(str));

>>str;

(str,strlen(str));

24.下列程序的输出结果为(  )。

#include

classTestClass

{

public:

TestClass(){val++;}

static,intval;

};

intTestClass::val=0;

voidmain()

{

TestClasscsl;

cout<  TestClasscs2;

TestClasscs3,cs4;

cout<  }

A.O3

B.13

C.14

D.24

25.有以下类定义:

classMyClass

{

private:

intid;

chargender;

char*phone;

public:

MyClass():id(0),gender(’#’),phone(NULl){}

MyClass(intn0,charge=’#’,char*ph=NULL)

{id=no;gender=ge;phone=ph;}

};

下列类对象定义语句中错误的是(  )。

assmyObj;

assmyObj(11,"13301111155");

assmyObj(12,’m’);

assmyObj(12);

26.下列是关于派生类声明的开始部分,其中正确的是(  )。

  • 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/itrz/dengji/pmemd0.html