当前位置

首页 > 互联网 > 计算机 > 计算机二级 > 2016年9月计算机二级《C++》机考试题及答案

2016年9月计算机二级《C++》机考试题及答案

推荐人: 来源: 文萃屋 阅读: 1.49W 次

1)有以下程序

2016年9月计算机二级《C++》机考试题及答案

#include

void main()

{ int a=5,b=0,c=0;

if(a=b+c)cout << "***"<< ?$$$?<下列选项叙述正确的是<>

A)有语法错不能通过编译

B)可以通过编译但不能通过连接

C)输出***

D)输出$$$

(2)已知各变量的定义如下

int i=8,k,a,b;

unsigned long w=5;

double x=1.42,y=5.2;

则以下符合C++语言语法的表达式是

A)a+=a-=(b=4)*(a=3)

B)a=a*3+2

C)x%(-3)

D)y=float i

(3)以下程序中循环体总的执行次数是

int i,j;

for(i=6;i>1;i--)

for(j=0;j{……}

A)20

B)261

C)15

D)25

(4)对于下面的程序,说法正确的是

#include

void main()

{ int x=3,y=4,z=2;

if(x=y+z)cout << "x=y+z";

else cout << "x!=y+z";}

A)不能通过编译

B)输出6

C)输出x!=y+z

D)输出x=y+z

(5)下列程序的输出结果是

#include

void main()

{ int a[3],i,j,k=2;

for(i=0;i<3;i++)a[i]=i;

for(i=0;ifor(j=0;ja[j]=a[i];

cout << a[2];}

A)2

B)3

C)1

D)0

  参考答案:

(1)D

解析: 解答本题时,先判断if语句,因为a=b+c为零,则执行else语句。

(2)A

解析: 选项B)中a在运算前未赋初值,在C++语言里变量在运算前必须赋初值;选项C)中的模运算符"%"两侧均应为整型数据;选项D)应改为y=(float)i。

(3)A

解析: 本题中第1个for循环执行5次后结束,第2个for循环执行5次。第2个for循环中第1次执行了6次,第2次执行了5次,第3次执行了4次,第4次执行了3次,第5次执行了2次,共20次。

(4)D

解析: 解答本题关键是要理解if后面的括号里的是赋值语句而并非关系判断,赋完值后x不等于零,C++语言里非零都作真处理,所以输出结果为"x=y+z",故答案为选项D),注意"="与"=="的`区别。

(5)A

解析: 本题里有三个for循环,但要分清楚,第一个是单独的给三个元素赋值,赋完值后三个a[0]=0,a[1]=1,a[2]=2;后面的两个for是嵌套循环,对数组元素的赋值,但由于k=2,初值已定for里的条件是小于k,所以不管怎么处理都影响不到a[2],故答案为2。