C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?

Python011

C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?,第1张

C语言编译系统在表示逻辑运算结果时,以数值1代表“真”,以0代表“假”。 比如:a、b的值分别是0、4,则a||b的值为1,a&&b的值为0。

但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。比如:a=4,因为a的值为非0,被认作“真”,所以对它进行“非”运算!a=0 。

其实语句是否执行由用户的代码(即判断条件)决定的,而系统只用0和非0进行判断,当用户认为此句可执行,系统判断为“真”,反之亦然 。

比如:while(ch!='#'){语句序列;}

ch!='#'为判断条件

假如ch='A',这可执行大括号中语句序列(系统判断为“真”)

当ch='#',不可执行大括号中的语句序列(系统判断为“假”)

扩展资料:

在c语言中,任何等于零的东西都被认为是假,任何等于非零值的东西都被认为是真,因此,最常见的定义就是假为0,真为1。

在缺省情况下,枚举类型的第一个元素被赋值为O,因此,在上述枚举定义中,FALSE被赋值为0,TRUE被赋值为1。

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