C++ для новичков: Условные операторы if-else и switch-case

Условные конструкции позволяют выполнять различные участки кода в зависимости от истинности заданного условия. В C++ для этого используются операторы if-else и switch-case.

Оператор if-else

Оператор if проверяет условие. Если оно истинно, выполняется код внутри фигурных скобок {}. Если условие ложно, и присутствует блок else, выполняется код внутри его фигурных скобок. Точка с запятой ставится только после отдельных строк кода, а не после фигурных скобок.

if (5 > 3) {
  // Код, который выполнится, если 5 > 3
}

Пример с пользовательским вводом:

int nam;
std::cin >> nam;

if (nam > 3) {
  std::cout << "Число у нас больше" << std::endl;
}

Этот код запрашивает у пользователя число и выводит сообщение, если число больше 3. Если введенное число меньше или равно 3, ничего не происходит.

Оператор if поддерживает следующие операторы сравнения:

  • > (больше)
  • < (меньше)
  • == (равно)
  • != (не равно)
  • >= (больше или равно)
  • <= (меньше или равно)

Пример с проверкой на равенство и неравенство:

if (nam == 3) {
  // Код, который выполнится, если nam равно 3
}

if (nam != 3) {
  // Код, который выполнится, если nam не равно 3
}

Внутри блока if можно использовать множество строк кода и вложенные условия:

if (nam > 3) {
  std::cout << "Число у нас больше" << std::endl;
  if (nam == 5) {
    std::cout << "Число равно 5" << std::endl;
  }
}

Оператор else выполняется, если условие в if ложно:

if (nam > 3) {
  std::cout << "Число больше 3" << std::endl;
} else {
  std::cout << "Число меньше или равно 3" << std::endl;
}

Оператор else if позволяет проверять несколько условий последовательно:

if (nam > 3) {
  std::cout << "Число больше 3" << std::endl;
} else if (nam == 3) {
  std::cout << "Число равно 3" << std::endl;
} else {
  std::cout << "Число меньше 3" << std::endl;
}

Можно использовать сколь угодно много блоков else if. else if проверяется только если предыдущее условие if или else if было ложным. Блок else (если есть) выполняется, если все предыдущие условия оказались ложными.

Если в блоке if или else if только одна строка кода, фигурные скобки можно опустить:

if (nam > 3) std::cout << "Число больше 3" << std::endl;

Оператор switch-case

Оператор switch-case позволяет проверить одну переменную на несколько возможных значений.

int nam;
std::cin >> nam;

switch (nam) {
  case 5:
    std::cout << "nam is 5" << std::endl;
    break;
  case 50:
    std::cout << "nam is 50" << std::endl;
    break;
  default:
    std::cout << "Другое значение nam" << std::endl;
}

switch принимает переменную для проверки. case указывает на конкретное значение. Если значение переменной совпадает со значением case, выполняется код после двоеточия. break прерывает выполнение switch после обработки case. default выполняется, если ни один case не совпал. В switch можно проверять только на равенство.

Операторы if-else и switch-case – фундаментальные инструменты для управления потоком выполнения программы в C++. Выбор между ними зависит от конкретной задачи: if-else подходит для проверки различных условий, а switch-case удобен для проверки одной переменной на несколько значений. Оба оператора позволяют создавать сложные и гибкие программы.

Что будем искать? Например,программа