设x , y和int型变量,且x = 3, y = 4 , z = 5 则下面表达式中使x值为0的是( ) 。

A)!((z < y )&&(x-=3)) B) (x-y-1 ) && y
C) (z-y) || (!(x-=3)) D) y||z&&(x-=3)
为什么是D

ACD 中有 x-=3 有可能使X=0 B是直接排除了。

A中&&的要求是 前面和后面的都为1才为真,若前面的为0,则没有必要判断后面了,因为一定为假。(z < y ) 这是假,所以(x-=3)没有被执行

C和A是一样的意思,|| 只要有一个为真 就为真,如果第一个为真,则没有必要判断后面了,(z-y)为真,所以后面的也不会执行了。

只有D会执行(x-=3)
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-30
这个是逻辑运算符的运算优先级,&&的话,如果前一个表达式是真,才会执行后一个表达式,而||则是前面的表达式是假才会执行后面的表达式
当然也有&(一个符号)是无条件与运算,这样不管怎样都会执行两个表达式,同样|(一个符号)是无条件或运算,也是都会执行的。
第2个回答  2012-12-30
x-=3在括号里,执行完为0,y||z后不管是多少与0再与便是0了

设x , y和int型变量,且x = 3, y = 4 , z = 5 则下面表达式中使x值为0...
C中z-y的结果是1,非零数的布尔值为true。D中与运算符的优先级最高,z的布尔值是true,所以要进行x-=3的赋值操作。OK,就酱。

设x , y和int型变量,且x = 3, y = 4 , z = 5 则下面表达式中使x值为0...
ACD 中有 x-=3 有可能使X=0 B是直接排除了。A中&&的要求是 前面和后面的都为1才为真,若前面的为0,则没有必要判断后面了,因为一定为假。(z < y ) 这是假,所以(x-=3)没有被执行 C和A是一样的意思,|| 只要有一个为真 就为真,如果第一个为真,则没有必要判断后面了,(...

设x,y和z是int型变量,且x=3, y=4, z=5,则下面表达式中值为0的是...
答案B、其值为1,因为'x'和'y'在ASCII码中其值都为非0值,所以其值为1。答案C、其值为1,还是同A一样,先判断最左边的x,其值x为非零,所以整个表达式x||y+z的值为1,再计算y-z=-1,为非零值,因此整个表达式的值为1。答案D、很明显为1,不用说了,这个题 ...

c语言有道题目:设x,y,z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0...
C:运算顺序是 x || ((y+z) && (y-z)),显然结果不一定是真还是假,所以依然有可能为非0;D: ! ((x<y) && !z || 1 ) = ! (((x<y) && !z ) || 1 ) = ! 1 = 0。其中((x<y) && !z ) || 1 的值是和1求或,值永远为1。

设x,y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是...
答案A、 其值为0,!((x

设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式...
D不是对的 x<=y-z 3<=4-5 3<=-1(错误 为0)

12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是...
C均为1 比如,A中,'x'&& 'y',x,y均为字符,其ASCII值均不为0,因此,等同于逻辑1,1&&1,结果为1。B中,因为x为3,y为4,所以x<=y成立,结果为1。C中,x为3,其逻辑值为1(因为不等于0的值其逻辑值为1),在或表达式中,只要第一项为1,就可以不看其他项的值,结果均为1。

设x,y 和z是int型变量,且x = 3,y= 4,z= 5,则下面表达式中值为0的是
运算 次序 为:(x<y) 先算 得 真。! 第2 计算: !(x<y) 假, !z 得 假 && 第3个算 假&& 假 得 假 最后 算 假 || 1, 1 是真。 或运算 得 真。 表达式 为1。D 如果是:! ( (x<y)&&!z|| 1 )(x<y) 真 !z 假 (x<y)&&!z 得 假 (x<...

设x,y,z为int型变量,且x=3.y=-4.z=5求出表达式(x&&y)==(x||z)的值
(x&&y)==(x||z)括号中的先计算 (x&&y)==>x、y都是非零所以返回真 (x||z)==>x、z都是非零所以返回真 所以===>真==真===>返回真,所以最终的值是1

2013计算机二级C语言完整预测试题及答案一
14.设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是 A)x&&y B)x<=y C)x||++y&&y-z D)!(x 15.若变量已正确说明为int类型,要通过语句scanf("%d %d %d ",&a,&b,&c);给a赋值3,b赋值5,c赋值8,不正确的输入形式是 A)3回车> 5回车> 8回车> B)3,5,8回车...

相似回答
大家正在搜