Управление программным потоком в С++

Оператор выбора 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, должен быть пропущен, потом переходит к началу цикла и это повторяется до тех пор пока цикл не закончится.

Автор: Marienko L.
Дата: 02.12.2012
Поделиться:

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.