Observe a descrição da estrutura básica do comando switch case na linguagem C, mostrada a seguir. Está correto afirmar que:
Questão
Observe a descrição da estrutura básica do comando switch case na linguagem C, mostrada a seguir. Está correto afirmar que:
switch(<expressão>) { case <valor-1> : comando(s);
case <valor-2> :
comando(s);
...
default :
comando (s);
}
Alternativas
A) Cada seguindo a palavra case deve ser definido por constantes ou literais.
B) O código para o caso default é obrigatório.
C) não pode ser definida por constantes ou literais.
D) Somente um dos grupos de comandos pode ser executado de cada vez.
E) O comando break não é permitido no interior dos grupos de comandos.
Explicação
No comando switch da linguagem C, cada rótulo case deve ser uma expressão constante inteira (constant expression), isto é, tipicamente constantes/literais (como 1, 'A') ou constantes simbólicas avaliáveis em tempo de compilação (como #define X 3, ou enum).
Analisando as alternativas:
- A) Verdadeira. O valor após
caseprecisa ser constante (na prática, constante/literal ou equivalente constante em tempo de compilação). - B) Falsa. O bloco
defaultnão é obrigatório; é opcional. - C) Falsa. Contradiz o funcionamento do
case, que justamente usa constantes. - D) Falsa. Sem
break, ocorre fall-through: pode executar o código de umcasee “cair” no próximo, executando mais de um grupo. - E) Falsa. O
breaké permitido (e comum) dentro dos casos para evitar o fall-through.
Alternativa correta: (A).