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))

相关推荐
眷蓝天10 小时前
Prometheus介绍及监控平台部署
java·开发语言
五月君_10 小时前
Rust 重写 AI 味太浓,Bun 被 yt-dlp 封版本、Electrobun 直接解绑
开发语言·后端·rust
Hali_Botebie10 小时前
两种子词分词算法BPE (Byte-Pair Encoding) 和Unigram 区别
人工智能·算法
he___H10 小时前
leetcode100-普通数组
java·数据结构·算法·leetcode
y = xⁿ10 小时前
JUC:锁机制/关键字
java·开发语言
legendary_16310 小时前
Type-C浪潮席卷小家电:SINK芯片如何成为快充高压的“心脏“
c语言·开发语言
Struggle_975510 小时前
算法知识-堆相关知识
java·开发语言·算法
李伟_Li慢慢10 小时前
从惯性和矩详解惯性矩
人工智能·算法·机器人
黎阳之光10 小时前
实景三维重构赋能智慧仓储,黎阳之光打造仓库全域透明管控新生态
大数据·人工智能·算法·安全·数字孪生