Matemática Múltipla Escolha

Considere uma variável idade declarada no método main de um programa escrito em C, com a seguinte instrução: int idade=12; Análise: printf(idade<18?"Menor de idade":"Maior de idade"); II. if(idade<18) {printf("Menor de idade");} else {printf("Maior de idade");} III. if(idade<18) {printf("Menor de idade");} else if (idade>=18) {printf("Maior de idade");} IV. switch (idade) {case<18: printf("Menor de idade"); break; case>=18: printf("Maior de idade");}

Considere uma variável idade declarada no método main de um programa escrito em C, com a seguinte instrução: int idade=12;

Análise:

I. printf(idade<18?"Menor de idade":"Maior de idade");
II. if(idade<18) {printf("Menor de idade");} else {printf("Maior de idade");}
III. if(idade<18) {printf("Menor de idade");} else if (idade>=18) {printf("Maior de idade");}
IV. switch (idade) {case<18: printf("Menor de idade"); break; case>=18: printf("Maior de idade");}

  1. I, III e IV, apenas.
  2. I, II e III, apenas.
  3. II e III, apenas.
  4. II, apenas.
  5. I e III, apenas.

Resolução completa

Explicação passo a passo

B
Alternativa B

Análise da Questão

Para resolver esta questão, precisamos analisar cada um dos trechos de código apresentados em C, considerando a variável inicializada como int idade = 12;. O objetivo é identificar quais instruções são sintaticamente corretas e produzem a saída "Menor de idade".

Análise Individual dos Itens

  • Item I: printf(idade<18?"Menor de idade":"Maior de idade");
  • Mecanismo: Utiliza o operador ternário (? :). Ele avalia a condição idade < 18. Se for verdadeiro, retorna a primeira string; caso contrário, a segunda.
  • Execução: Como $12 < 18$ é verdadeiro, a string "Menor de idade" é passada para o printf.
  • Veredito: Correto. É uma sintaxe válida em C.
  • Item II: if(idade<18) {printf("Menor de idade");} else {printf("Maior de idade");}
  • Mecanismo: Estrutura condicional clássica if-else.
  • Execução: A condição idade < 18 é satisfeita ($12 < 18$), executando o bloco do if.
  • Veredito: Correto.
  • Item III: if(idade<18) {printf("Menor de idade");} else if (idade>=18) {printf("Maior de idade");}
  • Mecanismo: Estrutura condicional com else-if.
  • Execução: Assim como no item II, a primeira condição é verdadeira, então o bloco é executado e os demais são ignorados.
  • Veredito: Correto.
  • Item IV: switch(idade) {case<18: printf("Menor de idade"); break; case>=18: printf("Maior de idade");}
  • Mecanismo: Estrutura switch-case.
  • Erro de Sintaxe: Em C, os rótulos case devem ser seguidos por uma constante inteira (ex: case 10:). Não é permitido colocar operadores de comparação como < ou >= diretamente no case.
  • Veredito: Incorreto. O código não compilaria.

Tabela Comparativa

ItemInstruçãoSintaxe Válida?Resultado (idade=12)
IOperador Ternário✅ Sim"Menor de idade"
IIIf-Else Simples✅ Sim"Menor de idade"
IIIIf-Else-If✅ Sim"Menor de idade"
IVSwitch-Case com Condicionais❌ NãoErro de Compilação

Conclusão

As instruções I, II e III são válidas e exibem a mensagem desejada. A instrução IV contém um erro fatal de sintaxe na linguagem C.

Portanto, a alternativa que lista corretamente as instruções válidas é a B.

Alternativa B - I, II e III, apenas.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.