1. c语言中逻辑值真假怎么表示

有以下方式:

1、自己定义的“仿布尔型”
在标准被支持之前,一般是由开发人员自己模仿定义布尔型,方式有很多种,常见的有下面两种:

/*第一种方法*/
#defineTRUE1
#defineFALSE0


/*第二种方法*/
enumbool{false,true};

2、使用_Bool

从C99标准开始,可以简单的使用 _Bool 来定义布尔型变量。_Bool类型长度为1,只能取值范围为0或1。将任意非零值赋值给_Bool类型,都会先转换为1,表示真。将零值赋值给_Bool类型,结果为0,表示假。 下面是一个例子程序:

#include<stdio.h>
#include<stdlib.h>

intmain(){
_Boola=1;
_Boolb=2;/*使用非零值,b的值为1*/
_Boolc=0;
_Boold=-1;/*使用非零值,d的值为1*/

printf("a==%d,/n",a);
printf("b==%d,/n",b);
printf("c==%d,/n",c);
printf("d==%d,/n",d);

printf("sizeof(_Bool)==%d/n",sizeof(_Bool));

system("pause");
returnEXIT_SUCCESS;
}

3. 使用stdbool.h

在C++中,通过bool来定义布尔变量,通过true和false对布尔变量进行赋值。C99为了让我们能够写出与C++兼容的代码,添加了一个头文件<stdbool.h>。在gcc中,这个头文件的源码如下:(注,为了清楚,不重要的注释部分已经省略):

/*Copyright(C)1998,1999,2000FreeSoftwareFoundation,Inc.
ThisfileispartofGCC.
*/

#ifndef_STDBOOL_H
#define_STDBOOL_H

#ifndef__cplusplus

#definebool_Bool
#definetrue1
#definefalse0

#else/*__cplusplus,应用于C++里,这里不用处理它*/

/*Supporting<stdbool.h>inC++isaGCCextension.*/
#define_Boolbool
#defineboolbool
#definefalsefalse
#definetruetrue

#endif/*__cplusplus*/

/*.*/
#define__bool_true_false_are_defined1

#endif/*stdbool.h*/

可见,stdbool.h中定义了4个宏,bool、true、false、__bool_true_false_are_defined。 其中bool就是 _Bool类型,true和false的值为1和0,__bool_true_false_are_defined的值为1。下面是一个例子程序:

#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>

/*测试C99新添加的头文件stdbool.h*/

intmain(){
boolm=true;
booln=false;
printf("m==%d,n==%d/n",m,n);

printf("sizeof(_Bool)==%d/n",sizeof(_Bool));

system("pause");
returnEXIT_SUCCESS;
}

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

C语言规定1为真(TRUE),0为假(FALSE)。

C语言中0为假,1为真,逻辑与和整数乘法相同,而c语言中的1就是整数,整数除法1/2结果也会是整数,数学中答案是0.5,但是整型的不能保存0,5。因此会直接变成0。后面的计算结果是什么就不重要了。

总的来说,计算机的最小存储单位是字节,一个字节可存储256个数字,真和假却只有两个数字。C语言从C99才有_ Bool这 个布尔类型。

C99之 前一直使用整数类型存储布尔值,那么除去真和假两值以外还至少有254个数字,这些数字不可能是非真非假,那么只能使用一个值代表真或假,其他值代表前面值的相反值。

(2)c语言假值扩展阅读

计算机识别0和1的原理:

计算机中RAM存储正在使用的程序和文件,硬盘则是文件永久储存的地方。硬盘实际上由若干磁盘构成,磁盘上大量的有序的磁性粒子完成,磁性则可以表示0和1。当需要对文件进行读写时,实际上是发出电脉冲信号移动读写头改变磁性粒子的磁性或者是得到磁性粒子的磁性。

计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称宇。字通常分为若干个字节(每个字节一般是8位)。在存储器中,通常每个单元存储一个字,因此每个字都是可以寻址的。字的长度用位数来表示。

在计算机的运算器、控制器中,通常都是以字为单位进行传送的。宇出现在不同的地址其含义是不相同。例如,送往控制器去的字是指令,而送往运算器去的字就是一个数。

在计算机中作为一个整体被存取、传送、处理的二进制数字符串叫做一个字或单元,每个字中二进制位数的长度,称为字长。




3. C语言中如何表示“真”和“假”

|

C语言编译系统来在表示逻辑运算结果源时,以数值1代表“真”,以0代表“假”。

比如:a、b的值分别是0、4,则a||b的值为1,a&&b的值为0。

但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。

比如:a=4,因为a的值为非0,被认作“真”,所以对它进行“非”运算a=0。

4. 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...

(4)c语言假值扩展阅读

1、对于逻辑与运算,如果第一个操作数被判定为“假”,系统不再判定或求解第二操作数。

2、对于逻辑或运算,如果第一个操作数被判定为“真”,系统不再判定或求解第二操作数。


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

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='#',不可执行大括号中的语句序列(系统判断为“假”)

(5)c语言假值扩展阅读:

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

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

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

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='#',不可执行大括号中的语句序列(系统判断为“假”)

如果对你有所帮助,请记得点赞最佳答案,谢谢!

7. C语言中的逻辑值“真”是用什么表示的,逻辑值“假”是用什么表示的

C语言中的逻辑值“真”是用T表示(True,真) 值,逻辑值“假”是用 F(版False,假)。

在编程语言中表权示 T(True,真) 值和 F(False,假)值的数据类型叫做布尔类型,在 C 语言中通常用 int 类型来表示,非 0 表示 T,0 表示 F。

布尔逻辑是写程序的基本功之一,程序中的很多错误都可以归因于逻辑错误。以下是一些布尔代数的基本定理,为了简洁易读,T 和 F 用 1 和 0 表示,|| 用 + 号表示,x、y、z 的值可能是 0 也可能是 1 。

(7)c语言假值扩展阅读

常用的逻辑运算符还有 “||”表示“或者”,对于表达式 a||b,“a 或者 b 成立”就为真,也就是说 a 和 b 只要有任意一个成立,a||b 就为真。

比如,a=5,表达式 a>0 || a<-1 的结果为真,因为 5>0,即使 5<-1 不成立,整个表达式也为真。还有“!”表示“反”,对于表达式 !a,a 为真时,!a 为假;a为假时,!a 为真。

8. c语言真假值

真假值
指的是C语言逻辑运算的结果
包括 逻辑非! 逻辑与&& 逻辑或||
但实际上 C语言中没有真正的布尔类型,真假值就是整型的1和0
真值为1 假值为0

但在实际判断中,凡是非0的 都按真处理、

9. c语言中的真与假值的含义

3%2
就是
3
除以
2
的余数,为1
c语言中
非0
为真,0为假!
显然,3%2==0的值

10. C语言中,如何表示“真”还是“假”系统如何判断一个量的“真”和“假”

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='#',不可执行大括号中的语句序列(系统判断为“假”)

(10)c语言假值扩展阅读

C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。

相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。

而与或非的运算优先级都不一样,因此a && b || b && c解释为(a && b) || (b && c)合理使用优先级可以极大简化表达式。

基本表达式(Primary expressions),主要是用于运算符之间,做为运算数。标识,常量,字符串文字量,优先级提升表达式最优先执行。优先级提升表达式是指圆括号包围的表达式,如“( expression )”