Alternativa A - Cada seguinte a palavra case deve ser definido por constantes ou literais.
Introdução
A questão aborda a sintaxe e o comportamento do comando switch-case na linguagem de programação C. Para responder corretamente, é necessário compreender as regras rígidas de definição dos rótulos (case) e o fluxo de execução dessa estrutura condicional.
Desenvolvimento
No C, o comando switch funciona comparando uma expressão com uma lista de valores constantes. A análise detalhada das opções revela por que apenas a letra A está correta:
- Regra dos Cases: Os valores que seguem a palavra-chave
case devem ser constantes inteiras (inteiros conhecidos em tempo de compilação), como números (1, 10) ou caracteres ('A'). Variáveis ou expressões matemáticas complexas não são permitidas diretamente após o case na maioria das versões clássicas do C cobradas em concursos. - Opcionalidade do Default: O bloco
default é opcional. Se nenhuma condição for satisfeita e não houver default, o programa simplesmente ignora o switch e segue para o próximo comando. - Fluxo de Execução (Fall-through): Por padrão, se um
case for encontrado, a execução continua nos blocos subsequentes até encontrar um comando break ou o final do switch. Isso significa que mais de um grupo de comandos pode ser executado se não houver interrupções explícitas.
Análise das Alternativas
| Alternativa | Avaliação | Motivo |
|---|
| A | Correta | Os rótulos case exigem constantes inteiras fixas (literais). |
| B | Incorreta | O default é opcional; sua ausência não gera erro de compilação. |
| C | Incorreta | A afirmação é contraditória e imprecisa quanto à sintaxe válida. |
| D | Incorreta | Sem o comando break, a execução "cai" para os cases seguintes. |
| E | Incorreta | O comando break é perfeitamente permitido e essencial para controle de fluxo. |
Conclusão
A estrutura switch exige que os valores de comparação sejam constantes conhecidas previamente pelo compilador, tornando a Alternativa A a única afirmativa correta.