Declaração C switch
Instrução C switch
Neste tutorial, você aprenderá a criar a instrução switch em programação C com a ajuda de um exemplo.
A instrução switch nos permite executar um bloco de código entre muitas alternativas.
Você pode fazer a mesma coisa com o if...else..if
escada. No entanto, a sintaxe do switch
declaração é muito mais fácil de ler e escrever.
Sintaxe de switch...case
switch (expression)
{
case constant1:
// statements
break;
case constant2:
// statements
break;
.
.
.
default:
// default statements
}
Como funciona a instrução switch?
A expressão é avaliado uma vez e comparado com os valores de cada case etiqueta.
- Se houver uma correspondência, as instruções correspondentes após o rótulo correspondente serão executadas. Por exemplo, se o valor da expressão for igual a constant2 , instruções após
case constant2:
são executados atébreak
é encontrado. - Se não houver correspondência, as instruções padrão serão executadas.
Observações:
- Se não usarmos o
break
instrução, todas as instruções após o rótulo correspondente também são executadas. - O
default
cláusula dentro doswitch
declaração é opcional.
Fluxograma da declaração de switch
Exemplo:calculadora simples
// Program to create a simple calculator
#include <stdio.h>
int main() {
char operation;
double n1, n2;
printf("Enter an operator (+, -, *, /): ");
scanf("%c", &operation);
printf("Enter two operands: ");
scanf("%lf %lf",&n1, &n2);
switch(operation)
{
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;
// operator doesn't match any case constant +, -, *, /
default:
printf("Error! operator is not correct");
}
return 0;
}
Saída
Enter an operator (+, -, *, /): - Enter two operands: 32.5 12.4 32.5 - 12.4 = 20.1
O - operador inserido pelo usuário é armazenado na operação variável. E dois operandos 32.5 e 12.4 são armazenados em variáveis n1 e n2 respectivamente.
Desde a operação é
-
, o controle do programa salta para printf("%.1lf - %.1lf = %.1lf", n1, n2, n1-n2);
Finalmente, a instrução break encerra o
switch
declaração. Linguagem C