Оператор switch case в языке C

CBeginner
Практиковаться сейчас

Введение

В C оператор switch case используется для управления потоком выполнения программы, когда есть несколько альтернатив. Это один из операторов принятия решений в C. Оператор switch case вычисляет выражение и сравнивает его с несколькими значениями для выполнения соответствующего блока кода.

В этом практическом занятии вы научитесь использовать оператор switch case в C с примерами.

Базовый синтаксис оператора switch case

#include <stdio.h>

int main() {
  int num = 2;
  switch(num) {
    case 1:
      printf("Number is 1");
      break;
    case 2:
      printf("Number is 2");
      break;
    case 3:
      printf("Number is 3");
      break;
    default:
      printf("Number is not 1, 2, or 3");
  }
  return 0;
}

Эта программа объявляет целое число num со значением 2 и использует оператор switch case, чтобы проверить, совпадает ли его значение с каким-либо из меток case. Поскольку значение num равно 2, вывод этого кода будет Number is 2.

Без оператора break

#include <stdio.h>

int main() {
  int num = 2;
  switch(num) {
    case 1:
      printf("Number is 1\n");
    case 2:
      printf("Number is 2\n");
    case 3:
      printf("Number is 3\n");
    default:
      printf("Number is not 1, 2, or 3\n");
  }
  return 0;
}

Эта программа объявляет целое число num со значением 2 и использует оператор switch case без использования оператора break. Поскольку нет оператора break, все последующие инструкции будут выполнены до следующего оператора break или конца оператора switch case. Вывод этой программы будет таким:

Number is 2
Number is 3
Number is not 1, 2, or 3

Использование типа данных char

#include <stdio.h>

int main() {
  char grade = 'B';
  switch(grade) {
    case 'A':
      printf("Excellent");
      break;
    case 'B':
      printf("Good");
      break;
    case 'C':
      printf("Average");
      break;
    default:
      printf("Invalid grade");
  }
  return 0;
}

Эта программа объявляет переменную grade типа char со значением 'B'. Она использует оператор switch case, чтобы проверить, совпадает ли значение grade с каким-либо из меток case. Вывод этого кода будет Good.

Вложенный оператор switch case

#include <stdio.h>

int main() {
  int num1 = 2, num2 = 3;

  switch(num1) {
    case 1:
      switch(num2) {
        case 1:
          printf("Number is 1");
          break;
        case 2:
          printf("Number is 2");
          break;
        default:
          printf("Number is not 1 or 2");
          break;
      }
      break;
    case 2:
      switch(num2) {
        case 3:
          printf("Number is 3");
          break;
        case 4:
          printf("Number is 4");
          break;
        default:
          printf("Number is not 3 or 4");
          break;
      }
      break;
    default:
      printf("Invalid input");
  }
  return 0;
}

Эта программа объявляет две целочисленные переменные num1 и num2 со значениями 2 и 3 соответственно. Затем она использует вложенные операторы switch case, чтобы проверить, совпадают ли значения num1 и num2 с какими-либо из меток case. Вывод этого кода будет Number is 3.

Резюме

В этом практическом занятии вы узнали, как использовать оператор switch case в C на примерах. Вы узнали, как использовать оператор switch case с разными типами данных, как использовать его без оператора break и как вкладывать операторы switch case.