Dominando a Declaração Switch em C: Sintaxe, Fluxo e Exemplo Prático
Dominando a Declaração Switch em C
Neste tutorial você descobrirá como criar uma declaração switch limpa e eficiente em C, completo com exemplo prático de calculadora.
A construção switch permite executar um bloco de código entre muitas alternativas. Embora você pudesse usar uma cadeia if…else if, switch oferece sintaxe mais clara e legibilidade mais rápida, especialmente quando a decisão depende de uma única expressão.
Sintaxe Switch-Case
switch (expressão) { case constante1: // declarações break; case constante2: // declarações break; /* … */ default: // declarações default }
Como funciona
- A expressão é avaliada uma vez e comparada contra cada rótulo case.
- Quando uma correspondência é encontrada, o bloco correspondente executa até um
break(ou fim doswitch) ser alcançado. - Se nenhuma correspondência ocorre, o bloco
defaultopcional executa.
Pontos-chave
- Omitir
breakcausa fall-through: cases subsequentes executam também. - A cláusula
defaulté opcional mas altamente recomendada para tratamento de erros.
Fluxograma da Declaração Switch

Exemplo: Calculadora Simples
#include <stdio.h> int main(void) { char operation; double n1, n2; printf("Digite um operador (+, -, *, /): "); scanf("%c", &operation); printf("Digite dois operandos: "); scanf("%lf %lf", &n1, &n2); switch (operation) { case '+': printf("%.1lf + %.1lf = %.1lf\\n", n1, n2, n1 + n2); break; case '-': printf("%.1lf - %.1lf = %.1lf\\n", n1, n2, n1 - n2); break; case '*': printf("%.1lf * %.1lf = %.1lf\\n", n1, n2, n1 * n2); break; case '/': printf("%.1lf / %.1lf = %.1lf\\n", n1, n2, n1 / n2); break; default: printf("Erro! operador não é correto\\n"); } return 0; }
Exemplo de saída
Digite um operador (+, -, *, /): - Digite dois operandos: 32.5 12.4 32.5 - 12.4 = 20.1
Quando o usuário insere -, o programa salta para o case correspondente, realiza a subtração, e o break sai do switch. Se o operador for inválido, a cláusula default alerta o usuário.
Linguagem C
- Circuito com Chave: Guia Prático para Circuitos Elétricos Básicos
- Experimento com Diodo Comutador: Suprimindo Retorno Indutivo com Lâmpada de Neônio
- Entendendo Chaves Elétricas: Tipos, Funções e Aplicações
- Eliminando Bounce de Contatos em Chaves Mecânicas
- Multímetros: Do Analógico ao Digital — Guia Completo
- Dominando a Instrução Switch em C#: Sintaxe, Exemplos e Boas Práticas
- Instrução Break em C#: Como e Quando Usar
- Dominando a Instrução Continue em C#: Como Pular Iterações de Loop Eficazmente
- Dominando Switch-Case em C++: Sintaxe, Uso e Exemplos Práticos
- Dominando a Sintaxe Básica do C: Tokens, Estrutura e Ponto e Vírgula