计算机二级

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

题目

若有如下程序: 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

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

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

第2题:

以下程序的输出结果是 【10】 。

fun (int x,int y,int z)

{ z =x*x+y*y;}

main ()

{int a=31;

fun (6,3,a)

printf ("%d", a)

}


正确答案:
31

第3题:

阅读下面程序,则在执行时候的输出为 【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

第4题:

有如下程序 main() { int y=3,x=3,z=1; printf("%d%d\n",(++x,y++),z+2); } 运行该程序的输出结果是______。

A.3 4

B.4 2

C.4 3

D.3 3


正确答案:D
解析:逗号表达式(++x,y++)的值应该是y++的值,由于y++是先引用后自增,所以y++的值是3。

第5题:

有以下程序: main() { int x=3, y=2, z=1; printf("% d\n", x/y&~z); } 程序运行后的输出结果是______。

A.3

B.2

C.-1

D.0


正确答案:D
解析:本题中表达式x/y&~z中运算符优先级的顺序为:~(按位取反)、/(除)、&(按位与),即首先执行~z得11111110,然后执行x/y=3/2=1,最后执行1&11111110=00000001 &11111110=00000000=0。

第6题:

有以下程序: void f(int v,int w) { int t; t=v;V=W;W=t; } main() { int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf("%d,%d<%d\n",x,y,Z); } 执行后输出结果是( )。

A.1,2,3

B.3,1,2

C.1,3,2

D.2,3,1


正确答案:C
解析:C语言规定else总是和离它最近的if语句配对。分析可以知道,。函数f()作用是让形参v和形参w的值交换。在主函数中首先定义了3个变量x、y和z。然后再执行下面的if-else语句。由程序可以看出第一个else和第一个if搭配,第二个else和第二个if搭配。由于调用函数时是进行值传递的。即将实参x、y、z传给形参v和w,以后行参和实参再无联系,故通过if语句调用f()函数后,x、y和z的值并没有改变。因此最后输出的x、y和z的值为1、3和2,所以,4个选项中选项C符合题意。

第7题:

以下程序段的执行结果为【】。includedefine PLUS(x, y) x+ yvoid main() { int x=1, y

以下程序段的执行结果为【 】。

include<iostream.h>

define PLUS(x, y) x+ y

void main()

{

int x=1, y=2,z=3,sum;

sum=PLUS(x+ y, z)*PLUS(y, z);

cout<<"SUM="<<sum;

cout<<end1;

}


正确答案:SUM=12
SUM=12

第8题:

有以下程序 main() {int x,y,z; x=y=1; z=x++,y++,++y; printf("%d,%d,%d\n",x,y,z); } 程序运行后的输出结果是______。

A.2,3,3

B.2,3,2

C.2,3,1

D.2,2,1


正确答案:C
解析:x++:表示在使用x之后,使x的值加1;y++:表示在使用y之后,使y的值加1;++y:表示在使用y之前,使 y的值加1。此题中执行z=x++,是将x的值先赋给z,所以z=1,接下来x自行加1,其结果为2:执行y++后,y=2,执行++后,y=3;故答案选C。

第9题:

若有程序 fun(int a,int b) { static int c=0 c+=a+b; retum c; } main () { int x=5,y=3,z=7,r; r=fun((y,x+y),z); r=fun(x,y); printf("%d\n",r); } 上面程序的输出结果______。

A.23

B.15

C.19

D.18


正确答案:A
解析:static 声明的外部变量只限于被本文件引用,而不能被其他文件引用 static来声明—个变量的作用有:①对局部变量用 static声明,则为该变量分配的空间在整个程序执行期间始终存在;②全部变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。调用第—个fun,其两个实参的值为(3,5+3)与7即8与7,在函数fun执行结束返回15。第二次调用fun时,由于static为静态类型,其值保留,执行fun(5,3)后,其返回值为23,故选A。

第10题:

若有如下程序: sub(int a,int b,int c) { c=a+b; return(c);} main() {int x=3,y=4,z=6; sub(x,y,z); printf('%d”,z); } 则程序运行后的输出结果是( )。

A.3

B.6

C.7

D.4


正确答案:B
解析:本题定义了——个子函数sub(),因为sub()的形参为int型变量,而不是指针,即为传值调用,所以sub()函数不会改变实参x、y、z的值,故最后输出结果为6,应该选择B。

更多相关问题