(C++) Условный оператор


Алгоритмические конструкции

Хотите научиться создавать мощные, интеллектуальные, универсальные и полезные программы?

Тогда вам необходимо изучить три формы управления процессом выполнения программ. Согласно теории вычислительных систем, хороший язык программирования должен обеспечивать реализацию трех форм управления процессом выполнения программ.
 
1. Последовательность (следование)
Выполнение последовательных операторов - с этим мы уже познакомились в более ранних курсах. Все наши предыдущие программы представляли собой некоторую последовательность операторов.

 
2. Выбор (ветвление)
Если выполняется условие, 
    то сделать действие, 
иначе сделать другое действие. 
 
3. Повторение (цикл)
 Пока выполняется условие
     делать действия

Использование различных форм управления процессом выполнения позволяет программам принимать решения на основе внешних факторов, таких как ввод пользователя или данные, полученные из другой части программы.
 

Условный оператор (if...else)

За конструкцию выбора в программировании отвечает условный оператор. Благодаря условному оператору можно изменять процесс выполнения программы в зависимости от исходных данных.
 

Общий вид условного оператора

if ( условие ) // заголовок с условием
{
    ...  // блок «если» — операторы, которые выполняются,
         // если условие в заголовке истинно
}
else
{
    ...  // блок «иначе» — операторы, которые выполняются,
         // если условие в скобках ложно
}

Правила оформления программы на С++

Нет единых требований в расстановке фигурных скобок. Открывающуюся фигурную скобку можно поставить на одной строке с оператором. Можно оформить оператор следующим образом, что никак не повлияет на результат выполнения программы.

if ( условие ) {
    ... 
} 
else {
    ... 
}
Для улучшения читаемости кода мы будем использовать стиль Алмена, когда открывающаяся фигурная скобка ставится на новой строке, закрывающаяся также на новой строке, таким образом, чтобы она находилась под открывающейся.
Операторы, которые располагаются внутри фигурных скобок { } записываются в этом случае со сдвигом на 4 пробела вправо относительно фигурных скобок. 
Такая запись называется записью лесенкой и позволяет облегчить чтение и понимание программного кода. 

 

Как работает условный оператор (if...else)

если условие истинно если условие ложно
Если условие после слова if выполняется, то
- код внутри {} после if выполняется
- код внутри {} после else пропускается
Если условие после слова if не выполняется, то
- код внутри {} после if пропускается
- код внутри {} после else выполняется
  
Надо запомнить!
1. if ... else это один оператор!  Поэтому между скобкой, завершающей блок "если" ( } ) и словом else не могут находиться другие операторы.

2. После слова else никогда условие не ставится. Условие ставится только после слова if. Блок "иначе" выполняется тогда, когда основное условие, указанное после слова if - ложно, т.е. не выполняется.

3. В случае если в блоке "if" или в блоке "else" стоит только один оператор, то фигурные скобки можно опустить.

4. Условие (логическое условие) - это выражение, относительно которого можно сказать истинно оно (то есть выполняется) или ложно (то есть не выполняется).

Простые логические условия записываются с помощью знаков логических операций:
Операция Значение Пример
== равно 8 == 7  false
!= не равно 8 != 7  true
> больше чем 8 > 7  true
< меньше чем 8 < 7  false
>= больше или равно чем 8 >= 7  true
<= меньше или равно чем 8 <= 5  false

5. В языке программирования C++ любое число, не равное нулю, обозначает истинное условие, а ноль - ложное условие.

Неполный условный оператор

Если вам не нужно ничего делать в блоке else (например, "если в продаже есть мороженое, купите мороженое", а если нет?), то блок else можно опустить и использовать неполную форму условного оператора.
 
Неполная форма записи условного оператора
if ( условие )
{
   ... // что делать, если условие истинно
}
 

Как работает неполный условный оператор (if)

если условие истинно если условие ложно
Если условие после слова if выполняется, то
- код внутри {} после if выполняется
Если условие после слова if не выполняется, то
- код внутри {} после if пропускается