English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, você aprenderá a criar uma instrução switch em linguagem C por meio de um exemplo.
O switch nos permite executar um bloco de código entre várias alternativas.
Embora você possa usar if...else..if para executar a mesma operação. No entanto, a sintaxe do switch é mais fácil de ler e escrever.
switch (expression) { case constant1: // Instrução break; case constant2: // Instrução break; . . . default: // Cláusula default }
Como o switch trabalha?
A expressão (expression) é avaliada uma vez e comparada com cada etiqueta case.
Se houver correspondência, execute a instrução após a etiqueta correspondente. Por exemplo, se o valor da expressão for igual a constant2Se houver correspondência, execute a instrução após case constant2As instruções após : até encontrar break.
Se não houver correspondência, execute a instrução default (default).
Se não usar break, todas as instruções após a etiqueta correspondente serão executadas.
A propósito, a cláusula default do switch é opcional.
//O programa cria um simples calculador #include <stdio.h> int main() { char operator; double n1, n2; printf("Insira um operador (+, -, *, /); scanf("%c", &operator); printf("Insira dois operandos:"); scanf("%lf %lf", &n1, &n2); switch (operator) { case '+: printf("%.1lf + %.1lf = %.1lf", n1, n2, n1 + n2); break; case '-: printf("%.1lf - %.1lf = %.1lf", n1, n2, n1 - n2); break; case '*: printf("%.1lf * %.1lf = %.1lf", n1, n2, n1*n2); break; case '/: printf("%.1lf / %.1lf = %.1lf", n1, n2, n1 / n2); break; // Nenhum operador correspondente encontrado ( +, -, *, /) default: printf("Erro! Operador incorreto"); } return 0; }
Resultado de saída
Insira um operador (+, -, *,): - Insira dois operandos: 32.5 12.4 32.5 - 12.4 = 20.1
Operador digitado pelo usuário (-Armazenado na variável operator. Além disso, dois operandos32.5e}}12.4respectivamente armazenados nas variáveis n1e n2no.
Devido ao fato de que o operator é -Portanto, o controle do programa salta para a sentença
printf("%.1lf - %.1lf = %.1lf", n1, n2, n1-n2);
Por fim,Sentença breakTerminar essa sentença switch, operação concluída.