Операторы ветвления используются в разветвленных алгоритмах и служат для выбора маршрута выполнения программы в зависимости от истинности или ложности некоторых условий [1, 17, 32]. Операторы ветвления называют ещё конструкциями принятия решений [1]. К операторам ветвления относятся следующие операторы: условные операторы if, if … else и оператор-переключатель switch.
Синтаксис условных операторов имеет вид [1]:
if (выражение) оператор;
либо, если операторов, выполняемых при истинности выражения несколько, то
if (выражение) { оператор 1;
оператор 2;
…………
оператор N;
}
В случае, когда необходимо сравнить выражение с некоторым значением, нужно использовать операции отношений. Например,
if (выражение == значение) оператор;
if (выражение!= значение) оператор;
if (выражение <= значение) оператор;
Оператор if … else может иметь две ветви:
if (выражение) { оператор 1;
оператор 2;
}
else
{ оператор 3;
оператор 4;
}
Здесь вторая ветвь является альтернативой.
Оператор if … else допускает применение вложенных конструкций вида:
if (выражение 1) оператор 1;
else if (выражение 2) оператор 2;
else if (выражение 3) оператор 3;
else if (выражение 4) { оператор 4;
…………
else if (выражение N) оператор N;
else
оператор по умолчанию;
где последняя ветвь else оператор по умолчанию; является необязательной. Количество уровней вложенности операторов if может быть любым. Однако при количестве таких вложенных конструкций, больших четырёх-пяти, программу становится трудно отлаживать [1].
Когда в программе нужно выбрать один из многочисленных вариантов, бывает целесообразным применять оператор-переключатель switch. Этот оператор называется ещё оператором множественного выбора [1].
Синтаксис оператора-переключателя switch имеет вид:
Switch (выражение)
{ case метка 1: оператор 1;
break; // Выход из оператора switch
{ case метка 2: оператор 2;
break;
…………
case метка N: оператор N;
break;
default:
оператор;
}
В данном операторе выражение и метки должны иметь значения целого либо символьного типа. Выбирается тот вариант, метка которого совпадает со значением выражения. В случае, когда нет ни одного совпадения меток со значением выражения, выбирается метка default:. Эта метка является необязательной.