Оператор выбора switch

Оператор выбора (оператор переключатель) служит для выбора действий из нескольких возможных альтернативных вариантов. Оператор выбора имеет вид:

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

{

case константное_выражение: оператор или список операторов;

case константное_выражение: оператор или список операторов;

…………………..

case константное_выражение: оператор или список операторов;

default: оператор или список операторов;

}

здесь switch, case, default - ключевые слова.

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

сначала вычисляется значение выражения;

затем это значение по очереди сравнивается с константными выражениями, следующими за case;

если значение выражения совпадает с каким-то константным выражением, то выполняются операторы, помеченные соответствующим оператором case, и все следующие за ним до конца тела оператора switch или пока не встретится оператор break – оператор прерывания действия, который передает управление из тела switch вовне;

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

если сравнение не найдено и варианта default нет, то управление передается на cледующий за switch оператор.

Пример 1. Вывести название дня недели по его номеру.

#include <stdio.h>

int main()

{ int n;

printf(“Введите номер дня недели “);

scanf(“%d”,&n);

switch (n)

{ case 1: printf(“понедельник\n”); break;

case 2: printf(“вторник\n”); break;

case 3: printf(“среда\n”); break;

case 4: printf(“четверг\n”); break;

case 5: printf(“пятница\n”); break;

case 6: printf(“суббота\n”); break;

case 7: printf(“воскресенье\n”); break;

default: printf(“неверный номер дня недели\n”);

}

return 0;

}

Пояснения.

Программа будет выполняться следующим образом: если будет введено значение n меньшее 1 (0 или какое-нибудь отрицательное число) или большее 7 (8 и далее), то это значение не совпадет ни с одной константой выбора, тогда выполняется оператор соответствующий ключевому слову default, и на экране появится текст:

неверный номер дня недели

Если же будет введено значение n равное 3, то начнут выполняться операторы соответствующие константе выбора 3, сначала оператор вывода printf(“среда\n”); затем выполнится оператор break и выполнение оператора выбора будет закончено. На экране появится текст:

среда

Пример 2. Ввести два числа типа float, знак арифметической операции и вывести на экран значение полученного выражения.

#include <stdio.h>

int main()

{float a,b,c;

char z;

printf(“Введите два числа и знак(+,-,*,/) через пробел\n”);

scanf(“%f %f %c”,&a,&b,&z);

switch (z)

{ case ‘+’: c=a+b; break;

case ‘-‘: c=a-b; break;

case ‘*’: c=a*b; break;

case ‘/’: if (b==0.) {printf(“Деление на 0 невозможно\n”); break;}

c=a/b; break;

default: printf(“неверный знак операции\n”);

}

printf("%f%c%f=%f",a,z,b,c);

return 0;

}

Пример 3. Вывести название времени года по введенному номеру месяца.

#include <stdio.h>

int main()

{ int n;

printf(“введите номер месяца “);

scanf(“%d”,&n);

switch (n)

{ case 12:

case 1:

case 2: printf(“зима\n”); break;

case 3:

case 4:

case 5: printf(“весна \n”); break;

case 6:

case 7:

case 8: printf(“лето\n”); break;

case 9:

case 10:

case 11: printf(“осень\n”); break;

default: printf(“неверный номер месяца\n”);

}

return 0;

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: