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

题目

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

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

第1题:

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

如下程序的运行结果是______。 #include<stdio.h> main() { int x=y=3,z=1; printf ("%d%d\n",(++x,y++),z+2); }

A.3 4

B.4 2

C.4 3

D.3 3


正确答案:D

第2题:

有如下程序 main() {int y=3,x=3,z=1; printf("%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。

第3题:

有以下程序; 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

第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 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。

第6题:

有以下程序:includemain(){int x=3,y=2,z=1; printf("%d\n",x/y&~z);程序运行后的

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

A.3

B.2

C.1

D.0


正确答案:D
解析:&是按位“与”运算符,若参加运算的两个运算量的相应位都为1,则该位的结果值为1,否则为0。~是“取反”运算符,用来对一个二进制数按位取反,即将0变1,1变0。对于x/y&~z,先计算x/y的值,结果为1,用十六进制表示为0001;z用十六进制表示为0001,则~z为FFFE;最后进行&运算,整个表达式的值为0。

第7题:

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

第8题:

有以下程序

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的值为1,然后按位对非1数进行与运算,则结果必为0。

第9题:

有以下程序: 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。