&&逻辑和||的正确和错误逻辑表

Table true/false for C Language

我听说C语言为和&&或||的表格为false是一种数学,他们说如果真实+真实=真假,真假=真假

我只是对此感到困惑,我试图进行研究,但找不到任何表格

我只想把这张桌子作为我的笔记,因为我会用C语言做更多的事情

如果有人可以带我到网站或资源,他们解释这个更多

我编辑了我的原始问题,使其成为我自己研究的一个注释。感谢@thiton提供了很好的参考资料,其余的是一个很棒的答案/资源。

Logical AND (&&)

false && false: false

false && true: false

true && false: false

true && true: true

逻辑OR(||)

false || false: false

false || true: true

true || false: true

true || true: true

逻辑NOT(!)

!false: true

!true: false

12
投票

您可能意味着布尔运算符的真值表,它显示常用布尔运算(&&,||)的结果。该表不是特定于语言的,但可以找到,例如here。

6
投票

你在考虑Boolean algebra。

5
投票

可以使用Boolean algebra描述真值。该文章还包含andor的表格。这应该可以帮助您开始或更加困惑。

4
投票

我想你要求Boolean algebra描述在布尔变量上执行的各种操作的输出。请看维基百科上的文章。

0
投票

我想补充已经很好的答案:

符号'+','*'和' - '有时用作一些较旧的教科书中的缩写,用于OR,∨和AND,∧和NOT,Bo逻辑运算符在Bool代数中。在C / C ++当然我们使用“和”,“&&”和“或”,“||”并不是”,”!”。

注意:“true + true”在C / C ++中通过内部表示true和false评估为2为1和0,并隐式转换为int!

int main ()
{
  std::cout <<  "true - true = " << true - true << std::endl;
// This can be used as signum function:
// "(x > 0) - (x < 0)" evaluates to +1 or -1 for numbers.
  std::cout <<  "true - false = " << true - false << std::endl;
  std::cout <<  "false - true = " << false - true << std::endl;
  std::cout <<  "false - false = " << false - false << std::endl << std::endl;

  std::cout <<  "true + true = " << true + true << std::endl;
  std::cout <<  "true + false = " << true + false << std::endl;
  std::cout <<  "false + true = " << false + true << std::endl;
  std::cout <<  "false + false = " << false + false << std::endl << std::endl;

  std::cout <<  "true * true = " << true * true << std::endl;
  std::cout <<  "true * false = " << true * false << std::endl;
  std::cout <<  "false * true = " << false * true << std::endl;
  std::cout <<  "false * false = " << false * false << std::endl << std::endl;

  std::cout <<  "true / true = " << true / true << std::endl;
  //  std::cout <<  true / false << std::endl; ///-Wdiv-by-zero
  std::cout <<  "false / true = " << false / true << std::endl << std::endl;
  //  std::cout <<  false / false << std::endl << std::endl; ///-Wdiv-by-zero

  std::cout <<  "(true || true) = " << (true || true) << std::endl;
  std::cout <<  "(true || false) = " << (true || false) << std::endl;
  std::cout <<  "(false || true) = " << (false || true) << std::endl;
  std::cout <<  "(false || false) = " << (false || false) << std::endl << std::endl;

  std::cout <<  "(true && true) = " << (true && true) << std::endl;
  std::cout <<  "(true && false) = " << (true && false) << std::endl;
  std::cout <<  "(false && true) = " << (false && true) << std::endl;
  std::cout <<  "(false && false) = " << (false && false) << std::endl << std::endl;

}

产量:

true - true = 0
true - false = 1
false - true = -1
false - false = 0

true + true = 2
true + false = 1
false + true = 1
false + false = 0

true * true = 1
true * false = 0
false * true = 0
false * false = 0

true / true = 1
false / true = 0

(true || true) = 1
(true || false) = 1
(false || true) = 1
(false || false) = 0

(true && true) = 1
(true && false) = 0
(false && true) = 0
(false && false) = 0