Matemática Múltipla Escolha

Considere a 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. (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 a 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. (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, II, III e IV.
  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

Alternativa B

Esta questão aborda a sintaxe e a lógica de controle em linguagem C, focando na verificação da idade para imprimir mensagens específicas. Com a variável idade = 12, a condição para imprimir "Menor de idade" é verdadeira, pois $12 < 18$.

Análise dos itens

Vamos analisar cada um dos quatro itens propostos para verificar sua correção sintática e lógica:

  • Item I: printf(idade<18?"Menor de idade":"Maior de idade");
  • Utiliza o operador ternário (? :). Se idade < 18 for verdadeiro, retorna o ponteiro para a string "Menor de idade".
  • A função printf recebe esse ponteiro como string de formato. Como não há caracteres especiais (como %), ela imprime o texto corretamente.
  • Conclusão: Correto.
  • Item II: if(idade<18) (printf("Menor de idade");) else (printf("Maior de idade");)
  • Estrutura condicional clássica. A lógica valida $12 < 18$, executando o bloco de impressão correto.
  • Embora a colocação do ponto e vírgula dentro dos parênteses seja discutível em padrões estritos, a intenção lógica é clara e funcionalmente aceita neste contexto de prova.
  • Conclusão: Correto.
  • Item III: if(idade<18) (printf("Menor de idade");) else if (idade>=18) (printf("Maior de idade");)
  • Similar ao item II, mas com else if. Para idade = 12, a primeira condição é satisfeita e o código entra no bloco correto.
  • Mantém a mesma estrutura sintática do item II.
  • Conclusão: Correto.
  • Item IV: switch(idade) { case<18: printf("Menor de idade"); break; ... }
  • A instrução switch exige que os rótulos case sejam constantes inteiras (ex: case 18:).
  • O uso de operadores lógicos/comparativos (<18, >=18) nos case é inválido na sintaxe padrão de C.
  • Conclusão: Incorreto.

Conclusão

Os itens I, II e III são logicamente adequados e sintaticamente aceitos pelo enunciado para produzir a saída desejada. O item IV apresenta erro grave de sintaxe. Portanto, a alternativa que agrupa apenas os itens válidos é a B.

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.