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
ce172720
Banca
CESPE / CEBRASPE
Órgão
CTI
Ano
2024
Nível
Superior
Cargo
Tecnologista Pleno 2 - I - Especialidade: Indústria 4.0 e Governo Digital - Área de Atuação: Sistemas Ciberfísicos e Cidades Inteligentes
#define PI 3.14159

Struct CalculoCircunf{
   private:
        int raio;
        int circunf;
        int fcalcula (){
              circunf = 2*PI*raio;
              return circunf;

        }

};

int main (){
        CalculoCircunf p;
        printf(“%d”, p.fcalcula( ) );
        return 0;
}
Com base no código precedente, escrito em C++, julgue o item a seguir.A instrução #define PI 3.14159 faz com que toda ocorrência de PI no código seja substituída por 3.14159 antes da compilação do programa.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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

Diretiva #define em C++

Gabarito: Certo (Alternativa C). A instrução #define PI 3.14159 é uma diretiva do pré-processador que realiza substituição textual: toda ocorrência do identificador PI no código fonte é trocada pelo literal 3.14159 antes da compilação. O compilador nunca vê PI, apenas o valor numérico. Portanto, a afirmação está correta.

O pré-processador é a primeira fase da tradução do programa. Ele processa diretivas iniciadas com #, como #define, #include, etc. No caso, a macro PI é definida como 3.14159, e a substituição é meramente textual — não há verificação de tipo nem escopo. Esse comportamento é padrão em C e C++.

A banca testa o conhecimento básico sobre o funcionamento do pré-processador. Não se trata de uma constante em tempo de compilação (como const), mas de uma macro textual. Compreender essa distinção é essencial para programação em C/C++.

Link permanente: /questoes/ce172720