关于C语言逻辑表达式,!( X=a)&&(y=b)II0

如题所述

!( X=a)&&(y=b)II0 1.#include "stdio.h"
#include "math.h"
void main()
{
int X=0,a=1,b=1,y=1;
printf("%d",!(X=a)&&(y=b)||0);
}这是一个双目运算符:判断到||符号,后面的为0,所以还要再判断||前面部分。 如果后面的为1,则不需要再判断了。然后首先判断了X=a:a赋值给X是否成功,成功为1,然后!(X=a),即!1为0,0与任何数 取&& 都为 0 ,所以 !(X=a)&&(y=b)II0 的结果会为 0 。 2. 如果你的意思是 !(X==a)&&(y==b)II0这样来看#include "stdio.h"
#include "math.h"
void main()
{
int X=2 ,a=1,b=1,y=1;
printf("%d",!(X==a)&&(y==b)||0);
}判断到 || 符号,后面的为0,所以还要再判断 || 前面部分。这个时候因为X==a是false的,所以!(X==a) 是true的,而y==b是true的,所以!(X==a)&&(y==b)是true的,所以打印出来的结果是1 如果把X=2;换一下#include "stdio.h"
#include "math.h"
void main()
{
int X=1,a=1,b=1,y=1;
printf("%d",!(X==a)&&(y==b)||0);
}判断到X==a是true的,所以!(X==a) 是false的,所以 false &&' 其他' 都是false的,false || 0 也是false的,所以打印结果为 0 求|| 规则true || true -> true (1) true || false -> true (1) false || true -> true (1) false || false -> false (0) 求 && 规则true && true -> true (1) true && false -> false (0) false && true -> false (0) false && false -> false (0)
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-01-10
先执行“!”再执行“&&”再执行“||”

关于C语言逻辑表达式,!( X=a)&&(y=b)II0
int X=0,a=1,b=1,y=1;printf("%d",!(X=a)&&(y=b)||0);} 这是一个双目运算符:判断到||符号,后面的为0,所以还要再判断||前面部分。如果后面的为1,则不需要再判断了。然后首先判断了X=a:a赋值给X是否成功,成功为1,然后!(X=a),即!1为0,0与任何数 取&& 都为 0 ,所...

c语言ii=0是什么意思
在C语言中,ii=0表示将变量ii的值赋为0。也就是说,我们可以使用赋值运算符“=”来给变量赋值。变量是在程序中存储值的一种方式,它们是程序中经常使用的元素。在这个例子中,变量名为“ii”,它被初始化为0,这意味着它将始终以0作为起始值。变量的初始化非常重要,这是确保程序正确性的一种关键...

c语言中 (strcmp(ii,"yes")==0) 是什么意思?
就是比较前后两个字符串的长度了

(Ⅰ)写出圆(x-a)2+(y-b)2=r2经过原点的充要条件.(只写不证)(Ⅱ)已知...
(Ⅰ)写出圆(x-a)2+(y-b)2=r2经过原点的充要条件是:a2+b2=r2.(II)命题p:?x0∈R,x02+2x0+2=0,则命题p的否定¬p为:?x∈R,x2+2x+2≠0.

C语言中4&&0||2的值为1困惑
逻辑运算符的运算优先级是! > && > ||所以先算4&&0,因为4为非0,即为真,但这并能表明整个4&&0就是真,还要判断后面的0,为假,所以整个表达式4&&0就为假,值为0,然后再算0||2,因为是或运算,第一个表达式为0,还不能表明整个表达式0||2的值为0,所以还要判断后面的2,是非0...

解下列关于x的不等式 绝对值(x-a )<绝对值(x-b),a不等于b
(4).x-a<0,x-b<0,则有-(x-a)<-(x-b),x可取任意数,不成立。A.对于条件(2)分如下几种情况解答:i.a>b>0时,x<b;ii.b>a>0时,a<x<(a+b)\/2;iii.a<b<0时,a<x<(a+b)\/2;iv.b<a<0时,x<b。B.对于条件(3)分如下几种情况解答:i.a>b>0时,(a+b)\/2<...

电脑系统后面md5什么意思电脑系统的MD5值和SHA1值是什么意思
即,如果x,那么y,否则z。函数h是逐位奇偶操作符。 假设mj表示消息的第j个子分组(从0到15),<< ff(a,b,c,d,mj,s,ti)表示a=b+((a+(f(b,c,d)+mj+ti)<< gg(a,b,c,d,mj,s,ti)表示a=b+((a+(g(b,c,d)+mj+ti)<< hh(a,b,c,d,mj,s,ti)表示a=b+((a+(h(b,c,d)+mj+ti...

怎样用c语言编一个简单的计算器?
\/\/算术表达式求值 char c,x,theta,prec; \/\/c是每次读取的字符,x是存放脱括号后的多余的括号,theta是运算符,prec是c的前一个字符 float a,b,result;\/\/a、b是每次从运算数栈中取出的要进行运算的数,result存放最终结果 float cc,flag,ii,minus=1; \/\/cc存放由字符串转化而来的浮点数,flag用于标记是否已读...

在c语言中提示 expression syntax in function 什么意思
既然你定义的是int QpChange(int x,int y,int t),那在程序里的某处你就应该有return ...,而且返回的应该是个int类型的变量。如果这个函数不需要返回值那你就该把它改成void QpChange(int x,int y,int t)。不过在我看来yes似乎是你想返回的值,在程序结尾加上return yes;就应该可以了。

C语言中, char类型变量可以存放多少个字符?
楼上的答案没错 8. 若有定义:char c=‘\\010’;则变量c中包含的字符个数为【1】。char类型的变量只能存放一个字符; '\\010'是某个字符的ASII码.9. 若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为【1】(x+y)%2+(int)a\/(int)b 表达式的值的最终类型与表达式中...

相似回答