C语言中什么时候0表示真,1表示假

Python011

C语言中什么时候0表示真,1表示假,第1张

C语言规定,1为真(TRUE),

0为假(FALSE)。

所以题目本身是一个伪命题,在C语言的环境下,任何时候都不会出现0为真1为假的情况。

扩展开来,用来判断的并不一定是1和0两种,在出现其它值的情况下,C语言会做如下操作

1

把非整型类型的值,如浮点型,指针等,强制转为整型。

2

判断该整型值是否为0。

3

如为0,则值为假;如不为0,则值为真。

在计算机的运算机制实际是二进制的。这就决定了每一位(一字节是8位)能表示一对状态(既真和假)。也就是说他们只能出现0和1两个数字。

既然1是真,0是假。那么非0肯定就是1也就是说是真。而非1肯定就是0,也就是假了。

在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、对于逻辑或运算,如果第一个操作数被判定为“真”,系统不再判定或求解第二操作数。