Мы говорили о заявлениях« если и еще для принятия решений». В случаях, когда необходимо проверить больше условий, лучше и удобнее использовать операторы switch, например, операции на калькуляторе. В калькуляторе нам нужно проверить, является ли операция сложением, вычитанием, умножением или делением.

Программа калькулятора

Взгляните на программу калькулятора

Выход

Enter first number: 5
Enter the operator: +
Enter second number: 6
5.00 + 6.00 = 11.00

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

switch(sign)

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

case '+':

Ключевое слово case проверяет значение знака. Если значение совпадает, он выполнит инструкции, написанные после двоеточия. В этом случае, если значение становится «+», код после двоеточия будет выполнен, иначе этого не произойдет.

break;

А как насчет ключевого слова break? Ключевое слово break используется для остановки проверок. Когда выполнение программы достигает «break», она переходит из фигурных скобок оператора switch на следующую строку после фигурных скобок и печатает результат. Поскольку это программа-калькулятор, если первое условие выполнено, нет необходимости проверять второе условие, а если выполнено второе условие, нет необходимости проверять третье условие и далее. Даже если оператор «break» не указан, выполнение программы будет выполняться без каких-либо проблем, если нет условия по умолчанию. Если присутствует условие по умолчанию, будут выполнены операторы после него. Если «перерыв» не используется, программа должна выполнить оставшиеся проверки без какой-либо реальной необходимости. Это просто лишнее. Принцип программирования заключается в том, чтобы по возможности избегать избыточности.

Это все равно, что сказать компьютеру: «Привет, дружище, если у тебя есть условие как истинное, просто не проверяйте другие». Это просто ненужно ».

В случае необходимости проверки и других условий обрыва можно избежать.

default:

По умолчанию всегда будут выполняться операторы после него. Таким образом, если «break» не используется, программа наконец достигнет «default» и выполнит операторы после него, а операторы в вышеуказанных блоках условий выполняться не будут. Если есть «break», когда программа переходит из проверок к следующей строке после фигурных скобок оператора switch, операторы после «default» не будут выполняться.

Примечание. Поскольку после значения по умолчанию больше нет условий для проверки, оператор break не приводится.

А код exit (0), взятый из ‹ stdlib.h ›, просто говорит компьютеру остановить выполнение программы там. Причина остановки программы в том, что мы не хотим отображать результат, если оператор недействителен.

%0.2f

Интересно, что здесь делает 0.2? Как вы знаете,% f - это спецификатор формата для чисел с плавающей запятой. 0,2 означает, что отображаемое число должно иметь только два десятичных знака. Таким образом, если значение равно 2,01234, будет отображаться только 2,01.

Вы могли заметить пробел в символе спецификатор формата.

scanf(" %c", &sign);

Если места нет, программа не будет работать правильно. Причина этого будет объяснена в следующей статье.

Таким образом, вместо написания отдельных операторов if и else для каждого из условий проверки значения «знака», оператор switch более удобен.

Предыдущий =› Принятие решений в программировании

Далее =› Повторение логики в программировании