Alternativa A
A questão aborda a estrutura de controle condicional switch-case na linguagem de programação C. Para responder corretamente, é necessário conhecer as regras de sintaxe e comportamento desse comando específico.
Análise Detalhada
A alternativa A é a correta porque estabelece uma regra fundamental da linguagem C:
- Regra dos Literais: Os rótulos (
case) devem ser seguidos por expressões constantes inteiras (valores fixos). - Proibição de Variáveis: Não é permitido utilizar variáveis ou expressões complexas que mudem durante a execução como rótulo de
case. Apenas constantes numéricas ou literais são aceitas.
As outras alternativas apresentam conceitos incorretos sobre o funcionamento do comando:
- Opção B: O bloco
default é opcional. Ele serve apenas para tratar casos que não foram atendidos pelos outros cases, mas sua ausência não gera erro de compilação. - Opção C: Afirma o contrário da realidade. Os valores após
case podem e devem ser definidos por constantes. - Opção D: É falsa devido ao mecanismo de fall-through (queda). Se não houver um comando
break no final de um case, a execução continua nos próximos comandos consecutivamente, permitindo que vários grupos sejam executados. - Opção E: O comando
break é permitido e recomendado dentro dos grupos de comandos para encerrar a execução do switch após encontrar o caso correspondente.
Conclusão
A única afirmação tecnicamente válida para a sintaxe da linguagem C é que os valores seguintes à palavra-chave case devem ser constantes ou literais. As demais opções confundem regras de obrigatoriedade ou comportamento de fluxo de execução.