Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FUNDATEC 2023

ProgramaçãoLinguagens de programação
Código
qq892780
Banca
FUNDATEC
Órgão
GHC-RS
Ano
2023
Nível
Médio
Cargo
Programador
Considere o código abaixo escrito em linguagem C:#include <stdio.h>int main() {int A = 1, B = 0, C = 1;int resultado = (A && B) || C;printf("%d\n", resultado);return 0;}Que valor será impresso na tela após a execução do programa?
  1. ANulo.
  2. B0.
  3. C1.
  4. D2.
  5. E3.
Revelar gabarito e comentário

GabaritoC — 1.

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”.

Operadores Lógicos em C

Gabarito: C) 1. O código define A=1, B=0, C=1. A expressão (A && B) é (1 && 0), que resulta em 0 (falso). Em seguida, 0 || C é 0 || 1, que resulta em 1 (verdadeiro). Portanto, resultado recebe 1, e o programa imprime 1.

Alternativa A — ❌ Incorreta

Nulo não é um valor impresso por este código. O programa sempre imprime um inteiro (0 ou 1).

Alternativa B — ❌ Incorreta

O valor 0 seria impresso se a expressão inteira resultasse em falso, mas como C é verdadeiro (1), o OR garante resultado verdadeiro.

Alternativa C — ✅ Correta ⟵ GABARITO

Conforme análise, (1 && 0) || 1 = 0 || 1 = 1.

Alternativa D — ❌ Incorreta

Não há nenhuma operação que produza 2. A expressão lógica só pode resultar em 0 ou 1.

Alternativa E — ❌ Incorreta

Assim como D, 3 não é possível.

NÃO CAIA NESSA!

O erro comum é avaliar (A && B) como falso e esquecer que || C torna a expressão verdadeira. A banca também insere números como 2 e 3 para confundir, mas expressões lógicas em C sempre retornam 0 ou 1.

Gabarito: letra C.

Link permanente: /questoes/qq892780