Условные операторы
В этой статье мы познакомимся с ещё одной конструкцией в языках программирования. Это условия.
Часто нам нужно отбирать какие либо предметы согласно некоторому условию. Например, если мы хотим составить отчет о посещаемости сайта по возрасту, то мы зададим условие: “А сколько человек в возрасте от 18 до 35 лет посещают данный сайт в день”. Иными словами, мы хотим взять только тех людей, чей возраст превышает 18 И меньше, чем 35. Постоение составных (из нескольких высказываний) условий напрямую ведет нас в алгебру логики. Подробнее об алгебре логики можно узнать на странице Википедии.
В языке С++ приняты следующие логические операторы:
Конъюнкция (И) | && или and |
Дизъюнкция (ИЛИ) | or или две вертикальные черты |
Отрицание (НЕ) | ! |
Сложение по модулю 2 (xor) | ^ |
Синтаксис условий имеет следующий вид:
if(<condition>)
{
// выполняется, если условие истинно
}
else if (<condition>)
{
// выполняется, если первый if не выполнился, а здесь condition = true
}
else
{
// иначе выполняется это
}
Также чтобы задавать условия нам потребуются операторы отношения
Больше | > |
Больше или равно | >= |
Меньше | < |
Меньше или равно | <= |
Равно | == |
Не равно | != |
Таким образом мы можем составить условие, которое было озвучено в начале статьи:
int age = 23;
if (age >= 18 && age <= 35)
cout << "You are welcome;)";
Обратите внимание, что если внутри условия содержится одна операция - её можно не обрамлять фигурными скобками. В противном случае это сделать необходимо.
Переключатель
Также в языке C++ сущнествует такой оператор, как переключатель (switch). Данная конструкция принимает на вход какое либо значение и выполняет указанные действия.
Рассмотрим следующий код:
int mark;
cin >> mark;
switch (mark)
{
case 2:
{
cout << "Too bad";
break;
}
case 3:
{
cout << "Intermediate";
break;
}
case 4:
{
cout << "Good";
break;
}
case 5:
{
cout << "Exellent";
break;
}
default:
{
cout << "Error!";
break;
}
}
Вы вводите оценку (mark) и далее в дело вступает switch. Он ищет подходящее значение в case’ах и если находит, то выполняет действия, указанные в нем. Если указанное значение не было найдено, то управление передается в default. Обратите внимание, что в конце каждого case присутствует оператор break. Это оператор безусловного выхода из цикла, но также и из switch. Попробуйте понаблюдать, что будет, если оператор break опустить.