Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2024

ProgramaçãoLinguagens de programação
Código
ce173516
Banca
CESPE / CEBRASPE
Órgão
FINEP
Ano
2024
Nível
Superior
Cargo
Analista - Tecnologia da Informação - Infraestrutura
Imagem associada para resolução da questãoAssinale a opção que corresponde ao resultado da execução do código precedente, escrito na linguagem C.
  1. A0
  2. B5
  3. C10
  4. D11
  5. E20
Revelar gabarito e comentário

GabaritoC — 10

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Resolução

Gabarito: letra C — a conta chega a y = 10 — alternativa C.

A ideia por trás

Em C, o operador de incremento ++ aumenta o valor de uma variável inteira em 1. Ele pode aparecer antes da variável (pré-incremento, ++x) ou depois (pós-incremento, x++). A diferença está no momento em que o incremento acontece em relação ao uso do valor na expressão: no pré-incremento, o valor já aumentado é usado; no pós-incremento, o valor original é usado primeiro e o incremento ocorre depois.

A regra é: ++x incrementa e depois usa o novo valor; x++ usa o valor atual e depois incrementa. Isso afeta o resultado de qualquer expressão que contenha o operador. Por exemplo, se x = 5, então y = ++x + 5 resulta em y = 11 (x vira 6 antes da soma), enquanto y = x++ + 5 resulta em y = 10 (x vira 6 depois da soma). A ordem de avaliação é determinada pela posição do operador, não por intuição.

Esta questão testa exatamente essa distinção: o código usa x++ dentro de uma soma, então precisamos aplicar a regra do pós-incremento para descobrir o valor de y.

O que a questão dá

  • variável x inicializada com 5

  • expressão: y = x++ + 5

O que queremos: o valor atribuído a y após a execução

Passo 1 — Usar o valor atual de x na soma

O código contém x++ dentro da expressão. Como é pós-incremento, o valor de x usado na expressão é o atual, que é 5. Então a soma é 5 + 5.

Por que esta fórmula: A expressão é y = x++ + 5. Substituímos x pelo seu valor atual (5) antes de qualquer incremento.

y=xatual+5y = x_{atual} + 5

De onde vem cada valor: xatualx_{atual} = enunciado: x = 5 · 55 = enunciado: constante da expressão

y=5+5=10y = 5 + 5 = \boxed{10}
NÃO CAIA NESSA!

Usar o valor incrementado (6) na soma, o que daria 11.

Passo 2 — Atribuir o resultado a y

A soma é o valor final da expressão, que é atribuído a y. Esse é o resultado pedido pela questão.

y=10y = \boxed{10}
NÃO CAIA NESSA!

Confundir o valor de y com o valor de x após o incremento (6).

Resposta: y = 10 — alternativa C

Link permanente: /questoes/ce173516