设有一个整数x 其二进制值为10011100 (用1 字节表示),则执行如下语句后 z的二进制值为:int y = 1 << 7;int z = x & y;

题目
设有一个整数x 其二进制值为10011100 (用1 字节表示),则执行如下语句后 z的二进制值为:int y = 1 << 7;int z = x & y;

A.10000001

B.10000000

C.00000001

D.10011101

E.10011100

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

第1题:

执行下面程序段后,z值为( )。int x=1,y=2,z=3;z=z/(float)(x/y);

A.编译无法通过

B.6

C.3

D.2


正确答案:A

第2题:

若有定义语句:int x=3,y=2,z=1;则表达式x <y?x:y的值是______。


正确答案:2
2

第3题:

设有以下语句:

char x=3,y=6,z;

z=x^y<<2;

则z的二进制值是

A.00010100

B.00011011

C.00011100

D.00011000


正确答案:B

第4题:

设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。A.1SX

设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。

A.1

B.0

C.4

D.3


正确答案:D

第5题:

设x、y、z、t均为int型变量,则执行以下语句后,t的值是 ( ) x=y=z=l; t=+ + x | | + + y &&am

设x、y、z、t均为int型变量,则执行以下语句后,t的值是 ( ) x=y=z=l; t=+ + x | | + + y && + + z;

A.不定值

B.2

C.1

D.0


正确答案:C

第6题:

设有如下的变量定义:

double x=4.700000;float y=2.5f;int z=7;

则执行表达式“y+z%3* (int) (x+y)%2/4”后的值是【 】。


正确答案:5
5 解析:根据算术运算的优先级规则,应先执行z%3* (int) (x+y)%2/4之后,再用其值与 y作加法运算。z%3*(int) (x+y)%2/4的执行顺序为先计算z%3,得值为1,再计算x+y并取整,其值为7,用z%3的值1.与(int) (x+y)的值7相乘得7,再计算7%2得值为1,再计算1/4,由于两个整数相除,其结果为商的整数部分,所以1/4的值为0。最后执行y+0,其结果为2.5。

第7题:

设有如下定义 int x=10,y=3,z; 则语句 printf("%d\n",z=(x%y,x/y)); 的输出结果是( )

A.3

B.0

C.4

D.1


正确答案:A

第8题:

设有以下语句 char x=3,y=6,Z; z=x^y<<2; 则z的二进制值是

A.00010100

B.00011011

C.00011100

D.00011000


正确答案:B
解析: 本题考查两个位运算符。
按位异或运算符“^’是双目运算符,其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异或时,结果为1。
左移运算符“”是双目运算符,其功能是把“”左边的运算数的各二进位全部左移若于位,由“”右边的数指定移动的位数,高位丢弃,低位补0,并且“”运算符的优先级高于“^’。

第9题:

若x、y、z、m均为int型变量,则执行下面语句后m的值是( )。 m=1; x=2; y=3; m=(m<x) ? m : x; m=(m<y) ? m : y; m=(m<y) ? m : z;

A.1

B.2

C.3

D.4


正确答案:A
解析:?:运算符首先执行?之前的表达式,如果表达式的值为真,则返回?和:之间的表达式的值,否则返回:之后的表达式的值。本题中m比x和y都要小,所以,3个表达式都没有改变m的值,故应该选择A。

第10题:

设x,y,z均为整型变量,现有如下语句x=y=z=1;(++x||(++y&&++z));,则执行这个语句后y的值为A.2 B.1 C.0 D.不定值


正确答案:B
本题考查逻辑表达式“||”的求解过程。
在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是必须执行该逻辑表达式时才求出表达式的解。“||”为逻辑或运算,只有当该运算符左右两边的表达式都为假时(值为0),该逻辑运算的值才为假。只要有一个表达式为真,则该逻辑运算的值就为真。
进行逻辑或运算时,只要运算符左边的表达式为真(值不为0),则不用运行运算符右边的表达式。
题目中,初始时x、y、z的值都为1,运算符“||”左边为表达式++x,右边为表达式(++y&&++z)。程序运行时先判断表达式++x的值,该值为2,故该逻辑运算值为真,不需要执行运算符右边的表达式。