【C语言】(9)分支结构

81 阅读2分钟

一.if-else 语句

if-else 适用于简单和复杂的条件判断。

a. 基本 if 语句

  • 用途:基本的条件测试。
  • 语法
if (condition) {
      // 代码块
  }
  • 示例
  if (score > 60) {
      printf("及格\n");
  }

b. if-else 语句

  • 用途:二选一的条件判断。
  • 语法
  if (condition) {
      // 条件为真时的代码
  } else {
      // 条件为假时的代码
  }
  • 示例
  if (age >= 18) {
      printf("成年\n");
  } else {
      printf("未成年\n");
  }

c. if-else if-else 语句

  • 用途:处理多个条件。
  • 语法
  if (condition1) {
      // 第一个条件的代码
  } else if (condition2) {
      // 第二个条件的代码
  } else {
      // 所有条件都不满足时的代码
  }
  • 示例
  if (score >= 90) {
      printf("优秀\n");
  } else if (score >= 60) {
      printf("及格\n");
  } else {
      printf("不及格\n");
  }

d. 嵌套 if 语句

  • 用途:处理更复杂的条件。
  • 语法
  if (condition1) {
      if (condition2) {
          // 条件1和条件2都满足时的代码
      }
  }
  • 示例
  if (isLoggedIn) {
      if (userRole == "admin") {
          printf("管理员登录\n");
      }
  }

二.switch 语句

switch 适用于多选一的情况,尤其是一个变量有多个特定值的情况。

a. 基本 switch 语句

  • 用途:基于单个变量的多值判断。
  • 语法
  switch (variable) {
      case value1:
          // value1 对应的代码
          break;
      case value2:
          // value2 对应的代码
          break;
      // 更多 case
      default:
          // 没有匹配 case 时的代码
  }
  • 示例
  switch (grade) {
      case 'A':
          printf("优秀\n");
          break;
      case 'B':
          printf("良好\n");
          break;
      default:
          printf("其他\n");
  }

b. switch-case 的组合

  • 用途:处理相同代码块的多个 case 值。
  • 语法
  switch (variable) {
      case value1:
      case value2:
          // value1 和 value2 的共享代码
          break;
      // 更多 case
  }
  • 示例
  switch (dayOfWeek) {
      case 1:
      case 7:
          printf("周末\n");
          break;
      default:
          printf("工作日\n");
  }

c. switch 的默认情况

  • 用途:处理未列出的其他情况。
  • 语法
  switch (variable) {
      // case 分支
      default:
          // 默认代码块
  }
  • 示例
  switch (direction) {
      case 'N':
          printf("北\n");
          break;
      default:
          printf("未知方向\n");
  }