逻辑运算logic

•逻辑值: 1(true)和0(false)  
•逻辑运算符有三个:
•逻辑非  !   
•逻辑与 &&
•逻辑或 ||

注:数学上用¬表示逻辑非,∧为逻辑与,∨表示逻辑或。

1、逻辑非(!)运算
经过逻辑非运算,一个表达式的真假值与原来相反。表格如下。
Reverse the result, returns false if the result is true

AA的值
01
10

2、逻辑与(&&):

若参加运算的某个逻辑值为假,其结果 也为假,只有当参加运算的所有逻辑值都是真,其结果也是真,表格如下:
Returns true if both statements are true

A的值B的值A&&B
000
010
100
111

3、逻辑或(||):

若参加运算的某逻辑值是真,哪结果也是真,只有当参加运算的条件都是假,其结果才是假,表格如下:

A的值B的值A||B
000
011
101
111

逻辑基本运算定律

在逻辑运算(布尔代数)中,变量只有 0(假)1(真) 两种状态。以下是化简逻辑表达式的核心定律:

1. 基础代谢定律(状态处理)

  • 0-1 律 (Constants)
    • A || 0 = AA && 1 = A
    • A || 1 = 1A && 0 = 0
  • 重叠律 (Idempotent)
    • A || A = A
    • A && A = A
  • 互补律 (Complement)
    • A || !A = 1 (必有一真)
    • A && !A = 0 (不可同时为真)
  • 反演律 (Double Negation)
    • !!A = A (负负得正)

2. 运算顺序定律(代数性质)

  • 交换律 (Commutative)A || B = B || A
  • 结合律 (Associative)
    或运算结合律(A || B) || C = A || (B || C)
    与运算结合律(A && B) && C = A && (B && C)
  • 分配律 (Distributive)
    • A && (B || C) = (A && B) || (A && C)
    • A || (B && C) = (A || B) && (A || C)注意:这是逻辑运算特有的,普通代数不适用

3. 高级化简定律(实战常用)

  • 德·摩根定律 (De Morgan’s)
    • !(A && B) = !A || !B (非“与”变“或”)
    • !(A || B) = !A && !B (非“或”变“与”)
  • 吸收律 (Absorption)
    • A || (A && B) = A
    • A && (A || B) = A

练习

说明如下表达式的结果为真(true)还是假(flase).

(1>=2) && (3>=2)
(1<2) || (4>1)
(5/2)||(4%2)
(1>0)&&(!(2>0))

设计一个程序,输入三个整数a,b,c,判断以这三个整数为边长能否构成一个三角形。如果能,请输出yes,否则输出no。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
//triangle
#include <iostream>
using namespace std;

int main()
{
   float a,b,c;
    cin>>a>>b>>c;
    if(a+b>c&&b+c>a&&a+c>b)
	{cout<<"this is a triangle\n";}
    else
	{cout<<"this is not a triangle\n";}
return 0;
}

Scroll to Top