Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / lect10.doc
Скачиваний:
8
Добавлен:
20.05.2014
Размер:
68 Кб
Скачать
☆

10.2 Метки операторов

Любой оператор программы может быть помечен. Метки нужны, например,

для переходов к этому оператору или для описаний алгоритма или программы.

Пример:

metk1: xx = .5; alg1: cout << xx; m1: int d; mmm: ;

От оператора метка отделяется двоеточием. Последним в примере помечен

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

точкой с запятой, в частности, перед оператором описания переменных или перед

пустым оператором. Можно пометить каждый оператор, как в Бейсике,

но в С++ это не принято, т.к. они усложняют чтение программы.

10.3 Операторы управления

Oбычно операторами передачи управления называют операторы

goto, break, return, continue.

Оператор return был рассмотрен в разделе 8.1.

Оператор безусловного перехода имеет вид

goto метка;

и служит для безусловной передачи управления оператору с указанной после

goto меткой, т.е. переходу к нему. В современном программировании

рекомендуется использовать данный оператор только в случае крайней

необходимости, т.е. когда невозможны другие реализации переходов с помощью оператора цикла или операторов выбора. Это связано с тем, что

оператор goto легко может стать причиной зацикливания программы, т.е. её бесконечного выполнения. Кроме того, он затрудняет чтение программ.

Его частое применение характерно только для начинающих программистов.

Пример:

goto m25 ; / / (10.5)

...

...

m25: cout <<” произошел переход на метку m25”<< endl;

Оператор break используется для принудительного выхода из цикла или

переключателя. Он безусловно передает управление тому оператору, который

следует за циклом или переключателем (о переключателе см. ниже).

Оператор continue используется только в операторах цикла для прерывания

по какому-то условию текущей итерации и перехода к следующей

( см. Ишкова Э.А., с. 47-48).

10. 4 Оператор мультиветвления switch

Рассмотреный в разделе 6.3 оператор if позволяет реализовать выполнение

двух ветвей программы, но, используя вложение этих операторов, ветвление

можно сделать очень сложным. Это было показано в примере (6.8).

Но при сложном вложении трудно понимать текст программы и поэтому

в этом случае удобнее использовать оператор множественного выбора switch,

т.е. переключатель.

Пример.

char a, ss ; int m; / / (10.6)

cout <<" Варианты a, b, c ? "; cin>>ss;

switch ( ss ) {

case 'a' : m=11; break;

case 'b' : m=22; break;

case 'c' : m=33; break;

default : m=0;

} cout<<"m= "<<m ;

В общем случае переключатель имеет следующую форму:

switch ( ПВ ) { / / (10.7)

case c1 : гр1 ;

case c2 : гр2 ;

. . . . . .

case cп : грп ;

default : грdef ; }

Здесь с1, c2, . . , cп - целые или символьные константы,

гр1, гр2, . . - различные группы операторов,

ПВ – переключающее выражение, значение которого определяет

выполняемую ветвь по совпадению с меткой после слова case.

При несовпадении значения ПВ со всеми метками выполняется

группа грdef с меткой default.

Обычно каждая из указанных групп завершается оператором break ( см. раздел 10.4).

Для изучения оператора switch можно обратиться

к учебнику, например, Ишковой Э.А., 2001г., с. 41-43.

Соседние файлы в папке Лекции