C语言中什么时候0表示真,1表示假
C语言规定,1为真(TRUE),
0为假(FALSE)。
所以题目本身是一个伪命题,在C语言的环境下,任何时候都不会出现0为真1为假的情况。
扩展开来,用来判断的并不一定是1和0两种,在出现其它值的情况下,C语言会做如下操作:
1
把非整型类型的值,如浮点型,指针等,强制转为整型。
2
判断该整型值是否为0。
3
如为0,则值为假;如不为0,则值为真。
在C语言中0是真还是假
一般认为0是代表假,即if(0)则if将永不执行,while(0)则while将不会执行
在C语言0表示真还是假,为什么会这样呀为什么呢?
C语言编译系统在表示逻辑运算结果时,以数值1代表“真”,以0代表“假”
比如:a、b的值分别是0、4,则a||b的值为1,ab的值为0.
但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”
比如:a=4,因为a的值为非0,被认作“真”,所以对它进行“非”运算!a=0
其实语句是否执行由用户的代码(即判断条件)决定的,而系统只用0和非0进行判断,当用户认为此句可执行,系统判断为“真”,反之亦然
比如:while(ch!=’#’){语句序列;}
ch!=’#’为判断条件
假如ch=’A’,这可执行大括号中语句序列(系统判断为“真”)
当ch=’#’,不可执行大括号中的语句序列(系统判断为“假”)
C语言真假判断
在C语言中,0值代表假,非0值代表真。
随着语言的发展,引入了bool类型,定义在头文件 stdbool.h中。bool类型有两个值,true代表真值,false代表假值。这两者之间有等价关系,任何能转换为0值的表达式,其结果也是false,反之也成立产。
非0即为真,在程序设计里面会省去很多烦琐的代码。
比如:
malloc函数,不成功会返回NULL(实际上就是0),成功返回所分配的连续单元的首地址。那么在判断malloc()函数是否成功分配了内存,则可以这么写:
int *p = (int *)malloc(sizeof(int) * 10);
if (p)
TODO…
else
TODO…
扩展资料
1、对于逻辑与运算,如果第一个操作数被判定为“假”,系统不再判定或求解第二操作数。
2、对于逻辑或运算,如果第一个操作数被判定为“真”,系统不再判定或求解第二操作数。
在C语言0表示真还是假,为什么会这样呀
这里的 0或者1(真或假)不能说明程序出错了,反而说明程序执行成功了。。因为前面的都执行完成才执行return
按照我个人的理解,这句语句的意义在不在于函数的返回值是什么,意义在返回值的类型和声明函数时候的返回值类型一致就行。因为如果不返回,或者返回的值类型有问题,就出错。 如果你的main定义为void main,那这句代码就可以删掉了。
c语言中0与0是真值吗?
是假值,因为在C语言中,0为假,非0为真,0与0的结果仍然是0,所以为假