Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Switch, Break | Declarações de Controle
Fundamentos de C
course content

Conteúdo do Curso

Fundamentos de C

Fundamentos de C

1. Introdução
2. Dados
3. Operadores
4. Declarações de Controle
5. Funções
6. Ponteiros

bookSwitch, Break

Usando a Declaração switch

Imagine que você está comprando um refrigerante de uma máquina de venda automática. Depois de selecionar sua bebida desejada, no fundo do computador da máquina de venda automática, a variável user_input assume um de vários valores predefinidos. Cada uma dessas opções é chamada de case, e é aqui que a declaração switch entra em ação.

Pense na declaração switch como outra versão da declaração if-else. Ela age em resposta a valores específicos que você definiu anteriormente.

Veja como é a estrutura de uma declaração switch:

Vamos considerar um exemplo de máquina de venda automática. Suponha que haja três botões para selecionar diferentes tipos de salgadinhos:

  • Salgadinhos sabor queijo;
  • Salgadinhos sabor bacon;
  • Salgadinhos sabor chili.
c

Main

copy
12345678910111213141516171819202122232425
#include <stdio.h> int main() { int userInput = 2; switch (userInput) { case 1: printf("You selected cheese-flavored chips.\n"); break; case 2: printf("You selected bacon-flavored chips.\n"); break; case 3: printf("You selected chili-flavored chips.\n"); break; default: printf("You selected another item.\n"); } return 0; }

Se a expressão testada não corresponder a nenhum dos casos listados, o caso default é executado. Se não houver um caso default fornecido, o programa simplesmente continua seu fluxo.

Nota

A expressão testada em uma instrução switch só pode ser do tipo inteiro ou char. Você não pode usar variáveis, strings ou tipos de dados não inteiros como casos.

c

Main

copy
12345678910111213141516171819202122232425
#include <stdio.h> int main() { char userInput = 'y'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); break; case 'b': printf("You entered 'b' character\n"); break; case 'c': printf("You entered 'c' character\n"); break; default: printf("You entered unknown character\n"); } return 0; }

O Papel do break

O comando break interrompe a execução do bloco atual e passa para o próximo segmento de código. Essencialmente, uma vez que o caso relevante é concluído, você sai daquele bloco e continua com seu programa.

Sem o comando break, a instrução switch continuaria a ser executada, e você provavelmente acabaria com resultados não intencionais.

c

Main

copy
12345678910111213141516171819202122232425
#include <stdio.h> int main() { char userInput = 'b'; switch (userInput) { case 'a': printf("You entered 'a' character\n"); // without break case 'b': printf("You entered 'b' character\n"); // without break case 'c': printf("You entered 'c' character\n"); // without break default: printf("You entered unknown character\n"); } return 0; }

Na ausência do comando break, o programa começa a ser executado imediatamente após encontrar um caso correspondente e continua até encontrar um break ou chegar ao final do switch.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 4
some-alt