Информатика и технология программирования

       

Операторы continue, break и return


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



-continue -переход завершающую часть цикла;



-break -выход из внутреннего цикла;



-return -выход из текущего модуля (функции).

Хотя такие конструкции нарушают "чистоту" подхода, все они имеют достаточно простые структурированные эквиваленты, поэтому их использование все-таки предпочтительнее обычного goto. Рассмотрим пример использования оператора break и его эквивалент:


for (i=0; i&#60n; i++)
{ if (..a[i]...) break; ... }
if (i==n) A else B


int found;
for (found=0, i=0; i&#60n &#38&#38 !found; i++)
{ if (..a[i]..) found++; ... }
if (!found) A else B

При отсутствии в массиве элемента с заданным свойством выполняется A, в противном случае -B. Во втором фрагменте используется специальный признак для имитации оператора break.



Содержание раздела