Зачем нужны условные операторы?
Зачастую алгоритмы в программировании строятся по принципу: «если так, то делать так, если не так, то делать вот это». Здесь-то нам и нужно строить логические условия. Помогает организовать подобную структуру условные операторы.
По сути, их всего два: if и else (по-русски звучит так: если и иначе).
Условные операторы можно вкладывать друг в друга образуя многоэтажные конструкции.
Сравнивать можно любые значения: цифры и символы.
Но тут есть небольшой нюанс: если вы сравниваете цифру и символ — это бред.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
#include <iostream> int main() { setlocale(LC_ALL, "Russian"); //объяляем символьные переменные char n[7] = "Енотик"; char v[10] = "Канарейка"; //объяляем целые значения int a = 5; int c = 9; //объяляем дробные значения float g = 5.6; double h = 5.7; if (n == v) { //сравнение символов std::cout << "Енотик равен канарейке" << std::endl; } else { std::cout << "Енотик не равен канарейке" << std::endl; } std::cout << "\n\n"; //делаем два отступа (исключительно для удобства восприятия) if (a < c) { //если 5 меньше 9, то вывести "5 меньше 9", иначе "5 не меньше 9" std::cout << a << " меньше " << c << std::endl; } else { std::cout << a << " не меньше " << c << std::endl; } std::cout << "\n\n"; //делаем два отступа (исключительно для удобства восприятия) if (g > h) { //если 5.6 больше 5.7, то вывести "5.6 меньше 5.7", иначе "5.6 не меньше 5.7" std::cout << g << " больше " << h << std::endl; } else { std::cout << g << " не больше " << h << std::endl; } std::cout << "\n\n"; if (g >= a) { //если 5.6 строго больше 5, то вывести "5.6 строго больше 5", иначе "5.6 не строго меньше 5" //строго больше значит, что число должно быть больше, либо равно относительно сравниваемого значения std::cout << g << " строго больше " << a << std::endl; } else { std::cout << g << " не строго больше " << a << std::endl; } std::cout << "\n\n"; //делаем два отступа (исключительно для удобства восприятия) if (a <= h) { //если 5 строго меньше 5.7, то вывести "5.6 строго меньше 5.7", иначе "5.6 не строго меньше 5.7" std::cout << a << " строго меньше " << h << std::endl; } else { std::cout << a << " не строго меньше " << h << std::endl; } std::cout << "\n\n"; //делаем два отступа (исключительно для удобства восприятия) system("pause"); return 0; } |
Сравнивать можно результаты выражений, можно делать более сложные условия типа «если 20 больше 10 и/или меньше 21, то сделать следующее…».
Сложные условные операторы
Условия являются сложными, если условие содержит в себе несколько логических выражений.
Чтобы стало понятнее, рассмотрим несколько примеров.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#include <iostream> int main() { setlocale(LC_ALL, "Russian"); //объяляем целые значения int a = 5; int c = 9; if ((a < c) && (a <= 10)) { //если 5 меньше 9-ти И 5 строго меньше 10, то вывести "Тру-ля-ля", иначе вывести "Хрум" //два амперсанда (&&) - это так называемое "логическое И", по-простому это тоже самое И //5 меньше 9-ти и 5 меньше 10, поэтому выводится "Тру-ля-ля", выводится так называемое истинное значение //истинное значение - это значение выполняемое в if, а не в else std::cout << "Тру-ля-ля" << std::endl; } else { std::cout << "Хрум" << std::endl; } if ((a > c) || (a <= 10)) { //если 5 больше 9-ти ИЛИ 5 строго меньше 10, то вывести "Тру-ля-ля", иначе вывести "Хрум" //два вертикальных слеша (||) - это так называемое "логическое ИЛИ", по-простому это тоже самое ИЛИ //5 не больше 9-ти, но 5 меньше 10, поэтому выводится "Тру-ля-ля", выводится так называемое истинное значение //истинное значение - это значение выполняемое в if, а не в else std::cout << "Тру-ля-ля" << std::endl; } else { std::cout << "Хрум" << std::endl; } system("pause"); return 0; } |
Таким нехитрым образом мы познакомились с условными операторами языка C++.