C++ 常用逻辑运算符

一、C++ 常用逻辑运算符

运算符 名称 说明 示例
&& 逻辑与 两边都为真,结果才为真 a > 0 && b > 0
` ` 逻辑或
! 逻辑非 取反 !(a > b)

二、真值表

A B A && B `A B` !A
true true true true false
true false false true false
false true false true true
false false false false true

三、使用示例

复制代码
复制代码
复制代码
复制代码
#include <iostream>
using namespace std;

int main() {
    int a = 5, b = 10;

    if (a > 0 && b > 0) {
        cout << "a 和 b 都大于 0" << endl;
    }

    if (a > 0 || b < 0) {
        cout << "a > 0 或 b < 0 成立" << endl;
    }

    if (!(a == b)) {
        cout << "a 不等于 b" << endl;
    }

    return 0;
}

四、短路求值(Short-Circuit Evaluation)

C++ 中逻辑运算符有 短路特性

1️⃣ &&(逻辑与)

  • 如果左边为 false,右边 不会执行
复制代码
复制代码
复制代码
复制代码
if (a != 0 && 10 / a > 2) {
    // 安全,避免除零错误
}

2️⃣ ||(逻辑或)

  • 如果左边为 true,右边 不会执行
复制代码
复制代码
复制代码
复制代码
if (a == 0 || b / a > 1) {
    // 同样避免除零
}

五、逻辑运算符 vs 位运算符(易混淆)

逻辑运算符 位运算符 区别
&& & 逻辑 vs 按位
` `

❌ 错误示例:

复制代码
复制代码
复制代码
复制代码
if (a & b)   // 这是位运算,不是逻辑判断

✅ 正确写法:

复制代码
复制代码
复制代码
复制代码
if (a && b)

六、优先级(简化版)

从高到低:

复制代码
复制代码
复制代码
复制代码
!  → 算术运算符 → 关系运算符 → &&
→ || → 赋值运算符

建议:不确定时加括号

复制代码
复制代码
复制代码
复制代码
if ((a > 0) && (b < 10))

相关推荐
郝学胜_神的一滴1 分钟前
完全二叉树与堆底层原理深度剖析 | 手写C++大顶堆实现
数据结构·算法
yong99901 分钟前
IMU 扩展卡尔曼滤波(EKF)姿态估计 — MATLAB 实现
开发语言·matlab
coding者在努力3 分钟前
【无标题】
算法
何以解忧,唯有..5 分钟前
Go 语言运算符详解:从基础到实战
开发语言·后端·golang
兰令水6 分钟前
leecodecode【面试150】【2026.6.15打卡-java版本】
java·算法·面试
是苏浙10 分钟前
Java实现链表2
java·开发语言·数据结构
郝学胜_神的一滴17 分钟前
CMake 018:解决头文件编译失效\&VS项目无法展示头文件难题
c++·cmake
多彩电脑19 分钟前
Lua基础入门
开发语言·lua
码云骑士20 分钟前
29-Python-logging日志模块-print不是日志的生产级实战
开发语言·python
影视飓风TIM20 分钟前
C++ 核心语法进阶:【类和对象终章】从对象拷贝到友元与优化(补上期重载)
c++