Обучение : Программирование на Си для PIC


switch-case-break (выбрать набор и выйти)

Синтаксис

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

{

case константа1: группа операторов 1

case константа2: группа операторов 2

...

default: группа операторов n

}

 

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

 

Выражение, следующее за ключевым словом switch в круглых скобках, может быть любым выражением, допустимым в языке Си, значение которого должно быть целым. Значение этого выражения является ключевым для выбора из нескольких вариантов. Тело оператора switch состоит из нескольких операторов, помеченных ключевым словом case с последующими константами.

 

Если значение константы, стоящей после case, совпадает со значением выражения, следующего за ключевым словом switch, то выполнение начинается с этого варианта. Все константные выражения в операторе switch должны быть уникальны. Кроме операторов, помеченных ключевым словом case, может быть (обязательно один) фрагмент, но помеченный ключевым словом default.

 

Если ни один из вариантов не подходит, то выполняется оператор, стоящий после default. Префикс default является необязательным; если его нет и ни один из случаев не подходит, то управление передается на следующий после switch оператор. Варианты (case) и выбор по умолчанию (default) могут располагаться в любом порядке.

 

После выполнения операторов, соответствующих выбранному варианту, будут выполняться операторы, соответствующие следующему варианту. Для выхода из оператора switch используется оператор break.

 

 

Пример.

tmp = 2; // некая переменная

switch(tmp)

{ // начало тела switch

case 0: {tmp=tmp-2; tmp=tmp-2;}

case 3: tmp=tmp-2;

case 2: tmp=tmp*5;

case 5: tmp=tmp/2; break;

case 4: tmp=tmp+1; break;

default: ;

} // конец тела switch

 

 

Комментируем. Выполнение оператора switch начинается с оператора, помеченного case 2, т.к. tmp = 2. Таким образом переменная tmp получает значение tmp=2*5=10. Затем выполняется оператор, помеченный ключевым словом case 5 (по порядку), tmp получает значение tmp=10/2=5. Далее по оператору break происходит выход из оператора switch. Если бы этого break не было, то еще бы выполнялся оператор помеченный case 4.


<<< назад далее >>>

Просмотров: 25365

 








 
 
 

В русском Интернете бестолку защищать свои права. Хотите использовать материалы - используйте,
но с письменного согласия авторов. В противном случае будут высланы соответствующие письма
в поисковые системы об ограничении индексации ваших сайтов. Не доводите до греха.