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

相关推荐
不甘先生11 分钟前
Go 中 type、方法与指针接收者:从 str_name.Name() 看懂 Go 的类型系统
开发语言·后端·golang
OPEN-F23 分钟前
C++20新特性精讲:概念、范围与三路比较
算法·c++20
tudousisi22225 分钟前
CSP 第3题训练 Day 5|CSP202509C HTTP 头信息|Blog A
c++
@MMiL1 小时前
ST-link与J-link通俗易懂讲解
算法
RAOY的AI笔记1 小时前
GPT-6打破孪生素数猜想最新纪录:AI正在进入数学研究新时代?
人工智能·gpt·算法
quantdash_cc1 小时前
Python 股票 K 线数据质量校验:字段、缺失值、重复行和价格异常
开发语言·python·数据分析·量化交易·股票数据·quantdash
Zenova EdgeOS1 小时前
工业网关重试机制:从固定间隔到指数退避的工程实战
开发语言·网络·php
Nil2081 小时前
leetcode 994腐烂的橘子
算法·leetcode·职场和发展
闻缺陷则喜何志丹1 小时前
【动态规划】P10726 [GESP202406 八级] 空间跳跃|普及+
c++·算法·动态规划·洛谷
嘻哈baby1 小时前
Go 函数中的参数为什么不支持默认值?
java·开发语言·jvm