Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda 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

book
Switch, Break

Usando a Declaração switch

Imagine que você está comprando um refrigerante de uma máquina de venda automática. Após selecionar sua bebida desejada, no interior do computador da máquina, a variável user_input assume um dos 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.

Aqui está como a estrutura de uma declaração switch se parece:

c

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.

Main.c

Main.c

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.

Main.c

Main.c

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.

Main.c

Main.c

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

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

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

book
Switch, Break

Usando a Declaração switch

Imagine que você está comprando um refrigerante de uma máquina de venda automática. Após selecionar sua bebida desejada, no interior do computador da máquina, a variável user_input assume um dos 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.

Aqui está como a estrutura de uma declaração switch se parece:

c

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.

Main.c

Main.c

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.

Main.c

Main.c

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.

Main.c

Main.c

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