目录: 标题| 题干| 答案| 搜索| 相关
问题

有以下程序 main() { int x=3,y=2,z=1; printf


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

  • A3
  • B2
  • C1
  • D0
参考答案
参考解析:

解析:位与运算符“&”,按二进位进行“与”运算,如果两个相应的二进制位都为1,则该位的结果值为1,否则为0;取反运算符“~”,用来对一个二进制按位取反,即将0变1,1变0。在prinf()函数的表达式中,“&”前面表达式的值为1(3/2=1)表示为二进制为00000001,而按位取反运算符“~”的优先级高于按位与运算符“&”,先计算“&”后面的取反运算符“~”。z的二进制表示为00000001,取反后为11111110,最后进行“&”,即“00000001&11111110”可知结果为00000000,故最后的值为0。

分类:其他
相关推荐

1、以下程序的输出结果是( )。int x=10,y=10;printf(“%d

以下程序的输出结果是( )。int x=10,y=10;printf(“%d %dn”,x--,--y);A 10 10B 9 9C 9 10D 10 9

2、有以下程序#define F(X,Y)(X)*(Y)main(){ int

有以下程序#define F(X,Y)(X)*(Y)main(){ int a=3, b=4; printf("%d\n", F(a++, ++b));}程序运行后的输出结果是A.12 B.15C.16 D.20A12 B15C16 D20

3、有以下程序main(){ int i=10,j=1;printf("%d,%

有以下程序main(){ int i=10,j=1;printf("%d,%dn",i--,++j);}执行后的输出结果是A.9,2 B.10,2C.9,1 D.10,1A9,2 B10,2C9,1 D10,1

4、有以下程序 main() { int a=666,b=888; Printf

有以下程序 main() { int a=666,b=888; Printf("%d ",a,b) ; } 程序运行后的输出结果是A错误信息B666C888D666,888

5、下面程序 main() { int x=32; printf("%d ",x

下面程序 main() { int x=32; printf("%d ",x=x<<1); } 的输出是______。A100B160C120D64

6、有以下程序: main() { int i=10,j=1; printf("

有以下程序: main() { int i=10,j=1; printf("%d,%d ",i--,++j); } 执行后的输出结果是 ______。A9,2Bl0,2C9,1D10,1