在 C++ 中使用嵌套的 if-else 语句

Jinku Hu 2023年10月12日
  1. 在 C++ 中使用单一的 if-else 语句来实现条件语句
  2. 使用嵌套的 if-else 语句在 C++ 中实现多条件程序控制流
在 C++ 中使用嵌套的 if-else 语句

本文将解释几种在 C++ 中如何使用嵌套 if-else 语句的方法。

在 C++ 中使用单一的 if-else 语句来实现条件语句

C++ 语言提供了两种语句来实现条件执行。一个是 if 语句-根据条件分支控制流,另一个是 switch 语句,该语句对表达式进行求值以选择可能的执行路径之一。if 语句可以表示为单个条件,也可以构造为控制不同执行路径的多步语句。请注意,当单个语句符合条件时,可以在不使用大括号 {} 的情况下编写语句来区分块范围。

#include <iostream>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;

int main() {
  vector<int> array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

  if (array[0] > 1) cout << "array[0] <= 1" << endl;

  if (array[0] > 1) {
    cout << "array[0] <= 1" << endl;
    return EXIT_FAILURE;
  }

  return EXIT_SUCCESS;
}

使用嵌套的 if-else 语句在 C++ 中实现多条件程序控制流

或者,可以将嵌套的 if-else 语句彼此链接在一起,以实现复杂的条件控制流。请注意,缺少给定的 if-else 大括号表示该块将无条件执行。当嵌套多个 if 语句并且并非所有 if 条件在同一级别具有相应的 else 块时,后一种情况最有可能。为避免此类问题,应尝试强制使用大括号样式或使用某些特定于 IDE 的工具来检测代码中的此类问题。

#include <iostream>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;

int main() {
  vector<int> array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

  if (array[4] > array[3]) {
    cout << "array[4] > array[3]" << endl;
    if (array[4] > array[5])
      cout << "array[4] > array[5]" << endl;
    else
      cout << "array[4] <= array[5]" << endl;
  }

  if (array[4] > array[3]) {
    cout << "array[4] > array[3]" << endl;
    if (array[4] > array[5])
      cout << "array[4] > array[5]" << endl;
    else if (array[4] > array[6])
      cout << "array[4] > array[6]" << endl;
    else if (array[4] < array[5])
      cout << "array[4] < array[5]" << endl;
    else
      cout << "array[4] == array[5]" << endl;
  }

  return EXIT_SUCCESS;
}

输出:

array[4] > array[3]
array[4] <= array[5]
array[4] > array[3]
array[4] < array[5]
作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 创始人。Jinku 在机器人和汽车行业工作了8多年。他在自动测试、远程测试及从耐久性测试中创建报告时磨练了自己的编程技能。他拥有电气/电子工程背景,但他也扩展了自己的兴趣到嵌入式电子、嵌入式编程以及前端和后端编程。

LinkedIn Facebook

相关文章 - C++ Statement