计算机二级

下面程序的输出结果是 ( ) main( ) {int x,y,z; x=0;y=z=-1; x+=-z - - -y printf("x=%d\n",x); }A.x=4B.x=0C.x=2D.x=3

题目

下面程序的输出结果是 ( ) main( ) {int x,y,z; x=0;y=z=-1; x+=-z - - -y printf("x=%d\n",x); }

A.x=4

B.x=0

C.x=2

D.x=3

参考答案和解析
正确答案:C
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序的输出结果是:() main() { int x=-10,y= 1,z=1; if(x<y) if(y<0) z=0; else z=z+1; printf(“%dn”,z); }

A.0

B.1

C.2

D.3


-1

第2题:

以下程序的输出结果是() main() { int x=2,y=-1,z=2; if(x<y) if(y<0) z=0; else z+=1; printf(“%dn”,z); }

A.3

B.2

C.1

D.0


0 0 3

第3题:

下面程序运行的结果是______。 main() { int x,y,z; x=0; y=z=-1; x+=-z---y; printf("x=%d\n",x); }

A.x=4

B.x=0

C.x=2

D.x=3


正确答案:C

第4题:

若有如下程序: main() {int x=3,y=4,z; z=(x+(y-=X*X)); printf("%d,%d\n",y,z); } 则程序执行后的输出结果是( )。

A.-4,2

B.-5,-2

C.-5,-1

D.4,-2


正确答案:B
解析:因为x的初始值为3,所以x*x=9,而y的初始值为4,所以y-=9后,y为-5,z=(x+(y-=x*x))=3+(-5)=-2。故程序执行后的输出结果是-5,-2,选项B正确。

第5题:

下面程序运行的结果是______。 main() { int x,y,z; x=0;y=z=-1; x+=-z---y; printf("x=%d\n",x); }

A.x=4

B.x=0

C.x=2

D.x=3


正确答案:C
解析:表达式“x+=-z---y”等价于“x=x+(-z-(-(-y)))=0+(1-(-1))=2”。

第6题:

以下程序执行后的输出结果是includeusing namcspace std;void try(int,int,int,int);

以下程序执行后的输出结果是 #include<iostream> using namcspace std; void try(int,int,int,int); int main() { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<end1; return 0; } void try(int x,int y, int z,int r) { z = x+y; x = x*x; y = y*y; r = z+x+y; }

A.18

B.9

C.10

D.不确定


正确答案:D
解析:本题考核函数调用(参数的传递)。本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。以下是正确解答,根据程序逐步分析:程序中定义了一个名为try的void型函数,即函数try没有任何返回值。而try函数在main函数中是以一条独立语句的方式被调用的,且main函数最后输出变量r的值。但在main函数中,并没有对变量r赋值。在C++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以虽然在函数try中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

第7题:

下面程序的输出结果是( ) main() { int x=2,y=0,z; x+=3+2;printf("%d",x); x*=y=z=4;printf("%d",x); }

A.7 28

B.无法计算

C.7,4

D.8,4


正确答案:A

第8题:

下面程序的输出结果是 ( )

main( )

{ int x,y,z;

x=0,y=z=-1;

x+=-z- - -y;

pritnf("x=%d\n",x);

}

A.x=4

B.x=0

C.x=2

D.x=3


正确答案:C

第9题:

阅读下面程序,则在执行时候的输出为 【8】 。

#include "stdio.h"

main()

{int x=1,y=2,z=0;

if(x=2)z=x,x=y,y=z;

printf("%d,%d\n",x,y);}


正确答案:
2,2