Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PYaVU_s.doc
Скачиваний:
44
Добавлен:
24.02.2016
Размер:
665.09 Кб
Скачать
    1. Оператор break

Синтаксис:

break;

Выполнение:

Оператор break прерывает выполнение операторов do, for, switch или while, в которых он появляется. Управление передается оператору, следующему за прерванным. Появление оператора break вне операторов do, for, switch, while приводит к ошибке.

Внутри вложенных операторов оператор break завершает только операторы do, for, switch или while. Чтобы передать управление вне вложенной структуры, могут быть использованы операторы return и goto.

Пример

for (i=0; i<LENGTH-1;i++)

{

for (j=0;j<WIDTH-1;j++)

{

if (lines [i][j] == '\0')

{

length [i]=j;

break;

}

}

}

В вышеприведенном примере построчно обрабатывается массив lines переменно-длинных строк. Оператор break прерывает выполнение внутреннего оператора for после того, как найден символ конца строки (\0). При этом элементу length [i] одномерного массива присваивается длина в байтах i-ой строки. Управление передается внешнему оператору for. Переменная i инкрементируется и процесс повторяется до тех пор, пока значение i не станет больше или равно константе LENGTH-1.

    1. Составной оператор

Синтаксис:

{

[<declaration>]

.

.

.

<statement>

[<statement>]

.

.

.

}

Выполнение:

Действия при выполнении составного оператора состоят в том, что выполнение его операторов осуществляется в порядке их появления, за исключением случаев, когда очередной оператор явно передает управление в другое место.

Синтаксические правила и семантика объявлений - <declaration>, которые могут появиться в заголовке составного оператора, описаны в разделе 4 "Объявления".

Пример

if (i>0)

{

linne [i]=x;

x++;

i--;

}

Типично появление составного оператора в качестве тела другого оператора, например, такого, как оператор if. В приведенном примере, если i больше нуля, то последовательно выполняются оператры составного оператора.

Помеченные операторы

Подобно другим операторам Си, любой оператор в составном операторе может быть помечен. Поэтому передача управления внутрь составного оператора возможна. Однако, передачи управления внутрь составного оператора опасны, когда составной оператор содержит объявления, которые инициализируют переменные. Объявления в составном операторе предшествуют выполняемым операторам, так что передача управления непосредственно на выполняемый оператор внутри составного оператора минует инициализацию. Результат будет непредсказуем.

    1. Оператор continue

Синтаксис:

continue;

Выполнение:

Оператор cоntinue передает управление на следующую итерацию в оператoрах цикла do, for, while, в которых он может появиться. Оставшиеся операторы в теле вышеперечисленных циклов при этом не выполняются. Внутри do или while циклов следующая итерация начинается с перевычисления выражения do или while операторов. Для оператора for следующая итерация начинается с выражения цикла оператора for.

Пример:

while (i-->0)

{

x=f(i);

if (x==1)

continue;

y=x*x;

}

Тело оператора выполняется , если i>0. Сначала f(i) присваивается x, затем, если x равно 1, то выполняется оператор continue. Остальные операторы тела игнорируются и выполнение возобновляется с заголовка цикла, т.е. вычисляется выражение i-->0.