Оператор выбора if
if(/*условное выражение*/) { //тело оператора условного выбора if }
Фигурные скобочки нужны только, если в теле оператора if
, несколько строк кода. Код в теле if
выполняется, если условное выражение верно. Подробно читайте тут: оператор выбора if
.
Оператор выбора if else
if(/*условное выражение*/) { //это код выполняется, если условие истинно } else { //этот код - если условие ложно }
Фигурные скобочки нужны только для многострочных блоков кода. Если условие истинно, выполняется первый блок кода, а когда условие — ложное, выполняется код после оператора else
. Эта структура кода может сопровождаться дополнительными операторами выбора if else
, если необходимо сформировать цепочку из нескольких операторов: if-else-if-else-....
Подробно читайте тут: оператор выбора if else
.
Оператор множественного выбора switch case
switch(/*переменная*/) { case /*значение*/: //код после двоеточия case /*значение*/: //код default: //код, который выполнится, если все ветки с case - ложные }
Фигурные скобки в операторе switch
всегда необходимы, так как в switch
как минимум должно быть два переключателя (case
). Если значение переменной равно одному из значений в строке с оператором case
, то код после двоеточия будет выполнен. Выполнятся код будет от одного case
к другому, до тех пор, пока не будет достигнут конец оператора switch
. Предотвратить выполнение последующего кода можно, просто напишите break;
после блока кода и как только программа выполнит инструкцию break;
, управление перейдет следующему оператору, после switch
. В случае, если ни один из case
не истинен, то управление передается ветке — default
. default
— необязательная часть, её можно и не писать. case
-веток может быть неограниченное количество. Подробно читайте тут: оператор множественного выбора switch case
.
Оператор метки goto
goto label; // другой код label: //код
При использовании goto
, программа переходит к метке label
, что в третьей строке и уже код выполняется после метки. Получается своеобразный прыжок, мы пропускаем участок с другим кодом и выполняем тот код, который нужно, строки 4 и до конца программы. (Вы не можете, прыгать из одной функции в другую функции.) Использование goto
, в большинстве случаев, — это плохой стиль программирования, потому, что нарушается структурность кода, получается макаронный код. Однако оператор goto
может быть полезен для выхода из нескольких вложенных циклов или — для обработки ошибок в одной области доступа.
Оператор break
/*оператор цикла*/ { break; // выход из цикла //код, который при определенном случае нужно пропустить }
или, использование оператора break
в операторе switch
switch( переменная ) { case /*значение*/: /*блок кода */ break; // выход из switch case /*значение*/: /* блок кода */ break; // выход из switch /* . . . */ }
break
используется внутри циклов и оператора switch
, чтобы перейти в конец блока кода. То есть программа выполняет код до оператора break и как только выполнится break, программа выйдет из цикла или оператора switch
. В операторе switch
, break
пропускает все остальные case
— это предотвращает «провалы» в другие ветки case
.
Оператор continue
for ( int ix = 0; ix < 10; ix++ ) { continue; cout << ix; // этот код никогда не выполнится }
Оператор continue
приводит к тому, что оставшийся код внутри цикла, но после continue
, строка 4, должен быть пропущен, потом переходит к началу цикла и это повторяется до тех пор пока цикл не закончится.