荟萃馆

位置:首页 > 计算机 > 计算机二级

全国计算机二级C++语言程序设计选择题练习试题

做试题是学习C语言程序设计课程过程中必不可少的环节,下面就是小编跟大家分享全国计算机二级C++语言程序设计选择题练习试题,欢迎大家阅读!

全国计算机二级C++语言程序设计选择题练习试题

1.从工程管理角度,软件设计一般分为两步完成,它们是( )。

A.概要设计与详细设计

B.数据设计与接口设计

C.软件结构设计与数据设计

D.过程设计与数据设计

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

A.一个逻辑数据结构只能有一种存储结构

B.数据的逻辑结构属于线性结构,存储结构属于非线性结构

C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率

D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率

3.下列关于完全二叉树的叙述中,错误的是( )。

A.除了最后一层外,每一层上的结点数均达到最大值

B.可能缺少若干个左右叶子结点

C.完全二叉树一般不是满二叉树

D.具有结点的完全二叉树的深度为[log2n]+1

4.如果进栈序列为e1、e2、e3、e4,则可能的出栈序列是( )。

A.e3、e1、e4、e2

B.e2、e4、e3、e1

C.e3、e4、e1、e2

D.任意顺序

5.原因排除法属于( )。

A.软件调试方法

B.黑盒测试方法

C.白盒测试方法

D.动态测试方法

6.在E—R图中,用来表示实体的图形是( )。

A.矩形

B.椭圆形

C.菱形

D.三角形

7.下列数据模型中,具有坚实理论基础的是( )。

A.层次模型

B.网状模型

C.关系模型

D.以上3个都是

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

2n

B.n/2

C.n

D.n+1

9.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是( )。

A.控制流

B.加工

C.数据存储

D.源和潭

10.数据库设计的根本目标是要解决( )。

A.数据共享问题

B.数据安全问题

C.大量数据存储问题

D.简化数据维护

11.以下选项中合法的实型常数是( )。

A.5E2.0

B.E—3

C.2EO

D.1.3E

12.下列字符串中可以用作C++语言标识符的是( )。

A.1234

~~bar

ual

D.34var

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

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

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

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

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

14.若有如下语句

#include

voidmain( )

{

intx=3:

do{

x=X-2:

cout<}while(!(--x));

}

则上面程序段( )。

A.输出的是1

B.输出的是1和-2

C.输出的是3和0

D.是死循环

15.有以下程序:

#include(iostream)

usingnamespacestd;

intmain( )

{

intx=15:

while(x>10&&x<50)

{

x++;

if(x/3)

{

x++;break;

}

}

cout

}

执行后的输出结果是( )。

A.15

B.16

C.17

D.18

16.以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误的原因是( )。

#include(iostream.h)

voidmain( )

{int*P,*q,a,b;

p=&a;

cout<<"inputa:";

cin>>P;

}

A.*P表示的是指针变量P的地址

B.P表示的是变量a的地址,而不是变量a的值

C.*P表示的是指针变量p的值

D.*P只能用来说明P是一个指针变量

17.下列有关拷贝构造函数的描述中错误的是( )。

A.拷贝构造函数是一种构造函数

B.拷贝构造函数与一般的构造函数一样,可以设置多个形参

C.每一个类中都必须有一个拷贝构造函数

D.拷贝构造函数的功能是用一个已知对象去初始化一个正在创建的对象

(cos(x))

(abs(cos(X*3.14/180)))

(abs(cos(X*(/180)))

(fabs(cos(x*3.14/180)))

19.函数swap(a,n)可完成对a数组从第1个元素到第n个元素两两交换。其中b[o]=1;b[1]=2;swap(b,2)。在运行调用函数中的语句后,b[0]和b[1]的值分别为( )。

A.1,1

B.1,2

C.2,2

D.2,1

20.有以下程序:

#include(iostream.h)

voidfun(inta,intb,intc)

{a=456,b=567,C=678;}

voidmain( )

{

intx=10,y=20,z=30;

fun(x,Y,z);

cout<}

输出结果是( )。

A.30,20,10

B.10,20,30

C.456,567,678

D.678,567,456

21.下列定义中P指向的地址可更改,但*P不能够更改的是( )。

tint*P;

*constP;

tint*constP;

*P;

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

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

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

ator--( )ator/(y);

ator/operator--(x));

23.下列程序输出的结果是( )。

#include

funl(chara,charb){charC;c=a;a=b;b=C;)

fun2(char*a,charb){charC;c=*a;*a=b;b=c;)

fun3(char*a,char*b){charC;C=*a;*a=*b;*b=C;)

voidmain( )

{

chara,b;

a=’A’;b=’B’;fun1(a,b);puta);putb);

a=’A’;b=’B’;fun2(&a,b);puta);putb);

a=’A’;b=’B’;fun3(&a,&b);puta);putb);

put’’);

}

AB

BA

BA

BA

24.下面程序的结果是( )。

#include(iostream.h>

classA

{

inta;

public:

A( ):a(1){}

voidshowa( )(cout<};

classB

{

inta;

public:

B( ):a(2){}

voidshowa( ){cout<};

classC:publicA,publicB

{

inta;

public:

C( ):a(3){}

voidshowa( ){cout<};

voidmain( )

{

CC;

a( );

}

A.1

B.2

C.3

D.程序有错误

25.有以下程序:

voidmain( )

{inta=5,b=4,c=3,d=2;

if(a>b>c)

cout=d)==1)

cout

cout<}

A.2

B.3

C.4

D.编译时有错,无结果

26.下列程序的执行结果是( )。

#include(iostream.h>

#include

classTestClass

{

public:

intX,y;

TestClass( ){x=y=0;}

TestClass(inta,intb){x=a;y=b;}

voiddisp( )

{

cout<<"x="<};

classB{public:B( ){cout<<"B";}};

classC:publicA{

Bb;

public:

C( ){cout<<"C";}

};

intmain( ){Cobj;return0;}

执行后的输出结果是( )。

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

#include

intx=5:

intfun(inta)

{

intC;

C=X*a:

returnC;

}

voidmain( )

{

intx=3,a=4;

x=x+fun(a);

cout<<"x="<}

A.x=15B.x=17

C.x=23D.x=25

31.以下函数值的返回值类型是( )。

fun(floatx)

{floaty;

y=3*x-4;

returny;

}

B.不确定

t

32.以下循环体的执行次数是( )。

voidmain( )

{inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--)cout<}

A.3

B.2

C.1

D.0

33.判断char型变量c是否为小写字母的正确表达式是( )。

A.’a’<=c<=’z’

B.(c>=A)&&(c<=z)

C.(’a’>=c)‖(’z’<=c)

D.(c>=’a’)&&(c<=’z’)

34.下列描述中,抽象类的特性是( )。

A.可以说明虚函数

B.可以定义友元函数

C.可以进行构造函数重载

D.不能说明其对象

35.以下关于友元函数的叙述不正确的是( )。

A.友元函数提供了类之间数据共享的一个途径

B.一个友元函数可以访问任何类的任何成员

C.友元函数破坏了数据的封装

D.友元函数增加了程序设计的灵活性

36.下面关于运算符重载的描述错误的是( )。

A.运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构

B.不是所有的运算符都可以进行重载

C.运算符函数的调用必须使用关键字0perator

D.在C++语言中不可通过运算符重载创造出新的运算符

37.与语句cout

<<’12’;

<<’xA’;

<<’’;

38.下面程序的运行结果是( )。

#include

intfun(inta[],intn)

{

intresult=1;

for(inti=1;i(n;i++)

result=result*a[i];

returnresult;

}

voidmain( )

{

inta[3]={3,4,5);

coHt<}

A.12

B.15

C.20

D.60

39.下面程序的运行结果是( )。

#include

voidmain( )

{

inti=1:

while(i<=8)

if(++i%3!=2)continue;

elsecout<}

A.25

B.36

C.258

D.369

40.下列程序的运行结果为( )。

#include(iostream.h>

template(classTT>

classFF

{TTa1,a2,a3;

public:

FF(TTb1,TTb2,TTb3){a1=b1;a2=b2.;a3=b3;)

TTSum( ){returna1+a2+a3;}};

voidmain( )

{FFx(int(1.1),2,3),y(int(4.2),5,6);

cout

B.615

C.615.2

D.6.115