Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2024
Programação›Linguagens de programação
Código
ce173516
Banca
CESPE / CEBRASPE
Órgão
FINEP
Ano
2024
Nível
Superior
Cargo
Analista - Tecnologia da Informação - Infraestrutura
Assinale a opção que corresponde ao resultado da execução do código precedente, escrito na linguagem C.
A0
B5
C10
D11
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.
De onde vem cada valor: = enunciado: x = 5 · = enunciado: constante da expressão
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.
NÃO CAIA NESSA!
Confundir o valor de y com o valor de x após o incremento (6).