C++(6):逻辑运算符
目录
1. 代码示例
示例 1:基础用法
示例 2:条件判断
2. 短路求值(Short-Circuit Evaluation)
代码示例
3. 实际应用场景
场景 1:输入合法性验证
场景 2:游戏状态判断
4. 注意事项
        逻辑运算符用于组合或修改布尔表达式(true/false)。C++ 中的逻辑运算符包括 &&(与)、||(或)、!(非)。
1. 代码示例
示例 1:基础用法
#include <iostream>
using namespace std;int main() 
{bool A = true;   // 1bool B = false;  // 0cout << "A && B: " << (A && B) << endl;  // 输出 0(false)cout << "A || B: " << (A || B) << endl;  // 输出 1(true)cout << "!A: " << !A << endl;            // 输出 0(false)cout << "!B: " << !B << endl;            // 输出 1(true)return 0;
} 

示例 2:条件判断
int age = 20;
bool hasTicket = true;if (age >= 18 && hasTicket) 
{cout << "允许进入电影院" << endl;  // 条件成立,输出
}bool isRaining = false;
bool hasUmbrella = false;if (isRaining || hasUmbrella) 
{cout << "需要带伞" << endl;       // 条件不成立,不输出
} else
{cout << "无需带伞" << endl;       // 输出
} 
2. 短路求值(Short-Circuit Evaluation)
-  
&&的短路特性:若第一个操作数为false,直接返回false,不再计算第二个操作数。 -  
||的短路特性:若第一个操作数为true,直接返回true,不再计算第二个操作数。 
代码示例
bool checkCondition() 
{cout << "执行了条件检查" << endl;return true;
}int main() 
{bool result1 = false && checkCondition();  // 不会调用 checkCondition()bool result2 = true || checkCondition();   // 不会调用 checkCondition()return 0;
} 
3. 实际应用场景
场景 1:输入合法性验证
string username;
int age;cout << "输入用户名和年龄:";
cin >> username >> age;if (!username.empty() && age > 0) 
{cout << "输入有效" << endl;
} else 
{cout << "输入无效" << endl;
} 
场景 2:游戏状态判断
bool isPlayerAlive = true;
bool hasAmmo = false;if (isPlayerAlive && !hasAmmo) 
{cout << "玩家存活但弹药不足!" << endl;  // 输出
} 
4. 注意事项
-  
操作数隐式转换为布尔值:
-  
非零值(如
5、-1)会被视为true。 -  
零值(
0)被视为false。 
 -  
 
int x = 10, y = 0;
cout << (x && y) << endl;  // 输出 0(false) 

-  
不要混淆
&&和&:-  
&&是逻辑与,用于布尔表达式。 -  
&是按位与,用于二进制位操作。 
 -  
 
int a = 5;  // 二进制 0101
int b = 3;  // 二进制 0011
cout << (a & b) << endl;   // 输出 1(0001)
cout << (a && b) << endl;  // 输出 1(true) 

