C / C ++中的逻辑运算符

逻辑运算符

逻辑运算符用于检查两个条件表达式的组合。

以下是逻辑运算符类型

  1. 逻辑AND(&&)运算符

  2. 逻辑OR(||)运算符

  3. 逻辑NOT()运算符

1)逻辑AND(&&)运算符

用符号“ && ”表示的逻辑AND运算符,它与两个操作数一起使用,如果两个操作数均为true(非零),则返回1;否则,返回1。0,否则。

注意:操作数可以是值,条件,表达式等。

语法:

operand1 && operand2

真相表:

操作数1操作数2操作数1 &&操作数2
非零非零1
非零00
0非零0
000

C ++程序演示逻辑AND(&&)运算符的示例

#include <iostream>
using namespace std;

int main(){
    int a = 10;
    int b = 20;

    //打印值
    cout << "a : " << a << endl;
    cout << "b : " << b << endl;
    cout << endl;

    //逻辑AND运算
    cout << "(a && b) : " << (a && b) << endl;
    cout << "(a && 0) : " << (a && 0) << endl;
    cout << "(0 && b) : " << (0 && b) << endl;
    cout << "(0 && 0) : " << (0 && 0) << endl;
    cout << endl;

    cout << "(a >= 10 && b <= 30) : " << (a >= 10 && b <= 30) << endl;
    cout << "(a == 10 && b == 20) : " << (a == 10 && b == 20) << endl;
    cout << "(a >= 10 && b == 30) : " << (a >= 10 && b == 30) << endl;
    cout << "(a < 10 && b < 20)   : " << (a < 10 && b < 20) << endl;

    return 0;
}

输出:

a : 10
b : 20

(a && b) : 1
(a && 0) : 0
(0 && b) : 0
(0 && 0) : 0

(a >= 10 && b <= 30) : 1
(a == 10 && b == 20) : 1
(a >= 10 && b == 30) : 0
(a < 10 && b < 20)   : 0

2)逻辑或(||)运算符

用符号“ || ”表示的逻辑“或”运算符,可用于两个操作数,如果一个(或两个)操作数为真(非零),则返回1;否则,返回1。0,否则。

语法:

operand1 || operand2

真相表:

操作数1操作数2操作数1 &&操作数2
非零非零1
非零01
0非零1
000

C ++程序演示逻辑OR(||)运算符的示例

#include <iostream>
using namespace std;

int main(){
    int a = 10;
    int b = 20;

    //打印值
    cout << "a : " << a << endl;
    cout << "b : " << b << endl;
    cout << endl;

    //逻辑或运算
    cout << "(a || b) : " << (a || b) << endl;
    cout << "(a || 0) : " << (a || 0) << endl;
    cout << "(0 || b) : " << (0 || b) << endl;
    cout << "(0 || 0) : " << (0 || 0) << endl;
    cout << endl;

    cout << "(a >= 10 || b <= 30) : " << (a >= 10 || b <= 30) << endl;
    cout << "(a == 10 || b == 20) : " << (a == 10 || b == 20) << endl;
    cout << "(a >= 10 || b == 30) : " << (a >= 10 || b == 30) << endl;
    cout << "(a < 10 || b < 20)   : " << (a < 10 || b < 20) << endl;

    return 0;
}

输出:

a : 10
b : 20

(a || b) : 1
(a || 0) : 1
(0 || b) : 1
(0 || 0) : 0

(a >= 10 || b <= 30) : 1
(a == 10 || b == 20) : 1
(a >= 10 || b == 30) : 1
(a < 10 || b < 20)   : 0

3)逻辑非(!)运算符

逻辑NOT运算符以符号“ ”表示,它与一个操作数一起使用,如果操作数为零,则返回1;否则返回0。

语法:

!operand

真相表:

操作数!operand
非零0
01

C ++程序演示逻辑NOT(!)运算符的示例

#include <iostream>
using namespace std;

int main(){
    int a = 10;
    int b = 0;

    //打印值
    cout << "a : " << a << endl;
    cout << "b : " << b << endl;
    cout << endl;

    cout << "!a : " << !a << endl;
    cout << "!b : " << !b << endl;
    cout << endl;

    //逻辑非操作
    cout << "!(a || b) : " << !(a || b) << endl;
    cout << "!(a || 0) : " << !(a || 0) << endl;
    cout << "!(0 || b) : " << !(0 || b) << endl;
    cout << "!(0 || 0) : " << !(0 || 0) << endl;
    cout << endl;

    cout << "!(a >= 10 || b <= 30) : " << !(a >= 10 || b <= 30) << endl;
    cout << "!(a == 10 || b == 20) : " << !(a == 10 || b == 20) << endl;
    cout << "!(a >= 10 || b == 30) : " << !(a >= 10 || b == 30) << endl;
    cout << "!(a < 10 || b < 20)   : " << !(a < 10 || b < 20) << endl;

    return 0;
}

输出:

a : 10
b : 0

!a : 0
!b : 1

!(a || b) : 0
!(a || 0) : 0
!(0 || b) : 1
!(0 || 0) : 1

!(a >= 10 || b <= 30) : 0
!(a == 10 || b == 20) : 0
!(a >= 10 || b == 30) : 0
!(a < 10 || b < 20)   : 0