SlideShare a Scribd company logo
1 of 5
1.

Linguagem alto nível:

Linguagem de programação de alto nível é como se chama, na Ciência da
Computação de linguagens de programação, uma linguagem com um nível
de abstração relativamente elevado, longe do código de máquina e mais próximo
à linguagem humana. Desse modo, as linguagens de alto nível não estão diretamente
relacionadas à arquitetura do computador. O programador de uma linguagem de alto
nível não precisa conhecer características do processador, como instruções e
registradores. Essas características são abstraídas na linguagem de alto nível.

Linguagem de baixo nível:

Linguagem de programação de baixo nível trata-se de uma linguagem de
programação que compreende as características da arquitetura do computador.
Assim, utiliza somente instruções do processador, para isso é necessário conhecer os
registradores da máquina. Nesse sentido, as linguagens de baixo nível estão
diretamente relacionadas com a arquitetura do computador. Um exemplo é a
linguagem Assembly (não Assembler) que trabalha diretamente com
os registradores do processador, manipulando dados.

2.
 C é freqüentemente chamada de linguagem de médio nível porque combina
elementos de linguagem de alto nível com a funcionalidade da linguagem assembly.

3.

Compilador converte o código do programa em código binário, para ser reconvertido
em código, dado código objeto. Arquivos “.c” , “.h” e binário.

4.
é um programa que liga objectos gerados por um compilador, formando assim o
ficheiro executável final. O trabalho de um Ligador é bastante simples: Estabelece a
amarração ou vinculação entre referências mais abstratas para referências mais
concretas.
Arquivos:


5.
Deve conter funções, procedimentos e bibliotecas.


6.

 a diretiva #ifndef verifica se o arquivo de cabeçalho ja foi ou não incluido.
#ifndef __arq_H__
#define __arq_H__
#endif
7.

// e /* */

8.

 constantes simbólicas são constantes definidas pela diretiva #define no inicio do
código e constantes no código fonte, são variaves que possuem o modificador const e
não podem ser redefinidas, diferentemente de quando usado a diretiva #defina.

9.

Variáveis:

 Em um programa, existe a necessidade de se guardar valores na memória, e isso é
feito através de variáveis, que podem ser definidas simplificadamente como nomes
que se referem a lugares na memória onde são guardados valores. para utilizar uma
variável, ela deve ser primeiramente declarada, ou seja, devemos requisitar o espaço
necessário para essa variável. Após reservar um espaço na memória, o computador
irá associar a ele o nome da variável. Se você não declarar uma variável e tentar
utilizá-la, o compilador irá avisá-lo disso e não continuará a compilação.

Em um programa, uma variável corresponde a um espaço na memória principal, cujo
conteúdo pode ser alterado durante a execução do programa.

         Estática: tem seu endereço fixado antes de iniciar a execução do programa, e a
         área de memória ocupada por ela se mantém constante durante toda a
         execução;

         Dinâmica: pode ser criada ou eliminada durante a execução do programa,
         ocupando espaço na memória apenas enquanto está sendo utilizada.


10.

float, Double, int , char.

11.

O ponteiro nada mais é do que uma variável que guarda o endereço de uma outra
variável.

12.

alocação dinamica de memória e apontar para um endereço na memória.



13.

IF , else IF.
14.

While, do while, for...

O laço While testa se a condição é verdadeira antes de entrar no bloco.
O laço Do-While entra no bloco e ao final testa se a condição é verdadeira para repetir
o bloco.Basicamente, o Do-While vai sempre executar ao menos uma vez.
For, determina as condições e realiza enquanto estiverem sendo satisfeitas.

15.

Função, Conjunto de comandos agrupados em um bloco que recebe um nome e
através deste pode ser ativado. permitir o reaproveitamento de código já construído,
facilitar a leitura do programa-fonte.

16.

O valor que retorna da função de acordo com os requisitos passados através de
parâmetros.



17.

a linguagem C permite o uso de parâmetros. Este parâmetros possibilitam que se
definida sobre quais dados a função deve operar.

18.

Um protótipo de função, nas linguagens de programação C e C++, é uma declaração
de uma função que omite o corpo mas especifica o seu
nome, aridade, tipos de argumentos e tipo de retorno. Enquanto a definição da função
especifica o que ela faz, um protótipo de função pode ser entendido como a
especificação da sua interface.

19.

Variáveis locais são aquelas nas quais apenas a função onde ela está pode usá-la. As
variáveis globais são declaradas da mesma forma que uma variável local - primeiro o
tipo, depois o nome da variável. Mas a diferença é que esta variável é declarada fora
de qualquer função. Por convenção, geralmente, utilizamos um underline (_) no
começo do nome da variável para facilitar a leitura do programa e facilmente
percebermos de que se trata de uma variável global.

20.

O uso de variáveis globais é geralmente considerado inadequado pois seu conteúdo
pode ser potencialmente modificado de qualquer local, e qualquer parte de um código
pode depender dela. A técnica possui o potencial de criar dependências mútuas, o que
aumenta a complexidade e dificuldade de leitura de um código. Entretanto, para
alguns casos seu uso pode ser adequado; um exemplo é a passagem frequente de
variáveis continuamente por diversas funções.
21.

Alocação estática, Ao se declarar uma variável qualquer, o compilador deixa reservado
um espaço suficiente na memória para armazená-la. Ao fazer a alocação estática, usa
apenas o espaço necessário na memória é reservado.

22.

          A alocação dinâmica é o processo que aloca memória em tempo de
execução. Ela é utilizada quando não se sabe ao certo quanto de memória será
necessário para o armazenamento das informações, podendo ser determinadas em
tempo de execução conforme a necessidade do programa. Dessa forma evita-se o
desperdício de memória.

           No padrão C ANSI existem 4 funções para alocações dinâmica pertencentes
a biblioteca stdlib.h. São elas malloc(), calloc(), realloc() e free(). Sendo que as mais
utilizadas são as funções malloc() e free(). Além das funções mencionadas acima
existem outras que não serão abordadas neste tutorial, pois não são funções padrões.

          A alocação dinâmica é muito utilizada em problemas de estrutura de dados,
por exemplo, listas encadeadas, pilhas, filas, arvores binárias e grafos. As funções
malloc() e calloc() são responsáveis por alocar memória, a realloc() por realocar a
memória e por ultimo a free() fica responsável por liberar a memória alocada




24.

Os vetores são uma maneira de armazenar vários dados num mesmo nome de
variável através do uso de índices numéricos. Em C, vetores devem sempre conter
dados do mesmo tipo de variável.

As matrizes em geral são caracterizadas por se tratarem de uma única variável de um
determinado tamanho que guarda varias informações do mesmo tipo. Essas
informações são gravadas na memória seqüencialmente e são referenciadas através
de índices. As matrizes podem ser tanto unidimensionais (vetores) como
multidimensionais.
Boole:

A álgebra de Boole é um sistema completo para operações lógicas. Este sistema é
usado para colocar de uma forma matemática o pensamento lógico com base nas
alternativas que podem assumir somente duas possibilidades: Falso ou Verdadeiro.


Arquivos cabeçalho:

Arquivos-cabeçalho são arquivos que contém informações que servem para o
compilador reconhecer funções "VER : convenções para chamadas a funções ou
calling convention", macros, tipos de dados e variáveis que não estão no arquivo
sendo compilado. Esses arquivos costumam ter a extensão ".h" — é o caso, por
exemplo, dos cabeçalhos padrão stdio.h e math.h.

Constantes:
Constantes são o oposto das variáveis, apesar de trabalharem da mesma forma.
As variáveis têm esse nome exatamente porque podemos mudar seu valor durante a
execução do programa. Já as constantes são dados gravados em memória que de
forma alguma podemos alterar seu valor.

More Related Content

What's hot

Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Kratos879
 
Linguagens de programação 12º M11
Linguagens de programação 12º M11Linguagens de programação 12º M11
Linguagens de programação 12º M11
Luis Ferreira
 
Linguagens de programação 12º M12
Linguagens de programação 12º M12Linguagens de programação 12º M12
Linguagens de programação 12º M12
Luis Ferreira
 
Apostila - Linguagem de Programação I
Apostila - Linguagem de Programação IApostila - Linguagem de Programação I
Apostila - Linguagem de Programação I
Sidney Roberto
 

What's hot (18)

Modbus
ModbusModbus
Modbus
 
Pged 03
Pged 03Pged 03
Pged 03
 
Assembly
AssemblyAssembly
Assembly
 
Aula01 introducao operacoes
Aula01   introducao operacoesAula01   introducao operacoes
Aula01 introducao operacoes
 
Semanaupecaruaru2013 c++para iniciantes
Semanaupecaruaru2013 c++para iniciantesSemanaupecaruaru2013 c++para iniciantes
Semanaupecaruaru2013 c++para iniciantes
 
Pged 02
Pged 02Pged 02
Pged 02
 
Estrdado materia-06-alocacao-de-memoria1
Estrdado materia-06-alocacao-de-memoria1Estrdado materia-06-alocacao-de-memoria1
Estrdado materia-06-alocacao-de-memoria1
 
Aula 01 algoritmo
Aula 01 algoritmoAula 01 algoritmo
Aula 01 algoritmo
 
Algoritmos computacionais
Algoritmos computacionaisAlgoritmos computacionais
Algoritmos computacionais
 
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
 
Linguagens de programação 12º M11
Linguagens de programação 12º M11Linguagens de programação 12º M11
Linguagens de programação 12º M11
 
Linguagens de programação 12º M12
Linguagens de programação 12º M12Linguagens de programação 12º M12
Linguagens de programação 12º M12
 
Apostila - Linguagem de Programação I
Apostila - Linguagem de Programação IApostila - Linguagem de Programação I
Apostila - Linguagem de Programação I
 
Listas (parte 2 de 3)
Listas (parte 2 de 3)Listas (parte 2 de 3)
Listas (parte 2 de 3)
 
Compiladores 7
Compiladores 7Compiladores 7
Compiladores 7
 
Compiladores 5
Compiladores 5Compiladores 5
Compiladores 5
 
Compiladores 6
Compiladores 6Compiladores 6
Compiladores 6
 
Aula11 - PHP
Aula11 - PHPAula11 - PHP
Aula11 - PHP
 

Viewers also liked

Tehlikeli Madde Sınıfını Gösteren İşaretçiler
Tehlikeli Madde Sınıfını Gösteren İşaretçilerTehlikeli Madde Sınıfını Gösteren İşaretçiler
Tehlikeli Madde Sınıfını Gösteren İşaretçiler
Pınar Kalkışım
 
Presentation1 harry
Presentation1 harryPresentation1 harry
Presentation1 harry
Nuharry
 
Estadística. Mapa conceptual
Estadística. Mapa conceptualEstadística. Mapa conceptual
Estadística. Mapa conceptual
Joseph Davis
 
Sebastián cardona álzate y juan diego jaramillo gallego 7b
Sebastián cardona álzate y juan diego jaramillo gallego 7bSebastián cardona álzate y juan diego jaramillo gallego 7b
Sebastián cardona álzate y juan diego jaramillo gallego 7b
harryss3033
 
7 plinth_2_b_revisedmesh_view_2
7  plinth_2_b_revisedmesh_view_27  plinth_2_b_revisedmesh_view_2
7 plinth_2_b_revisedmesh_view_2
swissmountain
 
hienonymus bosch the garden of earthly delight
 hienonymus bosch the garden of earthly delight hienonymus bosch the garden of earthly delight
hienonymus bosch the garden of earthly delight
sinan akgöl
 
Qué es el cyberbullying
Qué es el cyberbullyingQué es el cyberbullying
Qué es el cyberbullying
Caatony
 

Viewers also liked (13)

Video learning
Video learningVideo learning
Video learning
 
Tehlikeli Madde Sınıfını Gösteren İşaretçiler
Tehlikeli Madde Sınıfını Gösteren İşaretçilerTehlikeli Madde Sınıfını Gösteren İşaretçiler
Tehlikeli Madde Sınıfını Gösteren İşaretçiler
 
MM Heinrich CV Oct 2009
MM Heinrich CV Oct  2009MM Heinrich CV Oct  2009
MM Heinrich CV Oct 2009
 
Presentation1 harry
Presentation1 harryPresentation1 harry
Presentation1 harry
 
Redes sociais
Redes sociaisRedes sociais
Redes sociais
 
Estadística. Mapa conceptual
Estadística. Mapa conceptualEstadística. Mapa conceptual
Estadística. Mapa conceptual
 
Sebastián cardona álzate y juan diego jaramillo gallego 7b
Sebastián cardona álzate y juan diego jaramillo gallego 7bSebastián cardona álzate y juan diego jaramillo gallego 7b
Sebastián cardona álzate y juan diego jaramillo gallego 7b
 
7 plinth_2_b_revisedmesh_view_2
7  plinth_2_b_revisedmesh_view_27  plinth_2_b_revisedmesh_view_2
7 plinth_2_b_revisedmesh_view_2
 
hienonymus bosch the garden of earthly delight
 hienonymus bosch the garden of earthly delight hienonymus bosch the garden of earthly delight
hienonymus bosch the garden of earthly delight
 
Three super earths found 21 light years from earth
Three super earths found 21 light years from earthThree super earths found 21 light years from earth
Three super earths found 21 light years from earth
 
Oryantasyon Rehberi
Oryantasyon RehberiOryantasyon Rehberi
Oryantasyon Rehberi
 
Uzbekistan food regulations 104
Uzbekistan food regulations 104Uzbekistan food regulations 104
Uzbekistan food regulations 104
 
Qué es el cyberbullying
Qué es el cyberbullyingQué es el cyberbullying
Qué es el cyberbullying
 

Similar to Gabarito da P1 de PROG

Resumo Tipos de Dados - LP1
Resumo Tipos de Dados - LP1Resumo Tipos de Dados - LP1
Resumo Tipos de Dados - LP1
Pedro Augusto
 
Resumo vinculacao aula lp1 10 a
Resumo vinculacao   aula lp1 10 aResumo vinculacao   aula lp1 10 a
Resumo vinculacao aula lp1 10 a
Pedro Augusto
 
47612195 apostila-de-scilab
47612195 apostila-de-scilab47612195 apostila-de-scilab
47612195 apostila-de-scilab
Marco Antônio
 
Linguagem C e Dev-C++ Algumas Explicações
Linguagem C e Dev-C++  Algumas ExplicaçõesLinguagem C e Dev-C++  Algumas Explicações
Linguagem C e Dev-C++ Algumas Explicações
nataferraz
 

Similar to Gabarito da P1 de PROG (20)

Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programação
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Resumo Tipos de Dados - LP1
Resumo Tipos de Dados - LP1Resumo Tipos de Dados - LP1
Resumo Tipos de Dados - LP1
 
15. introducao ao c++
15. introducao ao c++15. introducao ao c++
15. introducao ao c++
 
Resumo vinculacao aula lp1 10 a
Resumo vinculacao   aula lp1 10 aResumo vinculacao   aula lp1 10 a
Resumo vinculacao aula lp1 10 a
 
47612195 apostila-de-scilab
47612195 apostila-de-scilab47612195 apostila-de-scilab
47612195 apostila-de-scilab
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
Construção de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaConstrução de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em Java
 
Curso openmp
Curso openmpCurso openmp
Curso openmp
 
Módulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresMódulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de Computadores
 
Aula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptxAula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptx
 
Linguagem C e Dev-C++ Algumas Explicações
Linguagem C e Dev-C++  Algumas ExplicaçõesLinguagem C e Dev-C++  Algumas Explicações
Linguagem C e Dev-C++ Algumas Explicações
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
 
Apostila c++ básico
Apostila c++ básicoApostila c++ básico
Apostila c++ básico
 
Apostila c++ básico (1)
Apostila c++ básico (1)Apostila c++ básico (1)
Apostila c++ básico (1)
 
Progr
ProgrProgr
Progr
 
Execução de programas
Execução de programasExecução de programas
Execução de programas
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 

Gabarito da P1 de PROG

  • 1. 1. Linguagem alto nível: Linguagem de programação de alto nível é como se chama, na Ciência da Computação de linguagens de programação, uma linguagem com um nível de abstração relativamente elevado, longe do código de máquina e mais próximo à linguagem humana. Desse modo, as linguagens de alto nível não estão diretamente relacionadas à arquitetura do computador. O programador de uma linguagem de alto nível não precisa conhecer características do processador, como instruções e registradores. Essas características são abstraídas na linguagem de alto nível. Linguagem de baixo nível: Linguagem de programação de baixo nível trata-se de uma linguagem de programação que compreende as características da arquitetura do computador. Assim, utiliza somente instruções do processador, para isso é necessário conhecer os registradores da máquina. Nesse sentido, as linguagens de baixo nível estão diretamente relacionadas com a arquitetura do computador. Um exemplo é a linguagem Assembly (não Assembler) que trabalha diretamente com os registradores do processador, manipulando dados. 2. C é freqüentemente chamada de linguagem de médio nível porque combina elementos de linguagem de alto nível com a funcionalidade da linguagem assembly. 3. Compilador converte o código do programa em código binário, para ser reconvertido em código, dado código objeto. Arquivos “.c” , “.h” e binário. 4. é um programa que liga objectos gerados por um compilador, formando assim o ficheiro executável final. O trabalho de um Ligador é bastante simples: Estabelece a amarração ou vinculação entre referências mais abstratas para referências mais concretas. Arquivos: 5. Deve conter funções, procedimentos e bibliotecas. 6. a diretiva #ifndef verifica se o arquivo de cabeçalho ja foi ou não incluido. #ifndef __arq_H__ #define __arq_H__ #endif
  • 2. 7. // e /* */ 8. constantes simbólicas são constantes definidas pela diretiva #define no inicio do código e constantes no código fonte, são variaves que possuem o modificador const e não podem ser redefinidas, diferentemente de quando usado a diretiva #defina. 9. Variáveis: Em um programa, existe a necessidade de se guardar valores na memória, e isso é feito através de variáveis, que podem ser definidas simplificadamente como nomes que se referem a lugares na memória onde são guardados valores. para utilizar uma variável, ela deve ser primeiramente declarada, ou seja, devemos requisitar o espaço necessário para essa variável. Após reservar um espaço na memória, o computador irá associar a ele o nome da variável. Se você não declarar uma variável e tentar utilizá-la, o compilador irá avisá-lo disso e não continuará a compilação. Em um programa, uma variável corresponde a um espaço na memória principal, cujo conteúdo pode ser alterado durante a execução do programa. Estática: tem seu endereço fixado antes de iniciar a execução do programa, e a área de memória ocupada por ela se mantém constante durante toda a execução; Dinâmica: pode ser criada ou eliminada durante a execução do programa, ocupando espaço na memória apenas enquanto está sendo utilizada. 10. float, Double, int , char. 11. O ponteiro nada mais é do que uma variável que guarda o endereço de uma outra variável. 12. alocação dinamica de memória e apontar para um endereço na memória. 13. IF , else IF.
  • 3. 14. While, do while, for... O laço While testa se a condição é verdadeira antes de entrar no bloco. O laço Do-While entra no bloco e ao final testa se a condição é verdadeira para repetir o bloco.Basicamente, o Do-While vai sempre executar ao menos uma vez. For, determina as condições e realiza enquanto estiverem sendo satisfeitas. 15. Função, Conjunto de comandos agrupados em um bloco que recebe um nome e através deste pode ser ativado. permitir o reaproveitamento de código já construído, facilitar a leitura do programa-fonte. 16. O valor que retorna da função de acordo com os requisitos passados através de parâmetros. 17. a linguagem C permite o uso de parâmetros. Este parâmetros possibilitam que se definida sobre quais dados a função deve operar. 18. Um protótipo de função, nas linguagens de programação C e C++, é uma declaração de uma função que omite o corpo mas especifica o seu nome, aridade, tipos de argumentos e tipo de retorno. Enquanto a definição da função especifica o que ela faz, um protótipo de função pode ser entendido como a especificação da sua interface. 19. Variáveis locais são aquelas nas quais apenas a função onde ela está pode usá-la. As variáveis globais são declaradas da mesma forma que uma variável local - primeiro o tipo, depois o nome da variável. Mas a diferença é que esta variável é declarada fora de qualquer função. Por convenção, geralmente, utilizamos um underline (_) no começo do nome da variável para facilitar a leitura do programa e facilmente percebermos de que se trata de uma variável global. 20. O uso de variáveis globais é geralmente considerado inadequado pois seu conteúdo pode ser potencialmente modificado de qualquer local, e qualquer parte de um código pode depender dela. A técnica possui o potencial de criar dependências mútuas, o que aumenta a complexidade e dificuldade de leitura de um código. Entretanto, para alguns casos seu uso pode ser adequado; um exemplo é a passagem frequente de variáveis continuamente por diversas funções.
  • 4. 21. Alocação estática, Ao se declarar uma variável qualquer, o compilador deixa reservado um espaço suficiente na memória para armazená-la. Ao fazer a alocação estática, usa apenas o espaço necessário na memória é reservado. 22. A alocação dinâmica é o processo que aloca memória em tempo de execução. Ela é utilizada quando não se sabe ao certo quanto de memória será necessário para o armazenamento das informações, podendo ser determinadas em tempo de execução conforme a necessidade do programa. Dessa forma evita-se o desperdício de memória. No padrão C ANSI existem 4 funções para alocações dinâmica pertencentes a biblioteca stdlib.h. São elas malloc(), calloc(), realloc() e free(). Sendo que as mais utilizadas são as funções malloc() e free(). Além das funções mencionadas acima existem outras que não serão abordadas neste tutorial, pois não são funções padrões. A alocação dinâmica é muito utilizada em problemas de estrutura de dados, por exemplo, listas encadeadas, pilhas, filas, arvores binárias e grafos. As funções malloc() e calloc() são responsáveis por alocar memória, a realloc() por realocar a memória e por ultimo a free() fica responsável por liberar a memória alocada 24. Os vetores são uma maneira de armazenar vários dados num mesmo nome de variável através do uso de índices numéricos. Em C, vetores devem sempre conter dados do mesmo tipo de variável. As matrizes em geral são caracterizadas por se tratarem de uma única variável de um determinado tamanho que guarda varias informações do mesmo tipo. Essas informações são gravadas na memória seqüencialmente e são referenciadas através de índices. As matrizes podem ser tanto unidimensionais (vetores) como multidimensionais.
  • 5. Boole: A álgebra de Boole é um sistema completo para operações lógicas. Este sistema é usado para colocar de uma forma matemática o pensamento lógico com base nas alternativas que podem assumir somente duas possibilidades: Falso ou Verdadeiro. Arquivos cabeçalho: Arquivos-cabeçalho são arquivos que contém informações que servem para o compilador reconhecer funções "VER : convenções para chamadas a funções ou calling convention", macros, tipos de dados e variáveis que não estão no arquivo sendo compilado. Esses arquivos costumam ter a extensão ".h" — é o caso, por exemplo, dos cabeçalhos padrão stdio.h e math.h. Constantes: Constantes são o oposto das variáveis, apesar de trabalharem da mesma forma. As variáveis têm esse nome exatamente porque podemos mudar seu valor durante a execução do programa. Já as constantes são dados gravados em memória que de forma alguma podemos alterar seu valor.