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.
- Как комбинировать логические выражения.
- Как строить простую логику принятия решений в программе.