Операторы перехода

Операторы перехода выполняют безусловную передачу управления.

1) break – оператор прерывания блока, обычно используется для принудительного выхода из цикла.

{

< операторы>

if (<выражение_условие>) break;

<операторы>

}

Т.е. оператор break целесообразно использовать, когда условие продолжения итераций проверяется в середине цикла.

Пример:

// ищет сумму чисел, вводимых с клавиатуры, до тех пор, пока не

// будет введено 100 чисел или 0

for(s=0, i=1; i<100;i++)

{

cin>>x;

if(x==0) break; // если ввели 0, то суммирование заканчивается

s+=x;

}

2) continue – переход к следующей итерации цикла. Он используется, когда тело цикла содержит ветвления.

Пример:

// ищет количество и сумму положительных чисел

for(k=0, s=0, x=1; x!=0;)

{

cin>>x;

if (x<=0) continue;

k++; s+=x;

}

3) Оператор goto

Оператор goto имеет формат

goto метка;

В теле той же функции должна присутствовать конструкция

метка: оператор;

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

Применение goto нарушает принципы структурного и модульного программирования, по которым все блоки, из которых состоит программа, должны иметь только один вход и только один выход.

Нельзя передавать управление внутрь операторов if, switch и циклов. Нельзя переходить внутрь блоков, содержащих инициализацию, на операторы, которые стоят после инициализации.

Пример:

int k;

goto m;

...

{

int a=3, b=4;

k=a+b;

m: int c=k+1;

...

}

В этом примере при переходе на метку m не будет выполняться инициализация переменных a, b и k.

4) Оператор return – оператор возврата из функции. Он всегда завершает выполнение функции и передает управление в точку ее вызова. Вид оператора:

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

Лабораторная работа 1.


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



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