Alternativa B - Somente um dos cases é executado por vez
Análise da Questão
A questão apresenta uma estrutura de decisão switch, muito comum em linguagens como C, C++, Java e C#. Para responder corretamente, precisamos entender o funcionamento dessa estrutura junto com a palavra-chave break.
Como funciona o switch:
- Avaliação da Expressão: O programa avalia a expressão dentro do parênteses
(expressao). - Comparação: Ele compara o resultado da expressão com os valores definidos nos
case (valor1, valor2, etc.). - Execução: Quando encontra uma correspondência, executa os comandos abaixo daquele
case. - Quebra (
break): Ao encontrar o comando break;, o bloco switch é encerrado imediatamente.
Por que a Alternativa B está correta?
No código mostrado na imagem, cada bloco case termina com break;. Isso significa que, assim que o programa entra no caso correspondente ao valor encontrado e executa seus comandos, ele sai da estrutura. Portanto, apenas o bloco correspondente à condição verdadeira é executado, impedindo o fenômeno conhecido como "fall-through" (onde o código continuaria rodando nos casos seguintes sem o break).
Por que as outras estão incorretas?
| Alternativa | Motivo da Incorreção |
|---|
| a | O comando break é permitido e recomendado para evitar que a execução continue para o próximo caso. |
| c | Geralmente, o switch exige que a expressão e os case sejam de tipos integrais (inteiro, caractere, enumeração) ou constantes, não aceitando operadores lógicos complexos diretamente nos casos. |
| d | O caso default é opcional. Ele serve apenas para lidar com valores que não se encaixam nos cases especificados. |
| e | (Texto incompleto, mas geralmente falso) Os valores dos case devem ser constantes (literals), não variáveis dinâmicas. |
Conclusão
A presença explícita dos comandos break na imagem garante que o fluxo de controle saia do switch após a execução do primeiro caso correspondente. Logo, a afirmação de que somente um dos cases é executado por vez é a correta.