CES10 Cap 2-c
CES10 Cap 2-c
CES10 Cap 2-c
Programas
2.1 – Elementos básicos de algoritmos e programas
Diretivas de pré-
A função main deve aparecer depois
processamento de suas funções auxiliares, pois em
Declarações
seu escopo elas são referenciadas
globais
Se ela aparecesse antes, o compilador,
Funções
auxiliares ao encontrar tais referências, iria
notificar o aparecimento de nomes
Função
main não declarados
Programa
Toda função chamada dentro de
outra deve aparecer no programa
antes dessa outra
Prototipação – vista no capítulo de Subprogramação –
permite inverter a ordem:
Diretivas de pré-
processamento Estrutura sugerida de uma função
Declarações
em C:
globais
Cabeçalho {
Função
main Declarações locais Comandos
}
Programa
Declarações poderiam vir no meio dos
comandos, mas isso será evitado
2.4.2 – Cabeçalho de uma função
Forma geral:
Pré-processamento de macros
Diretivas de pré-processamento em C:
Programa
Inclusão de arquivos auxiliares:
Tipicamente escritos em C
Evitar distrações:
Usando #define eq ==
Final do pré-processamento!
Pré-processamento de macros:
if (EHPAR(a+b)) ....... ;
if (valor > max) ERRO(“Valor muito grande”);
O resultado do pré-processamento é:
if ((((a+b)%2)?0:1)) ....... ;
if (valor > max) printf(“ERRO:%s\n”,“Valor muito grande”);
#define EHPAR(x) (((x)%2)?0:1)
Macros
#define ERRO(mens) printf(“ERRO:%s\n”,mens)
if ((((a+b)%2)?0:1)) ....... ;
if (valor > max) printf(“ERRO:%s\n”,“Valor muito grande”);
Pré-processados
A expressão toda é
Ou seja, tal
0 (zero), se (a+b)%2 ≠ 0 expressão verifica
1 (um), caso contrário se (a+b) é par
cubo(a+b) + cubo(a-b)
Se a macro fosse