电脑编程 逻辑值的真和假是怎么回师

作者&投稿:隐杭 (若有异议请与网页底部的电邮联系)
C语言中的逻辑值“真”是用什么表示的,逻辑值“假”是用什么表示的?~

在C语言中非0的数代表逻辑值“真”,一般用用数字1表示(也可以用其他值),0表示逻辑值“假”,只能用数字0表示。
在C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。
最新的C语言标准(C99)解决了布尔类型的问题。C99提供了_Bool 型,所以布尔类型可以声明为 _Bool flag。_Bool依然仍是整数类型,但与一般整型不同的是,_Bool变量只能赋值为0或1,非0的值都会被存储为1。
C99还提供了一个头文件 定义了bool代表_Bool,true代表1,false代表0。只要导入 stdbool.h ,就能非常方便的操作布尔类型了。
例如:bool flag = false;

扩展资料
1、逻辑真和假按位与进行"与"运算。运算规则:
0&0=0;
0&1=0;
1&0=0;
1&1=1;
2、逻辑真和假按位进行"或"运算。运算规则:
0|0=0;
0|1=1;
1|0=1;
1|1=1;

有以下方式:
1、自己定义的“仿布尔型”在C99标准被支持之前,一般是由开发人员自己模仿定义布尔型,方式有很多种,常见的有下面两种:
/* 第一种方法 */ #define TRUE 1 #define FALSE 0 /* 第二种方法 */ enum bool{false, true};2、使用_Bool
从C99标准开始,可以简单的使用 _Bool 来定义布尔型变量。_Bool类型长度为1,只能取值范围为0或1。将任意非零值赋值给_Bool类型,都会先转换为1,表示真。将零值赋值给_Bool类型,结果为0,表示假。 下面是一个例子程序:
#include #include int main(){ _Bool a = 1; _Bool b = 2; /* 使用非零值,b的值为1 */ _Bool c = 0; _Bool d = -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"); return EXIT_SUCCESS; }3. 使用stdbool.h
在C++中,通过bool来定义布尔变量,通过true和false对布尔变量进行赋值。C99为了让我们能够写出与C++兼容的代码,添加了一个头文件。在gcc中,这个头文件的源码如下:(注,为了清楚,不重要的注释部分已经省略):
/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of GCC. */ #ifndef _STDBOOL_H #define _STDBOOL_H #ifndef __cplusplus #define bool _Bool #define true 1 #define false 0 #else /* __cplusplus ,应用于C++里,这里不用处理它*/ /* Supporting in C++ is a GCC extension. */ #define _Bool bool #define bool bool #define false false #define true true #endif /* __cplusplus */ /* Signal that all the definitions are present. */ #define __bool_true_false_are_defined 1 #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 #include #include /* 测试C99新添加的头文件 stdbool.h */ int main(){ bool m = true; bool n = false; printf("m==%d, n==%d /n", m, n); printf("sizeof(_Bool) == %d /n", sizeof(_Bool)); system("pause"); return EXIT_SUCCESS; }

这是逻辑定义问题,引用wiki对逻辑的定义:
Logic is the study of reasoning. Logic is used in most intellectual activities, but is studied primarily in the disciplines of philosophy, mathematics, and computer science. Logic examines general forms which arguments may take, which forms are valid, and which are fallacies. It is one kind of critical thinking. In philosophy, the study of logic falls in the area of epistemology, which asks: "How do we know what we know?"[citation needed] In mathematics, it is the study of valid inferences within some formal language.
可以看到逻辑的定义可以分三个领域,1.哲学,2.数学,3.计算机科学
逻辑就是检证过程,当中要有参数投入,合法的条件,判别谬误.
哲学来说,一些根本的问题,如"如何知道我们知道什麼?"当我们答的时,错还是对?真逻是假?那就要问,有什麼根据?可能没有特定的答案,但我们知道它是合理与否.
数学不用说啦吧,严格的公式,公理.
计算机有自己的理论,如二进制理论,投入的参数仅是1或0 ,亦都叫逻辑值吧.

逻辑真就是1,逻辑假就是0

这个经常在判断语句中用

如if(i==0)
{
***
}

如果i的值是0的话,那么if里面的逻辑值就是真,即为1,执行里面的语句,反之为假,即0,if语句不执行

真假是相对逻辑运算的。
比如 1=2 明显就是错的,所以就是假的
而 1=1明显是对的所以是真的。
逻辑运算时判断。
有比如 或与非也是逻辑运算。
1=2 是假 1=1 是真
所以 1=2 与 1=1 2个要同时成立才是真,这里是假
而 1=2 或 1=1 2个只要满足一个就成真 所以是真。


祁门县15873865470: C语言中的逻辑值“真”是用什么表示的,逻辑值“假”是用什么表示的? -
铎永特普: C语言中的逻辑值“真”是用T表示(True,真) 值,逻辑值“假”是用 F(False,假). 在编程语言中表示 T(True,真) 值和 F(False,假)值的数据类型叫做布尔类型,在 C 语言中通常用 int 类型来表示,非 0 表示 T,0 表示 F. 布尔逻辑是写程序...

祁门县15873865470: C语言中逻辑运算符用法 -
铎永特普: 1、逻辑运算符是根据表达式的值来返回真值或是假值.在C语言中没有专门的真值和假值,认定非0为真值,0为假值. 2、逻辑运算符运算规则: || 或:两个条件中,只要有一个成立,则结果就成立; && 与:两个条件中,两个同时成立,则结果成立,否则不成立; ! 非:取反之意,如果是真,结果是假,如果是假,结果是真. 下为C语言逻辑运算||和&&的真值表:

祁门县15873865470: 电脑编程 逻辑值的真和假是怎么回师 -
铎永特普: 这是逻辑定义问题,引用wiki对逻辑的定义:Logic is the study of reasoning. Logic is used in most intellectual activities, but is studied primarily in the disciplines of philosophy, mathematics, and computer science. Logic examines general forms ...

祁门县15873865470: C语言中如何表示“真”和“假”?系统如何判定一个量的“真”和“假... -
铎永特普: C语言编译系统在表示逻辑运算结果时,以数值1代表“真”,以0代表“假” 比如:a、b的值分别是0、4,则a||b的值为1,a&&b的值为0. 但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真” 比如:a=4,因为a的值为非0,被认...

祁门县15873865470: C语言逻辑判断式的值 -
铎永特普: a||b+c&&b-c 加减运算符高级,先算b+c=9,b-c=-5;逻辑与高级于逻辑或9&&-5为假;真||假=真,即结果输出为1 2、!(a>b)&&!c||1 先算括号3>4为假,逻辑非比其它高级,!假=真;!c,因为c>0,所以为真,非则为假;真&&假=假;假||真=真,输出为1 3、!(x=a)&&(y=b)&&0 括号内的都是真;!真=假;假&&真=假;假&&(0假)=假,输出为0 !(a+b)+c-1&&b+c/2 括号值7为真,逻辑非!比加减高级,!真=假;加减比逻辑与高级,(0假)+c-1=4;c/2=2;b+2=6;(4真)&&(6真)=真,输出为1

祁门县15873865470: C语言逻辑值“真”、“假”如何表示?输入、输出时有什么不同?
铎永特普: 0表示假,非0表示真

祁门县15873865470: c语言中的逻辑表达式值为真相当于值1,对吗? -
铎永特普: C语言里面用布尔变量表示真、假.实际使用中,可以视0、NULL这些为假,然后非0,非NULL,就是真.你提到的逻辑表达式:比如x>y y==z等表达式,如果成立,就为真,可以认为是1,但认为等于1,不太准确.

祁门县15873865470: c语言逻辑判断 -
铎永特普: 不完全对,逻辑判断是:0为假,非0为真.你说的“真”的结果就是1不对,逻辑值实际是一个bool类型,结果只有:true和false 这两个值,所以1不能算逻辑判断的结果.判断的时候你说的是对的,只要不是0结果就为真,while中也是可以用任意非零值代替的.

祁门县15873865470: C语言真和假的判别! -
铎永特普: 如果while循环条件为真,就执行循环语句,为假,就不执行 i<=100就为真i>100为假

祁门县15873865470: C语言中x!=0到底是x不等于0 还是x不为假 -
铎永特普: x!=0 是逻辑表达式,它的计算结果是逻辑值: 假或真,到底是真是假,要看 x 的 当前值. 如果 x 不等于 0, 计算结果是逻辑值真,也就是等于 1 如果 x 等于 0, 计算结果是逻辑值假,也就是等于 0.

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