Оператор goto

Оператор безусловного перехода goto используется в одной из трех форм:

goto метка;

goto case константное_выражение;

goto default;

Оператор goto метка передает управление на помеченный оператор. Метка — это обычный идентификатор, областью видимости которого является функция, в теле которой он задан. Метка должна находиться в той же области видимости, что и оператор перехода. Использование этой формы оператора безусловного пере­хода оправдано в двух случаях:

□ принудительный выход вниз по тексту программы из нескольких вложенных
циклов или переключателей;

□ переход из нескольких точек функции вниз по тексту в одну точку (например,
если перед выходом из функции необходимо всегда выполнять какие-либо
действия).

В остальных случаях для записи любого алгоритма существуют более подходя­щие средства, а использование оператора goto приводит только к усложнению структуры программы и затруднению отладки. Применение этого оператора на­рушает принципы структурного и модульного программирования, по которым все блоки, образующие программу, должны иметь только один вход и один выход. Вторая и третья формы оператора goto используются в теле оператора выбора switch. Оператор goto case константное_выражение передает управление на соответ­ствующую константному выражению ветвь, а оператор goto default — на ветвь default. Надо отметить, что реализация оператора выбора в С# на редкость не­удачна, и наличие в нем оператора безусловного

Оператор break

Оператор break используется внутри операторов цикла или выбора для перехода в точку программы, находящуюся непосредственно за оператором, внутри кото­рого находится оператор break.

Оператор continue

Оператор перехода к следующей итерации текущего цикла continue пропускает все операторы, оставшиеся до конца тела цикла, и передает управление на нача­ло следующей итерации. Перепишем основной цикл листинга 4.8 с применением оператора continue:

Оператор return

Оператор возврата из функции return завершает выполнение функции и переда­ет управление в точку ее вызова. Синтаксис оператора:

return [ выражение ];

Тип выражения должен иметь неявное преобразование к типу функции. Если тип возвращаемого функцией значения описан как void, выражение должно от­сутствовать.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: