Pular para o conteúdo principal

Questão de Programação — Tipos de dados — FGV 2024

ProgramaçãoTipos de dados
Código
fg085532
Banca
FGV
Órgão
INPE
Ano
2024
Nível
Superior
Cargo
Tecnologista Júnior I - Desenvolvimento de Software para Operação de Satélites
As variáveis são elementos essenciais para o desenvolvimento de programas.A respeito dos diferentes tipos de variáveis que podem ser usadas em um programa escrito em linguagem C, é correto afirmar que
  1. Aoverflow não pode ocorrer ao se realizarem operações aritméticas com variáveis do tipo real com representação em ponto flutuante.
  2. Bos vetores possuem uma estrutura que permite armazenar uma quantidade pré-definida de variáveis de tipos distintos entre si.
  3. Ctodos os caracteres representados por uma variável do tipo char, utilizando codificação ASCII, podem ser impressos na tela.
  4. Do maior número que um inteiro sem sinal de 8 bits pode representar é 256.
  5. Eas matrizes são armazenadas de forma contígua na memória.
Revelar gabarito e comentário

GabaritoE — as matrizes são armazenadas de forma contígua na memória.

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

Variáveis em linguagem C – Tipos e armazenamento

Gabarito: letra E. Em C, arrays multidimensionais (matrizes) são armazenados em posições consecutivas de memória (ordem row-major). As demais alternativas contêm erros conceituais: overflow pode ocorrer em ponto flutuante, vetores são homogêneos, nem todo caractere ASCII é imprimível e um inteiro unsigned de 8 bits vai até 255.

Alternativa A — ❌ Incorreta

Overflow pode ocorrer em operações com ponto flutuante, resultando em infinito quando o expoente ultrapassa os limites da representação. A afirmação nega essa possibilidade, contrariando o comportamento real.

Alternativa B — ❌ Incorreta

Vetores (arrays) em C armazenam elementos do mesmo tipo. Para armazenar tipos diferentes, usam-se estruturas (struct) ou uniões (union). A alternativa confunde vetor com estrutura heterogênea.

Alternativa C — ❌ Incorreta

Nem todo caractere ASCII é imprimível. Os códigos de 0 a 31 (e o 127) são caracteres de controle (não gráficos), como \0, \n, \t. Apenas a partir de 32 (espaço) os caracteres são imprimíveis.

Alternativa D — ❌ Incorreta

Um inteiro sem sinal de 8 bits pode representar valores de 0 a 255 (2⁸ = 256 valores possíveis). O maior valor é 255, não 256. Erro clássico: confundir a quantidade de valores com o valor máximo.

Alternativa E — ✅ Correta ⟵ GABARITO

Em C, matrizes (arrays multidimensionais) são armazenadas de forma contígua na memória, seguindo a ordem row-major (linha por linha). Isso permite acesso sequencial eficiente e aritmética de ponteiros, característica fundamental da linguagem.

PEGA ESSA DICA!

Lembre-se de que em C todo array é um bloco contíguo. Isso explica por que podemos percorrer uma matriz com um único ponteiro e por que arr[i][j] equivale a *(arr + i*colunas + j). Compare com linguagens que podem armazenar arrays de forma não contígua (como listas em Python).

Link permanente: /questoes/fg085532