在c语言里,if (x)等价于if (x!=0)、if (!x)等价于if (x==0)吗?

作者&投稿:潜翰 (若有异议请与网页底部的电邮联系)
在c语言中,与if(x==0) 等价的表达式写法是什么?~

与if(x==0){ ... } 只有
1 if(!x){...} //这个是不好的风格
2 if(0==x) {...} //这样写的习惯,可以防止x=0这样的笔误
3 x==0 ? { ...} :{}; //这个适合有else的时候用

不能用while,while是个循环,就算循环内修改了x的值,只执行了一次,或者x!=0执行零次,本质上还是有区别

先执行x=x-1;

再执行!x,即等价于x==0
#include
int main(int argc, char *argv[])
{
int x=1;
if(!(--x)) //等价于if((--x)==0)
printf("Hello World!
");//会执行
return 0;
}

在c语言里,if (x)等价于if (x!=0)、if (!x)等价于if (x==0)。

判断的时候,x非零则为真,也就是x!=0就是x为真,x等于0,就是x为假。

if中需要的是个逻辑运算,真、假。如果是真运行if中包含的代码,否则运行程序,在c语言中0为“假”,非0为“真”。

扩展资料

当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。

计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。



if中需要的是个逻辑运算,真,假。如果是真运行if中包含的代码,否者运行下面的。
在c语言中0为“假”,非0为“真”。
if(x):1)如果x不等于0(非0),那么if(x)就是”真“,所以if(x!=0)就是“真”。
2)如果x等于0(0),那么if(x)就是“假”,if(x!=0)也就是”假“的,因为x明明等于0
if(!x):1)如果x等于0(0),非运算(!)一下,可以简单理解为取反(0取反为非0),那么if(!x)就是不等于0了,那么就是”真“了,if(x==0)也是“真”,因为x先前假设为0。
2)如果x不等于0(非0),那么if(!x),就是等于0,也就是“假”,那么if(x==0)也为”假“,因为先前假设x不等于0,可是现在==0,所以为假。
==========以上为考虑的思维
关键就是:0为“假”,非0为“真”。
by the way:if(x!=0)中的感叹号为”不“的意思,x不等于0.而if(!x)中的x是将x的值”取反“,0变非0,非0变0

等价的。判断的时候,x非零则为真。 也就是x!=0就是x为真。
x等于0,就是x为假。

是的呦,其实if()里面的判断是逻辑判断,0为假,非0为真!


工农区13915196381: if(x)怎样判断的?还有while(x) -
人李非那: 在C语言中,!=0的数被认定为true,=0的数被认定为false.所以:if(x) 等价于 if(x!=0) while(x) 等价于 while(x!=0)

工农区13915196381: c语言备考问题,程序求解答
人李非那: 这道题的意思就是i是1到5的数,然后是FOR循环里面判断i是奇数就输出<,是偶数就输出>,最后的#是全输完后的结尾 if(i%2)如果是奇数就是为真,偶i%2是等于0的属于假,就去做else了

工农区13915196381: c语言if - else循环问题 -
人李非那: if(x)括号里面相当于布尔型变量,1为真,0为假.真,执行if;假,执行else.main() int x=1,y=0; if (!x) y++; //!x=0,这里不做y++,直接跳下步else else if (x==) //(x==??)这个不懂,当不存在吧..if(x) y+=2; //执行y+=2 else y+=3; printf("%d",y);} //y=2

工农区13915196381: c语言!x==0是什么意思 -
人李非那: 因为取反运算的优先级高于逻辑运算符==,所以这个逻辑表达式的值是先对x作取反运算,再将该值与0作比较是否相等.

工农区13915196381: C语言(x )?(i++):(i -- ) 表达式x等价于…… -
人李非那: C语言(x )?(i++):(i-- ) 表达式x等价于 if(x!=0)i=i+1; else i=i-1;

工农区13915196381: 在C语言程序代码中“if (x) y=1;"(具体的位置如下所示)表示什么意思?
人李非那: 如果x==0,就不执行y=i,其它情况x>0,就执行y=i,

工农区13915196381: 在c语言程序设计中,选择结构的if语句,if(),()里面只能有合法的表达式,而例题if(2)这条语句何意 -
人李非那: 对于整数型数据来说, 零为false(假) 非零的所有值都为true(真) if(a = 1) 等价于 if(1) 等价于 if(真)

工农区13915196381: C语言 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -
人李非那: x--就是 x = x-1 if(c) x=3 就是 如果c不等于0,那么给x赋值为3.

工农区13915196381: C语言初学者,请问 if (!y&& -- x) 是什么意思 -
人李非那: if(!y&&-x) 等价于 if((!y)&&(-x)) c语言中0为false,非0的数表示true!表示逻辑上取反.就是否定的意思.

工农区13915196381: C语言if语句和if… else语句技巧
人李非那: 如果加{}条件的作用范围是{}之间的语句 如 if (3> 2) {k=2; b = 1; }当条件满足的时候,{}里的语句都能得到执行 如果没有{},条件的作用范围只是条件下面的一条语句 如 if (5>3) f = 4; g = 4; 即使(5>3)条件不成立(假设),g=4;仍然执行

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网