Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ВУМИП 2012-07-06.doc
Скачиваний:
66
Добавлен:
13.05.2015
Размер:
9.35 Mб
Скачать

6.2.10. Операторы

6.2.10.1.Блоки и составные операторы

Любая последовательность операторов, заключенная в фигурные скоб­ки, является составным оператором (бло­ком). Составной оператор мо­жет использоваться везде, где синтаксис языка допускает обычный оператор. Идентификатор, объявленный в блоке, имеет область действия от точки объявления до конца блока.

6.2.10.2. Оператор возврата из функции ‑return

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

Оператор предназначен для выход из функции со значением указан­ного выражения. Если выражение отсутствует, то в объявлении функции это указывается параметром void перед именем функции.

6.2.10.3.Условный оператор ‑if

if (<условие>) <оператор-1 > [else <оператор-2>]

Если условие истинно, то выполня­ется <оператор-1>, в противном случае - <оператор-2>. Синтаксис предписывает, что else всегда относится к ближайшему оператору if.

Пример вложенного оператора if:

int main(int argc, char **argv) { int i = 4, j = 6, k = 8; if (i < k) if (i > j)

printf ( «оператор 1\n» ); else printf ( «оператор 2\n»);getch(); return 0; }

6.2.10.4.Условная операция ‑ ?

<результат >= (<условие>) ?< выражение-1> :< выражение-2 >

Если условие истинно, то результату присваивается значение <выражение-1>, иначе ‑ < выражение-1>.

Пример: main ( ) {int i = 6, j = 4; int result = ( i < j ) ? i : j; }

6.2.10.5.Оператор выбора варианта ‑switch

switch (< выражение >)

{ case <константное выражение_1> : <операторы> [<break;>]

...

case <константное выражение_n > : <операторы> [<break;>]

[default: <операторы>]

}

После вычисления выражения в заголовке оператора его результат последовательно сравнивается с констант­ными выражениями, начиная с самого верхнего, пока не будет установлено их соответствие. Тогда вы­пол­няют­ся операторы внутри соответствующего case, управление пе­рехо­дит на следующее константное выражение, и проверки продолжаются. Именно поэтому в конце каждой последова­тельности операторов должен присутствовать оператор break. После выполнения последовательности операторов внутри одной ветки case, завершающейся оператором break, происходит выход из оператора switch. Обычно оператор switch исполь­зуется тогда, когда программист хочет, чтобы была выполнена только од­на последователь­ность операторов из нескольких возможных. Каждая последовательность операторов может содер­жать нуль или бо­лее от­дельных операторов. Фигурные скобки в этом случае не требуются.

Если ветка, называемая default (умолчание) есть, то пос­ле­до­ва­тель­ность опе­раторов, стоящая непосредственно за словом de­fault и дво­е­­­точием, выполняется только тогда, когда сравнение ни с од­ним из стоя­щих выше константных выражений не ис­тинно.

6.2.10.6.Оператор безусловного перехода ‑goto

Оператор goto используется для передачи управления внутри функции от одного оператора к другому. Синтаксис оператора такой:

goto <идентификатор>. Управление передается безусловно на оператор, помеченный указанным идентификатором.

Пример: goto backend; ... backend: x+= 3; ...

Рекомендуется минимизировать число операторов goto и не вхо­дить извне внутрь бло­ка операторов if, else, switch или операто­ров цикла.