Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2024
Programação›Linguagens de programação
Código
ce175399
Banca
CESPE / CEBRASPE
Órgão
ITAIPU BINACIONAL
Ano
2024
Nível
Superior
Cargo
Profissional de Nível Universitário Júnior - Função: Engenheiro Eletrônico
Assinale a opção que corresponde ao resultado da execução do fragmento de código em linguagem C precedente.
A500
B400
C300
D200
E100
Revelar gabarito e comentário▾
GabaritoA — 500
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 A — a conta chega a 500 — alternativa A.
A ideia por trás
Em linguagem C, uma expressão aritmética é avaliada seguindo regras de precedência e associatividade. Precedência define qual operação é feita primeiro quando há operadores diferentes; associatividade define a ordem quando há operadores de mesma precedência. Essas regras são fixas na linguagem e independem da ordem em que os operandos aparecem.
Na hierarquia de precedência do C, a multiplicação (*) tem precedência maior que a adição (+). Isso significa que, em uma expressão como a + b * c, a multiplicação é executada antes da adição, independentemente da posição. A associatividade da multiplicação e da adição é da esquerda para a direita, mas isso só importa quando há empate de precedência. O resultado final é o mesmo que se calcularmos primeiro o produto e depois a soma.
Esta questão testa exatamente essa regra: o candidato deve identificar a expressão no código e aplicar a precedência correta, evitando a pegadinha de somar antes de multiplicar.
O que a questão dá
código em linguagem C com expressão envolvendo multiplicação e adição
O que queremos: o valor impresso pelo programa
Passo 1 — Calcular a multiplicação primeiro
A expressão contém uma soma e uma multiplicação. Como a multiplicação tem precedência maior, ela deve ser executada antes da adição. Isso é uma regra fixa da linguagem C, não uma escolha.
Por que esta fórmula: A precedência de operadores em C define que * tem prioridade sobre +. Portanto, na expressão a + b * c, o produto b * c é calculado primeiro.
De onde vem cada valor: = enunciado: 200 · = enunciado: 2
NÃO CAIA NESSA!
Não confundir a ordem: se você somar primeiro, obterá 600, que é o erro clássico.
Passo 2 — Somar o resultado ao termo restante
Depois de calcular o produto, a adição pode ser feita. Agora a expressão se torna uma soma simples, sem ambiguidade.
Por que esta fórmula: A adição é o operador de menor precedência, então ela é aplicada por último. A expressão original a + b * c vira a + (b * c).
De onde vem cada valor: = enunciado: 100 · = passo 1: 400
NÃO CAIA NESSA!
Esquecer de usar o resultado do passo 1 e recalcular a multiplicação, ou somar antes de multiplicar.