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


Операторы перехода - часть 2


{
if (A[i]==0) continue; //goto m1;


if (A[i]==-1) return; //goto m2;


if (A[i] &#60 0) break; //goto m3;


}
m2: ... продолжение тела функции
m3:
}

Операторы continue, break и return должны завершаться ограничителем ";" .

Оператор switch можно назвать множественным переходом по группе значений выражения. Он имеет самый "изысканный" синтаксис:


switch (выражение)
{
case константа1: последовательность операторов_1
case константа2: последовательность операторов_2
case константа3: последовательность операторов_3
default: последовательность операторов
}

Выполняется он следующим образом. Вычисляется значение выражения, стоящего в скобках. Затем последовательно проверяется его совпадение с каждой из констант, стоящих после ключевого слова case и ограниченных двоеточием. Если произошло совпадение, то производится переход на идущую за константой простую последовательность операторов. Отсюда следует, что если не предпринять никаких действий, то после перехода к n-й последовательности операторов будет выполнена n+1 -я и все последующие. Чтобы этого не происходило, в конце каждой из них ставится оператор break , который в данном случае производит выход за пределы оператора switch . И последнее. Метка default обозначает последовательность, которая выполняется "по умолчанию", то есть когда не было перехода ни по какой другой ветви. Все эти нюансы отражены в примере, содержащем полный программный эквивалент оператора switch с использованием операторов goto :

.


switch (n) Эквивалент
if (n==1) goto m1;
{ if (n==2) goto m2;
case 1: n=n+2; break; if (n==4) goto m3;
case 2: n=0; break; goto md;
case 4: n++; break; m1: n=n+2; goto mend;
default: m2: n=0; goto mend;
n=-1; m3: n++; goto mend;
} md: n=-1;
mend: ...

Оператор switch обычно используется при анализе значений переменной, когда он заменяет группу условных операторов:

.


switch (c) Эквивалент
{ if (c==' ') {...}
case ' ': ... break; if (c=='+') {...}
case '+': ... break; if (c=='-') {...}



Начало  Назад  Вперед



Книжный магазин