当前位置:首页 > 课程体系 > 正文

004. 分支结构

一、比较运算符

用于比较两个操作数的关系,返回 bool 类型结果(true 或 false)。
运算符含义示例
==等于a == b
!=不等于a != b
>大于a > b
<小于a < b
>=大于等于a >= b
<=小于等于a <= b

二、逻辑运算符

用于组合多个条件,返回 bool 类型结果。
运算符含义示例结果说明
&&逻辑与(且)a && b当 a 和 b 均为 true 时返回 true
||逻辑与(或)a || b当 a 和 b 有一个为 true 时返回 true
!逻辑非(取反)!a当 a 为 false 时返回 true,反之亦然

三、单分支结构(if 语句)

语法格式
cpp
运行
if (条件表达式) {
    // 条件为 true 时执行的代码块}
示例
cpp
运行
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
    int score = 85;
    if (score >= 60) { // 条件为 true 时执行
        cout << "成绩合格!" << endl;
    }
    return 0;}

四、双分支结构(if-else 语句)

语法格式
cpp
运行
if (条件表达式) {
    // 条件为 true 时执行的代码块} else {
    // 条件为 false 时执行的代码块}
示例
cpp
运行
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
    int score = 55;
    if (score >= 60) {
        cout << "成绩合格!" << endl;
    } else { // 条件为 false 时执行
        cout << "成绩不合格!" << endl;
    }
    return 0;}

五、多分支结构(if-else if-else 语句)

语法格式
cpp
运行
if (条件表达式1) {
    // 条件1为 true 时执行} else if (条件表达式2) {
    // 条件1为 false 且条件2为 true 时执行} else {
    // 所有条件均为 false 时执行}
示例
cpp
运行
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
    int score = 78;
    if (score >= 90) {
        cout << "等级:A" << endl;
    } else if (score >= 80) { // 条件1不满足时判断条件2
        cout << "等级:B" << endl;
    } else if (score >= 60) {
        cout << "等级:C" << endl;
    } else { // 所有条件均不满足时执行
        cout << "等级:D" << endl;
    }
    return 0;}

六、三目运算符(?:

语法格式
cpp
运行
条件表达式 ? 表达式1 : 表达式2
  • 若条件为 true,返回 表达式 1 的值;

  • 若条件为 false,返回 表达式 2 的值。

示例
cpp
运行
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
    int a = 10, b = 20;
    int max = (a > b) ? a : b; // 等价于 if-else 结构
    cout << "较大值:" << max << endl;
    return 0;}

七、switch-case 语句

用于多条件分支判断,适用于离散值的比较(如整数、字符等)。
语法格式
cpp
运行
switch (表达式) {
    case 常量1:
        // 执行代码块1
        break; // 跳出 switch
    case 常量2:
        // 执行代码块2
        break;
    ...
    default: // 可选,所有 case 均不匹配时执行
        // 执行代码块
        break;}
注意事项
  1. case 后必须是常量表达式,且值必须唯一。

  2. break 用于终止当前 case 的执行,避免穿透效应(若省略 break,会继续执行下一个 case)。

  3. default 分支可选,相当于 if-else 中的 else

示例
cpp
运行
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
    int day = 3;
    switch (day) {
        case 1:
            cout << "星期一" << endl;
            break;
        case 2:
            cout << "星期二" << endl;
            break;
        case 3:
            cout << "星期三" << endl; // 匹配 day=3
            break; // 跳出 switch
        default:
            cout << "未知日期" << endl;
    }
    return 0;}

八、分支结构对比

结构适用场景特点
if单条件或简单双条件判断灵活,可处理复杂表达式
if-else二选一的条件判断清晰区分条件成立与不成立的场景
if-else if多条件互斥判断(连续区间)按顺序判断条件,适合范围比较(如成绩等级划分)
switch多条件等值判断(离散值)效率更高,结构更清晰,但要求条件为离散值且必须是整型 / 字符型等可比较类型
三目运算符简单条件赋值或表达式语法简洁,适用于一行代码解决简单逻辑

有话要说...