switch… case в C (оператор Switch в C) с примерами
Что такое оператор Switch в C?
Оператор Switch в C проверяет значение переменной и сравнивает его с несколькими случаями. После того, как найдено совпадение с прецедентом, выполняется блок операторов, связанных с этим конкретным случаем.
Каждый случай в блоке переключателя имеет другое имя/номер, который называется идентификатором. Значение, предоставленное пользователем, сравнивается со всеми случаями внутри блока переключателей, пока не будет найдено совпадение.
Если соответствие case НЕ найдено, то выполняется инструкция по умолчанию, и управление выходит из блока switch.
В этом уроке вы узнаете-
- Что такое оператор Switch в C?
- Переключить синтаксис регистра
- Блок-схема инструкции Switch
- Пример переключения регистра в C
- Вложенный переключатель в C
- Зачем нам нужен чехол Switch?
- Правила для оператора switch
Переключить синтаксис регистра
Общий синтаксис реализации switch-case в программе на языке C выглядит следующим образом:
switch( expression )
{
case value-1:
Block-1;
Break;
case value-2:
Block-2;
Break;
case value-n:
Block-n;
Break;
default:
Block-1;
Break;
}
Statement-x; - Выражение может быть целочисленным или символьным выражением.
- Значения-1, 2, n — это метки случаев, которые используются для индивидуальной идентификации каждого случая. Помните, что метки case не должны совпадать, так как это может создать проблему при выполнении программы. Предположим, у нас есть два случая с той же меткой, что и «1». Затем при выполнении программы будет выполняться случай, который появится первым, даже если вы хотите, чтобы программа выполнила второй случай. Это создает проблемы в программе и не дает желаемого результата.
- Метки регистра всегда заканчиваются двоеточием ( :). Каждое из этих дел связано с блоком.
- Блок — это не что иное, как несколько операторов, сгруппированных для определенного случая.
- Всякий раз, когда выполняется переключатель, значение test-expression сравнивается со всеми случаями, которые мы определили внутри переключателя. Предположим, что тестовое выражение содержит значение 4. Это значение сравнивается со всеми случаями до тех пор, пока в программе не будет найден случай с меткой четыре. Как только случай найден, блок операторов, связанных с этим конкретным случаем, выполняется, и управление переходит из переключателя.
- Ключевое слово break в каждом случае указывает на конец конкретного случая. Если мы не будем ставить разрыв в каждом случае, то, даже если конкретный случай будет выполнен, переключатель в C продолжит выполнение всех случаев, пока не будет достигнут конец. Этого не должно происходить; следовательно, мы всегда должны использовать ключевое слово break в каждом случае. Break прервет кейс после его выполнения, и элемент управления выпадет из переключателя.
- Регистр по умолчанию является необязательным. Всякий раз, когда значение test-expression не соответствует ни одному из случаев внутри переключателя, будет выполнено значение по умолчанию. В противном случае в коммутаторе не нужно писать default.
- После выполнения переключателя управление перейдет к оператору-x, и выполнение программы продолжится.
Блок-схема оператора Switch
На следующей диаграмме показано, как выбирается случай в случае переключения:
центр> рисунок> Пример переключения регистра в C
Следующая программа иллюстрирует использование переключателя:
#include <stdio.h>
int main() {
int num = 8;
switch (num) {
case 7:
printf("Value is 7");
break;
case 8:
printf("Value is 8");
break;
case 9:
printf("Value is 9");
break;
default:
printf("Out of range");
break;
}
return 0;
} Вывод:
Value is 8
- В данной программе мы объяснили инициализацию переменной num со значением 8.
- Конструкция switch используется для сравнения значения, хранящегося в переменной num, и выполнения блока операторов, связанного с совпавшим случаем.
- В этой программе, поскольку значение, хранящееся в переменной num, равно восьми, переключатель будет выполнять случай, метка случая которого равна 8. После выполнения случая управление выпадет из переключателя, и программа будет завершена с успешный результат, распечатав значение на экране вывода.
Попробуйте изменить значение переменной num и обратите внимание на изменение вывода.
Например, мы рассматриваем следующую программу, которая по умолчанию:
#include <stdio.h>
int main() {
int language = 10;
switch (language) {
case 1:
printf("C#\n");
break;
case 2:
printf("C\n");
break;
case 3:
printf("C++\n");
break;
default:
printf("Other programming language\n");}} Вывод:
Other programming language
При работе с регистром переключения в C вы группируете несколько вариантов с уникальными метками. Вам необходимо вводить оператор break в каждом случае для перехода в конце оператора switch.
Необязательный случай по умолчанию запускается, когда нет других совпадений.
Рассмотрим следующий оператор switch:
#include <stdio.h>
int main() {
int number=5;
switch (number) {
case 1:
case 2:
case 3:
printf("One, Two, or Three.\n");
break;
case 4:
case 5:
case 6:
printf("Four, Five, or Six.\n");
break;
default:
printf("Greater than Six.\n");}} Вывод:
Four, Five, or Six.
Вложенный переключатель в C
В C мы можем иметь внутренний переключатель, встроенный во внешний переключатель. Кроме того, case-константы внутреннего и внешнего переключателя могут иметь общие значения и не конфликтовать.
Мы рассматриваем следующую программу, в которой пользователь должен ввести свой собственный идентификатор, если идентификатор действителен, он попросит его ввести свой пароль, если пароль правильный, программа напечатает имя пользователя, в противном случае программа напечатает Неверно Пароль и если ID не существует, программа напечатает Incorrect ID
#include <stdio.h>
int main() {
int ID = 500;
int password = 000;
printf("Plese Enter Your ID:\n ");
scanf("%d", & ID);
switch (ID) {
case 500:
printf("Enter your password:\n ");
scanf("%d", & password);
switch (password) {
case 000:
printf("Welcome Dear Programmer\n");
break;
default:
printf("incorrect password");
break;
}
break;
default:
printf("incorrect ID");
break;
}
} ВЫВОД:
Plese Enter Your ID: 500 Enter your password: 000 Welcome Dear Programmer
- В данной программе мы объяснили инициализацию двух переменных:ID и пароль
- Внешняя конструкция переключателя используется для сравнения значения, введенного в идентификатор переменной. Он выполняет блок операторов, связанных с соответствующим случаем (когда ID ==500).
- Если оператор блока выполняется с совпадающим регистром, внутренний переключатель используется для сравнения значений, введенных в переменную password, и выполнения операторов, связанных с совпадающим регистром (когда пароль ==000).
- В противном случае регистр переключения активирует регистр по умолчанию и напечатает соответствующий текст, относящийся к структуре программы.
Зачем нам нужен чехол Switch?
Существует одна потенциальная проблема с оператором if-else, которая заключается в том, что сложность программы увеличивается всякий раз, когда увеличивается количество альтернативных путей. Если вы используете в программе несколько конструкций if-else, программа может стать трудной для чтения и понимания. Иногда это может даже сбить с толку разработчика, который сам написал программу.
Решением этой проблемы является оператор switch.
Правила для оператора switch
- Выражение всегда должно выполняться до результата.
- Метки регистра должны быть постоянными и уникальными.
- Метки регистра должны заканчиваться двоеточием ( :).
- Ключевое слово break должно присутствовать в каждом случае.
- Может быть только один ярлык по умолчанию.
- Мы можем вложить несколько операторов switch.
Обзор
- Переключатель — это конструкция для принятия решений в языке C.
- Переключатель используется в программе, в которой задействовано несколько решений.
- Переключатель должен содержать исполняемое тестовое выражение.
- Каждый случай должен включать ключевое слово break.
- Метки регистра должны быть постоянными и уникальными.
- Значение по умолчанию является необязательным.
- Несколько операторов switch могут быть вложены друг в друга.
Язык C
- Оператор переключения C#
- Цикл C++ do…while с примерами
- Оператор C++ Switch Case с ПРИМЕРОМ
- Указатели C++ с примерами
- Перегрузка оператора C++ с примерами
- Функции C++ с примерами программ
- Учебное пособие по коллекциям C# с примерами
- Оператор Python Print():как печатать с примерами
- Количество строк Python() с ПРИМЕРАМИ
- Функция Python round() с ПРИМЕРАМИ