5、分支对比 - 课件

一、基础知识

对比项 双分支 多分支 多个if语句
语法 if-else语句 if-else if-else语句 多个独立的if语句
分支数量 只有两个分支 可以有多个分支 每个if语句都是一个独立的分支
判断条件 单一条件判断,结果为真或假 按顺序判断多个条件,只执行第一个满足的分支 每个if语句有独立的判断条件
执行效率 相对较快 根据条件的排列顺序和满足情况而定 逐一判断,效率相对较低
适用场景 简单的二选一判断 多个相关条件的判断,有优先级顺序 多个独立的条件判断
代码可读性 简洁明了 结构清晰,逻辑连贯 逻辑分散,可读性相对较差
常见错误 忘记else,条件判断错误等 条件覆盖不全,遗漏else分支等 条件重复,忘记条件判断等

文字说明:

  1. 双分支if-else语句适用于简单的二选一判断,结构简单,执行效率高。
  2. 多分支if-else if-else语句可以处理多个相关的条件判断,按照条件的优先级依次判断,执行第一个满足条件的分支。代码结构清晰,逻辑连贯。
  3. 多个独立的if语句适用于多个不相关的条件判断,每个if语句独立执行。但是代码逻辑分散,可读性相对较差,执行效率也相对较低。
  4. 在使用过程中,双分支要注意不要遗漏else分支,多分支要注意条件的覆盖是否完整,避免遗漏else分支,多个if语句要注意条件是否有重复or遗漏判断。

二、举例说明

例题1(双分支):
判断一个整数是奇数还是偶数。

#include <iostream>
using namespace std;

int main() {
    int num;
    cout << "请输入一个整数: ";
    cin >> num;

    if (num % 2 == 0) {
        cout << num << "是偶数" << endl;
    } else {
        cout << num << "是奇数" << endl;
    }

    return 0;
}

例题2(多分支):
根据学生的成绩评定等级:90分及以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。

#include <iostream>
using namespace std;

int main() {
    int score;
    cout << "请输入学生的成绩: ";
    cin >> score;

    if (score >= 90) {
        cout << "学生的等级为A" << endl;
    } else if (score >= 80) {
        cout << "学生的等级为B" << endl;
    } else if (score >= 70) {
        cout << "学生的等级为C" << endl;
    } else if (score >= 60) {
        cout << "学生的等级为D" << endl;
    } else {
        cout << "学生的等级为E" << endl;
    }

    return 0;
}

例题3(多个if语句):
判断一个年份是否为闰年。闰年的判断条件为:能被4整除但不能被100整除,或者能被400整除。

#include <iostream>
using namespace std;

int main() {
    int year;
    cout << "请输入一个年份: ";
    cin >> year;

    bool isLeapYear = false;

    if (year % 4 == 0) {
        if (year % 100 != 0) {
            isLeapYear = true;
        }
    }
    if (year % 400 == 0) {
        isLeapYear = true;
    }

    if (isLeapYear) {
        cout << year << "是闰年" << endl;
    } else {
        cout << year << "不是闰年" << endl;
    }

    return 0;
}

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-19 08:54:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-19 08:54:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-19 08:54:03       87 阅读
  4. Python语言-面向对象

    2024-06-19 08:54:03       96 阅读

热门阅读

  1. Python----多线程使用

    2024-06-19 08:54:03       30 阅读
  2. 234. 回文链表

    2024-06-19 08:54:03       33 阅读
  3. 组帧的方法

    2024-06-19 08:54:03       33 阅读
  4. elementui写一个自定义的rangeInput的组件

    2024-06-19 08:54:03       38 阅读
  5. GitHub|GitLab它们的区别是什么?

    2024-06-19 08:54:03       35 阅读
  6. C++ day4

    C++ day4

    2024-06-19 08:54:03      31 阅读
  7. 基于单片机的直流电机调速系统设计探讨

    2024-06-19 08:54:03       30 阅读
  8. clean code-代码整洁之道 阅读笔记(第九章)

    2024-06-19 08:54:03       33 阅读