逻辑运算符用于检查两个条件表达式的组合。
以下是逻辑运算符的类型。
逻辑AND(&&)运算符
逻辑OR(||)运算符
逻辑NOT(!)运算符
用符号“ && ”表示的逻辑AND运算符,它与两个操作数一起使用,如果两个操作数均为true(非零),则返回1;否则,返回1。0,否则。
注意:操作数可以是值,条件,表达式等。
语法:
operand1 && operand2
真相表:
操作数1 | 操作数2 | 操作数1 &&操作数2 |
---|---|---|
非零 | 非零 | 1 |
非零 | 0 | 0 |
0 | 非零 | 0 |
0 | 0 | 0 |
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
用符号“ || ”表示的逻辑“或”运算符,可用于两个操作数,如果一个(或两个)操作数为真(非零),则返回1;否则,返回1。0,否则。
语法:
operand1 || operand2
真相表:
操作数1 | 操作数2 | 操作数1 &&操作数2 |
---|---|---|
非零 | 非零 | 1 |
非零 | 0 | 1 |
0 | 非零 | 1 |
0 | 0 | 0 |
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
逻辑NOT运算符以符号“ ! ”表示,它与一个操作数一起使用,如果操作数为零,则返回1;否则返回0。
语法:
!operand
真相表:
操作数 | !operand |
---|---|
非零 | 0 |
0 | 1 |
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