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


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


Простая последовательность, условный оператор и цикл составляют " прожиточный минимум" операторов, при помощи которых можно написать любую программу. Они соблюдают строгую иерархию вложенности операторов одного в другой. Это значит, что любое последовательное действие, ветвление или повторение не выходит за рамки охватывающего его действия. Но существует оператор, нарушающий этот установленный порядок, который позволяет из любой точки программы переместиться в другую, разумеется в пределах одной функции. Это действие называется " переходом" (есть еще старинный термин -" передача управления" ), а сам оператор -оператором перехода ( goto ). Для указания оператора, к которому производится переход из данной точки программы, используется метка. Метка -это идентификатор, ограниченный двоеточием и поставленный перед оператором, который в таком случае называется помеченным:

.


оператор
goto mmm:
...
mmm: оператор

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



-оператор continue выполняет переход из тела цикла к его повторяющейся части, то есть досрочно завершает текущий шаг и переходит к следующему;



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



-оператор return производит досрочный выход из текущей функции. Он, кроме всего прочего, возвращает значение результата функции. Это его свойство будет рассмотрено в 2.4.


void F()
{
for (i=0; i&#60n; m1: i++)



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