Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Операторы передачи управления






К операторам передачи управления относят оператор безусловного перехода goto, оператор возврата из функции return, оператор выхода из цикла или переключателя break и оператор перехода к следующей итерации цикла continue.

Оператор безусловного перехода (goto)

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

 

goto идентификатор;

 

Идентификатор - имя метки расположенной в той же функции, где используется goto. Передача управления разрешается на любой помеченный оператор в теле функции. Запрещено перескакивать через описания, содержащие инициализацию объектов. Это ограничение не распространяется на вложенные блоки, которые можно обойти циклом. Применение оператора goto необходимо свести к минимуму. Если же применяете его, то придерживайтесь следующих правил:

- не входить внутрь блока извне;

- не входить внутрь условного оператора;

- не входить внутрь переключателя;

- не передавать управление внутрь цикла.

 

Оператор возврата из функции (return)

Оператор возврата из функции имеет вид:

 

return выражение;

 

или

 

Return;

 

Выражение может быть только скалярным.

Например, функция вычисляет и возвращает куб значения своего аргумента:

 

float cube (float z ) { return i*i*i; }

 

Выражение в операторе return не может присутствовать, если возвращенное функцией значение имеет тип void.

 

Оператор выхода из цикла (break)

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

Например, если необходимо применить дополнительное условие выхода из цикла:

 

while( i < j )

{

i ++;

if ( i == j )

Break;

j =--;

}

Циклы и переключатели могут быть вложенными, break позволяет выйти только из самого внутреннего цикла или переключателя.

 

Оператор перехода к следующей итерации цикла (continue)

Еще одним оператором передачи управления является оператор перехода к к следующей итерации (оператор продолжения) continue. Он употребляется только в операторах цикла. С его помощью завершается текущая итерация (при этом пропускается остаток тела цикла) и начинается проверка условия дальнейшего продолжения цикла, т.е. условий начала следующей итерации.

Например, если необходимо найти сумму всех целых чисел от 0 до 100, которые не делятся на 7.

 

int sum = 0;

for (int i = 1; i < = 100; i = i + 1 )

{

if ( i % 7 == 0 )

Continue;

sum = sum + i;

}

 

Контрольные вопросы

 

1. Какие виды операторов цикла существуют.

2. Опишите оператор цикла с предусловием.

3. Опишите оператор цикла с постусловием.

4. Опишите оператор цикла с параметром.

5. Перечислите операторы передачи управления.

6. Какое назначение оператора break.

7. Какое назначение оператора continue.

8. Какое назначение оператора return.

9. Какое назначение оператора goto.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.