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

bookSwitch, Break

Utilizando a instrução switch

Imagine comprar um refrigerante em uma máquina automática. Após selecionar a bebida desejada, dentro 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 instrução switch entra em ação.

Considere a instrução switch como uma outra versão da instrução if-else. Ela atua em resposta a valores específicos que você definiu previamente.

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

main.c

main.c

copy
1234567891011121314151617
switch (integer_expression) { case first_case_value: // Instruction for this case break; case second_case_value: // Instruction for this case break; case third_case_value: // Instruction for this case break; default: // Default instruction }

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

  • Salgadinhos sabor queijo;
  • Salgadinhos sabor bacon;
  • Salgadinhos sabor pimenta.
Main.c

Main.c

copy
123456789101112131415161718192021222324
#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.

Note
Nota

A expressão testada em uma instrução switch pode ser apenas do tipo inteiro ou char. Não é possível usar 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. Basicamente, após a conclusão do caso relevante, você sai desse bloco e continua com o programa.

Sem o comando break, a instrução switch seria executada continuamente, o que provavelmente resultaria em resultados indesejados.

Main.c

Main.c

copy
123456789101112131415161718192021222324
#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 executar imediatamente após encontrar um caso correspondente e continua até encontrar um break ou até o final do switch.

question mark

Qual é o principal objetivo da instrução break dentro de um bloco switch?

Select the correct answer

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

Awesome!

Completion rate improved to 2.63

bookSwitch, Break

Deslize para mostrar o menu

Utilizando a instrução switch

Imagine comprar um refrigerante em uma máquina automática. Após selecionar a bebida desejada, dentro 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 instrução switch entra em ação.

Considere a instrução switch como uma outra versão da instrução if-else. Ela atua em resposta a valores específicos que você definiu previamente.

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

main.c

main.c

copy
1234567891011121314151617
switch (integer_expression) { case first_case_value: // Instruction for this case break; case second_case_value: // Instruction for this case break; case third_case_value: // Instruction for this case break; default: // Default instruction }

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

  • Salgadinhos sabor queijo;
  • Salgadinhos sabor bacon;
  • Salgadinhos sabor pimenta.
Main.c

Main.c

copy
123456789101112131415161718192021222324
#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.

Note
Nota

A expressão testada em uma instrução switch pode ser apenas do tipo inteiro ou char. Não é possível usar 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. Basicamente, após a conclusão do caso relevante, você sai desse bloco e continua com o programa.

Sem o comando break, a instrução switch seria executada continuamente, o que provavelmente resultaria em resultados indesejados.

Main.c

Main.c

copy
123456789101112131415161718192021222324
#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 executar imediatamente após encontrar um caso correspondente e continua até encontrar um break ou até o final do switch.

question mark

Qual é o principal objetivo da instrução break dentro de um bloco switch?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

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