В предыдущей статье мы изучили несколько новых функций и написали наконец полезную программу.В конце статьи я написал,что это далеко не самый лучший код.Сегодня мы от части это исправим,освоив новый оператор switch.
Switch очень похож на if else,с несколькими отличиями:
1)В логическом сравнении может быть лишь один элемент.То есть строку в него не вставить.
2)Более компактная запись.Это увидите сами.
3)Слегка отличающийся синтаксис.
Давайте уже рассмотрим его наконец:
switch(a)//сам оператор и переменная,которую будем сравнивать
{ //тело обязательно
case 10: //после слова case предполагаемое значение if(a==10)
printf("a=10\n"); //выполнение условия в этом случае
break; //если не поставить break-условия будут выполняться дальше
//можно записывать и так:
case 20:printf("a=20\n");break;
default: //все остальные
printf("Something else\n");
//тут break не обязателен
}
Теперь какой-нибудь пример в коде,чтобы закрепить:
#include <stdio.h>
void main()
{
char a=0;
printf("Enter a:");
scanf("%d",&a);
switch(a)
{
case 20:printf("Twenty\n");break;
case 10:printf("Ten\n");break;
case 50:printf("Fifty\n");break;
default:
printf("I don't know what is than!");
}
}
Можно использовать switch и без break,если у нас два условия на одно действие:
switch(a)
{
case 10:
case 20:printf("It's ten on twenty\n");break;
}
В этом случае первое условие не увидит точки остановки и выполнит следующее действие.
Домашнее задание на сегодня:переписать программу по тренировке памяти с оператором switch.Хочу вас слегка приободрить.Не бойтесь ошибаться,я ещё ни одной программы не написал без ошибок за 5 лет,но чем больше опыт,тем меньше ошибок.Желаю удачи!
Хочешь читать весёлые и познавательные статьи раньше всех?Подписывайся на мой телеграмм-канал.