04. Операторы и условия

Что такое условия

Условия позволяют программе принимать решения: что делать, если что-то верно или неверно.
Программа — как человек: она может проверять, холодно ли на улице, и решить — надеть ли куртку или нет.

Операторы сравнения

C++ использует специальные символы для сравнения значений.
  • == — равно
  • != — не равно
  • > — больше
  • < — меньше
  • >= — больше или равно
  • <= — меньше или равно

Пример


int a = 10;
int b = 5;

cout << (a > b) << endl; // выведет 1 (true) cout << (a == b) << endl; // выведет 0 (false)

Условный оператор if

Команда if проверяет условие. Если оно истинно — выполняется код внутри фигурных скобок.

Пример


#include <iostream>
using namespace std;

int main() { int age; cout << "Введите ваш возраст: "; cin >> age;

if (age >= 18) { cout << "Вам можно войти!" << endl; }

return 0; }

Если ввести 20 → программа выведет: «Вам можно войти!» Если ввести 15 → ничего не произойдёт, потому что условие ложно.

if ... else

Когда нужно выбрать одно из двух действий, используется else.

#include <iostream>
using namespace std;

int main() { int temp; cout << "Введите температуру: "; cin >> temp;

if (temp > 0) { cout << "На улице тепло." << endl; } else { cout << "На улице холодно." << endl; }

return 0; }

if ... else if ... else

Если вариантов больше, используйте else if.

#include <iostream>
using namespace std;

int main() { int score; cout << "Введите оценку (1–5): "; cin >> score;

if (score == 5) { cout << "Отлично!" << endl; } else if (score == 4) { cout << "Хорошо!" << endl; } else if (score == 3) { cout << "Удовлетворительно." << endl; } else { cout << "Попробуйте ещё раз." << endl; }

return 0; }

Логические операторы

Иногда нужно проверять несколько условий одновременно. Для этого есть логические операторы.
  • && — «и» (всё должно быть истинно)
  • || — «или» (достаточно одного истинного условия)
  • ! — «не» (инвертирует значение)

Примеры


int age = 20;
bool hasTicket = true;

if (age >= 18 && hasTicket) { cout << "Добро пожаловать на концерт!" << endl; }

if (!(age < 18)) { cout << "Вы совершеннолетний." << endl; }

Оператор switch

Если у вас много условий с одинаковыми проверками (например, по числу или символу), используйте switch.

#include <iostream>
using namespace std;

int main() { int day; cout << "Введите номер дня недели (1–7): "; cin >> day;

switch (day) { case 1: cout << "Понедельник"; break; case 2: cout << "Вторник"; break; case 3: cout << "Среда"; break; case 4: cout << "Четверг"; break; case 5: cout << "Пятница"; break; case 6: cout << "Суббота"; break; case 7: cout << "Воскресенье"; break; default: cout << "Неверный номер дня."; }

return 0; }

Объяснение

  • switch (day) — проверяем значение переменной day.
  • case 1: — если day равно 1, выполняется этот блок.
  • break — завершает выполнение, чтобы не переходить к следующему case.
  • default — выполняется, если ни одно условие не подошло.

Типичные ошибки

  • Пропущены фигурные скобки { } после if — это приводит к неожиданным результатам.
  • Забыли break в switch — программа выполнит все case подряд.
  • Использование = вместо == в if (например, if (a = 5) вместо if (a == 5)).

Мини-практика

Попробуйте выполнить задания:
  • Напишите программу, которая определяет, является ли число положительным, отрицательным или нулём.
  • Создайте программу, которая спрашивает возраст и решает, можно ли получить водительские права (18+).
  • Сделайте калькулятор с использованием switch: +, -, *, /.

Пример решения (калькулятор)


#include <iostream>
using namespace std;

int main() { double a, b; char op;

cout << "Введите выражение (например, 2 + 3): "; cin >> a >> op >> b;

switch (op) { case '+': cout << a + b; break; case '-': cout << a - b; break; case '*': cout << a * b; break; case '/': cout << a / b; break; default: cout << "Неизвестная операция."; }

return 0; }

Итоги урока

Теперь вы знаете:
  • Как сравнивать значения и проверять условия.
  • Как использовать if, else, else if и switch.
  • Как комбинировать логические выражения.
  • Как строить простую логику принятия решений в программе.