逻辑运算符用于检查两个条件表达式的组合。
以下是逻辑运算符的类型。
逻辑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