Академический Документы
Профессиональный Документы
Культура Документы
Programao I
Luciano L. Caimi
caimi@urisan.tche.br
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Terminologia e representao
Trecho ou exemplo de cdigo correto
Trecho ou exemplo de cdigo incorreto
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Cronologia
BCPL
Por muitos anos o livro, The C programming language de Brian Kernighan e Dennis
Ritche, editado em 1978, serviu de manual de referncia tanto para programadores como
desenvolvedores de compiladores da linguagem C, motivo pelo qual muitas pessoas,
erradamente, atribuem o desenvolvimento da linguagem a Brian Kernighan.
3
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
A Linguagem C
Caractersticas:
Linguagem de nvel mdio
Aproxima-se do assembly (manipulao de bits,
Tipos abstratos de dados
Linguagem estruturada
compartimenta o cdigo em subrotinas (procedimentos e
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
A Linguagem C
Caractersticas (continuao):
Linguagem de estilo livre
Formatao livre
#include <stdio.h>
Case sensitive
int main()
{
printf("Hello, world!\n");
return 0;
}
Palavras Reservadas
auto
double
int
struct
break
else
long
switch
case
enum
register
typedef
char
extern
return
union
const
float
short
unsigned
continue
for
signed
void
default
goto
sizeof
volatile
do
if
static
while
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Um Ol!
Comando para
pr-processador
Definies de bibliotecas
de entrada e sada
#include <stdio.h>
Funo main
retorna um
inteiro
Incio de
bloco
Final de
bloco
Nome da
funo main
int main()
Definio de
uma funo
{
printf("Hello, world!\n");
return 0;
Chamada
}
Parmetro
para printf
funo printf
Termina a funo
main e retorna
valor 0
7
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
A Linguagem C
Comentrios:
/* .*/
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
A Linguagem C
/* Programa 3: Imprime Hello World! na tela
Autor: Luciano L. Caimi */
#include <stdio.h>
/* incluso da biblioteca para: printf, gets, scanf */
#include <math.h>
/* incluso da biblioteca para: pow */
#define TAM 25
/* definindo constante TAM */
const double MY_PI = 3.1415916; /* definindo constante MY_PI */
float area(int raio); /* prottipo da funo rea */
int main(){
char buffer[TAM]; int aux; float result; /* declarao de variveis */
printf(\nEntre com o nome: );
gets(buffer);
/* leitura atravs de gets */
fflush(stdin);
/* limpa buffer de entrada */
printf(\nEntre com o raio: );
scanf(%d, &aux);
/* leitura atravs de scanf */
result = area(aux); /* chamada a funo rea */
return 0;
}
float area(int raio){ /* definio da funo rea */
float var;
/* declarao de varivel local */
var = MY_PI * pow(raio,2); /* chamada a funo pow de math.h */
return var;
/* retorna o valor calculado para quem chamou */
}
9
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
A Linguagem C
10
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
A Linguagem C
11
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Tipos de Dados
tipo tamanho
char
1 byte
int
4 bytes
float
4 bytes
double 8 bytes
void
0 bytes
representao
ASCII
Complemento 2
IEEE 754
IEEE 754
faixa
-128 +127
-2147483648 +2147483647
-1 x 10-37 1 x 1037
-1 x 10-308 1 x 10308
#include <stdio.h>
int main() {
char aux_1 = '0', aux_2 = 65;
printf("\ncaracter aux_1: %c\ninteiro
printf("\n\ncaracter aux_2: %c\ninteiro
return 0;
}
12
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Qualificadores de Tipos
13
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Nomes de Identificadores
14
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Constantes
15
Constantes
/* resultado: 53 */
- - - - - - - - - - - - - - - - - - - - - -
- - - - -
char var;
int unidades;
var = 48 + unidades; /* var recebe o caracter
ASCII correspondente a unidades */
16
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Variveis
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Variveis
18
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Variveis
Memria
[ ... ]
letra
x
contador
65
0
0
0
1
?
?
?
[000200]
[000201]
[000202]
[000203]
[000204]
[000205]
[000206]
[000207]
[ ... ]
19
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Variveis
Onde so declaradas
Como parmetros de funes (varivel local):
int soma(int valor_1, int valor_2);
float raio;
int auxiliar;
20
#include <stdio.h>
int valor_1;
int main( ){
Variveis
21
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Variveis
22
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Variveis
int vet[100];
armazena 100 nmeros inteiros. O primeiro elemento
est em vet[0] e o ltimo em vet[99].
importante notar que em C no h verificao de
limites em vetores. O exemplo abaixo no apresenta erro
de compilao, apenas de execuo:
x = 3 * vet[100]; /* Erro: no existe o elemento vet[100] */
vet[200] = cont;
23
Variveis
float notas[3] = {8.5, 9.5, 7.0} ;
int cont = 0;
int mat[][] = {{1, 5},{-1, 10}};
Memria
[ ... ]
notas[0]
notas[1]
notas[2]
cont
mat[0][0]
mat[0][1]
mat[1][0]
mat[1][1]
8.5
9.5
7.0
0
1
5
-1
10
[000800]
[000804]
[000808]
[00080B]
[000810]
[000814]
[000818]
[00081B]
[ ... ]
24
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Variveis
char disc[15] = linguagem I;
char nomes[][20] = { Fulano de Tal,
Memria [ ... ]
Beltrano S,
disc[0]
l
[000600]
Ciclano de P}
disc[1]
i
[000601]
disc[2]
disc[3]
disc[4]
disc[5]
disc[6]
disc[7]
disc[8]
disc[9]
disc[10]
disc[11]
disc[12]
disc[13]
disc[14]
25
n
g
u
a
g
e
m
I
\0
?
?
?
[000602]
[000603]
[000604]
[000605]
[000606]
[000607]
[000608]
[000609]
[000610]
[000611]
[000612]
[000613]
[000614]
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Variveis
Para os vetores de caracteres, no podemos fazer
atribuies diretas de constantes string, somente de
constantes caracter.
char disc[15] = linguagem I; /* Ok: inicializao */
...
disc[10] = 1; /* atribuio vlida */
disc = Arquitetura; /* atribuio invlida */
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Exemplos
int a;
/* a inteiro */
float x;
/* x de ponto flutuante, preciso simples */
double y; /* y de ponto flutuante, preciso dupla */
int b = 0; /* b inteiro, valor inicial 0 */
unsigned int m = 100;
/* m inteiro no-negativo */
long N = 1000000L;
/* N vale um milho */
short rodas = 4;
/* quatro rodas */
char letra = 'a';
/* letra a minscula */
double quase_pi = 3.14;
float quase_e = 2.7f;
/* note o f no final */
float quase_e_tambem = 2.7; /* tambm funciona */
double quase_c = 3e8;
/* O e indica expoente */
unsigned long degrau = 1ul; /* u: unsigned, l: long */
int aux, teste = 0, outro, mais_um = -8;
27
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
28
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
29
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
printf
Cdigo
30
Imprimir
%c
Um nico caracter
%d
Decimal
%i
Decimal
%e
%f
Ponto flutuante
%g
%o
Octal
%s
String de caracteres
%u
%x
Hexadecimal
%%
Um sinal de %
%lf
double
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
printf
...
cont = 97;
printf(Contador = [%4d], cont );
Contador = [
Contador = [
Contador = [0097]
Contador = [97
Contador = [
0097]
31
97]
97]
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
printf
32
%s
%c
Sem efeito
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
printf
33
Resultado: [
345.66]
Resultado: [
00097]
Resultado: [
testan]
printf("Resultado: [%-10.3s]",texto);
Resultado: [tes
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Caracteres Especiais
34
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
35
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
scanf
formato
36
Ler
%c
Um nico caracter
%d
Decimal
%i
Decimal
%e
%f
Ponto flutuante
%g
%o
Octal
%s
String de caracteres
%u
%x
Hexadecimal
%p
Ponteiro
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
#include <stdio.h>
Exemplo
int main() {
char Nome[50];
int Idade;
#include <stdio.h>
printf("Qual o seu primeiro nome? ");
scanf("%s",
Nome); {
int main()
printf("Qual a sua idade? ");
char Nome[50];
scanf("%d",
int&Idade);
Idade;
return 0; printf("Qual
#include
<stdio.h>
o seu
nome completo? ");
}
gets(Nome);
int main() {
fflush(stdin);
chara Nome[50];
printf("Qual
sua idade? ", &Idade);
int&Idade);
Idade;
scanf("%d",
printf("Qual o seu nome completo? ");
fflush(stdin);
return 0; scanf("%[a-z A-Z]", Nome);
fflush(stdin);
}
printf("Qual a sua idade? ", &Idade);
scanf("%d", &Idade);
fflush(stdin);
return 0;
37
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
38
gets
getchar
puts
putchar
gets(char *);
getchar(char);
puts(char *);
putchar(char);
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Operadores
39
Atribuio
Atribuio Reduzida
Aritmticos
Lgicos
Condicionais
Bit a bit
Incremento e Decremento
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Atribuio
a = b = 20;
a = (b = 5) + 3;
3 = a;
40
/* vlido
*/
/* vlido
*/
/* Invlido */
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Operadores Aritmticos
41
Quando aplicado
a valores inteiros
devolve um
inteiro
Unrios
Soma: +
Subtrao: Produto: *
Diviso: /
Resto da diviso inteira: %
Sinal: Sinal: +
No h operador de potenciao.
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Exemplos
int n = 10, d =
double x, y, z;
int i, j, k;
i = 25;
j = d + i;
k = i / n;
i = n % d;
x = 25; y = 10;
z = x / y;
42
7;
/* Vrgula separa declaraes de mesmo tipo */
/*
/*
/*
/*
/*
/*
Atribuio */
j recebe 32 */
k recebe 2 (diviso inteira) */
i muda para 3 */
Possvel: converte int -> double */
z recebe 2.5 */
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Atribuio Reduzida
Assim:
a += b;
/* O mesmo que a = a + b */
c -= b*a;
/* O mesmo que c = c (b*a) */
d *= a - b; /* O mesmo que d = d * (a - b) */
43
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Incremento e Decremento
44
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Operadores relacionais
45
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Operadores relacionais
if (x >= 0)
printf(positivo");
else
printf(negativo");
Cuidado!!!
(x == 0)
46
if (x = 0)
printf(zero");
else
printf(no zero");
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Operadores lgicos
if (!aux)
printf(zero");
47
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Operadores lgicos
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
49
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
50
Em binrios
00000001 | 00000010
11111111 & 00001111
00001101 << 2
00011100 >> 1
~(00000011)
00000011 ^ 00000010
Resultado
00000011 = 0X03 = 3
00001111 = 0x0F = 15
00110100 = 0x34 = 52
00001110 = 0x0E = 14
11111100 = 0xFC = 252
00000001 = 0X01 = 1
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Operador Sizeof
Por exemplo:
float area;
int idades[10];
printf(Um inteiro ocupa %d bytes de memria, sizeof(int));
printf(Um float ocupa %d bytes de memria, sizeof area);
printf(O vetor \idades\ ocupa %d bytes de memria, sizeof idades);
51
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Precedncia e Associatividade
52
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Precedncia e Associatividade
Maior precedncia
( )
[ ]
->
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Exemplos
a
d
e
f
g
f
a
54
=
=
=
=
=
=
=
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Converses de tipos
55
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Converses de tipos
56
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Exemplos
int n = 10, d =
double x, y, z;
int i, j, k;
i = 25;
x = d + i;
k = i / n;
k = x / n;
x = 25; y = 10;
z = x / y;
j = z + y;
57
7;
/* Vrgula separa declaraes de mesmo tipo */
/*
/*
/*
/*
/*
/*
/*
Atribuio */
x recebe 32.0*/
k recebe 2.0 (diviso inteira) */
k recebe 3.2 */
x recebe 25.0 y recebe 10.0*/
z recebe 2.5 */
j muda para 12 (converso) */
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Converses de tipos
Cast
Um cast (modelador) aplicado a uma expresso. Ele fora a
mesma a ser de um tipo especificado. Sua forma geral :
(tipo)expresso
#include <stdio.h>
int main () {
int num;
float f;
num = 10;
f = (float) num / 7;
printf ("%f", f);
return 0;
}
58
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Constantes
59
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Estruturas de Deciso
60
if else
if else if else
switch
(?:) Operador Condicional
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
if - else
if (saldo > 0)
printf("credor");
else
printf("devedor");
Comando a executar
se condio for
verdadeira
Comando a executar
se condio for falsa
61
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
if - else
62
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
if else
if (n > 0)
if(a > b)
z = a;
else
z = b;
63
if (n > 0) {
if(a > b)
z = a;
}
else
z = b;
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
if else if - else
64
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
if else if - else
printf(Entre com o conceito: );
scanf(%c, &let_nota); fflush(stdin);
if (let_nota == A)
printf("A nota est entre 9,0 e 10,0\n");
else if (let_nota == B)
printf("A nota est entre 8,0 e 9,0\n");
else if (let_nota == C)
printf("A nota est entre 7,0 e 8,0\n");
else if (let_nota == D)
printf("Como voc vai explicar essa\n");
else {
printf("Claro que no tive nada a ver com
isso.\n");
65
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
if else
Exerccios:
1) Implemente um programa que leia 3 inteiros no teclado, ordene-os e mostre
em ordem crescente na tela;
2) A taxa de juros aplicada em fundos depositados em um banco determinada
pelo tempo em que estes ficam depositados. Para um banco em particular, a
seguinte tabela usada:
Tempo em depsito
Taxa de juro
Maior ou igual a 5 anos
0,095
Menor que 5 anos mas maior ou igual a 4 anos 0,09
Menor que 4 anos mas maior ou igual a 3 anos 0,085
Menor que 3 anos mas maior ou igual a 2 anos 0,075
Menor que 2 anos mas maior ou igual a 1 ano
0,065
Menor que 1 ano
0,055
Usando esta informao, escreva um programa em C que leia o tempo os fundos
so mantidos em depsito e informe a taxa de juros correspondente.
66
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Operador ? :
equivalente:
if (num1 > num2)
max = num1;
else
max = num2;
Exemplo:
ABS = (num < 0) ? - num : num;
67
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Comando Switch
switch <varivel> {
case <constante 1> :
<comandos>;
[break;]
case <constante 2> :
<comandos>;
[break;]
case <constante 3> :
<comandos>;
[break;]
[default :
<comandos>;]
}
68
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
switch
printf ("\nEscolha uma opo: ");
scanf ("%d", &opcao);
switch (opcao) {
case 1:
printf ("Opcao 1 foi digitada.\n");
case 2:
printf ("opcao 2 foi digitada\n");
break;
case 3:
printf("opcao 3 foi digitada\n");
break;
case 4:
printf("opcao 4 foi digitada\n");
break;
default:
printf("opcao Invlida\n");
}
69
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Estruturas de Repetio
70
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Comando for
Forma geral.
for(inicializao; expresso teste; atualizao)
comando;
numero +=
2 )
}
71
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Comando for
72
Cuidado com:
for(x = 0; x < 1000; x++);
pois um lao vazio
Um comando break encerra a execuo do lao;
Um comando continue encerra a interao corrente do
lao;
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
break - continue
int main(){
int x;
for(x = 10; x > 0; x--){
if(x == 3)
break;
if(x == 7)
continue;
printf("\nValor de X: %d\n",
x);
}
printf("\nEncerrou laco com x valendo %d\n", x);
return 0;
}
73
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
for
Exerccios:
1) Implemente um programa em C que leia 5 inteiros no teclado, e
informe na sada qual o maior e qual o menor;
2) Faa um programa em C que mostre a tabela ASCII para a faixa
de valores entre 32 e 255, no seguinte formato:
valor smbolo
32
?
...
valor smbolo
33
?
valor smbolo
34
?
valor smbolo
35
?
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Comando while
Forma geral.
while(expresso teste)
comando;
#include <stdio.h>
#include <stdio.h>
int main ( ){
int main ( ){
int numero = 0;
char tecla = \0;
while(numero < 100){
printf(Nmero: %d, numero);
while(tecla != q)
numero++;
tecla = getch();
}
return 0;
return 0;
}
}
75
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Comando while
76
Cuidado com:
while( x < 1000);
pois um lao vazio;
Um comando break encerra a execuo do lao;
Um comando continue encerra a interao corrente do
lao;
#include <stdio.h>
int main ( ){
int numero = 1;
while(numero < 10){
if(numero > 5){
numero++;
continue;
}
printf(\nNmero: %d, numero);
numero++;
}
printf(\nNmero Final: %d, numero);
return 0;
}
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Comando do-while
Forma geral.
do
comando;
while(expresso teste);
77
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Comando do-while
#include <stdio.h>
int main( ) {
char opcao;
do{
printf(\n\n\t\t\tMenu Principal\n\n\n);
printf(\t\t[1] - Instrucoes\n\n);
printf(\t\t[2] - Inserir Funcionario\n\n);
printf(\t\t[3] - Alterar Funcionario\n\n);
printf(\t\t[4] - Excluir Funcionario\n\n);
printf(\t\t[5] - Pesquisa\n\n);
printf(\t\t[6] - Sair\n\n);
printf(\t\t\tOpcao [ ]\b\b);
do
opcao = getch( );
while(opcao < 1 || opcao > 6);
} while(opcao != 6);
return(0);
}
78
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Diretivas de Pr-Processamento
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Diretivas de Pr-Processamento
#include
diz ao compilador para incluir, na hora da
compilao, um arquivo especificado. Sua forma
geral :
As diretivas do C so identificadas por comearem por #. As diretivas que estudaremos so definidas pelo padro ANSI:
#include <nome_do_arquivo>
ou
#include caminho_e_nome_do_arquivo"
80
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Diretivas de Pr-Processamento
#define
#define nome_da_macro
81
Diretivas de Pr-Processamento
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Diretivas de Pr-Processamento
Exemplo 2
#define dobro(X) X*X
...
y = dobro(y+z)
/* y = a+b*a+b y = (a*b) + a + b */
83
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Diretivas de Pr-Processamento
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Diretivas de Pr-Processamento
85
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Diretivas de Pr-Processamento
86
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Funes Matemticas
87
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Exemplo
#include<stdio.h>
#include<math.h>
int main()
{
double Total, j, m;
int n;
printf("Valor do bem:
");
scanf("%lf", &Total);
printf("Taxa de juros anual (em %%): ");
scanf("%lf", &j); j /= 100*12;
printf("Numero de meses:
");
scanf("%d", &n);
m = Total * j / (pow(1+j,n) - 1);
printf("Investimento mensal:
%.2f", m);
return 0;
}
88
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01
Bibliografia
89
URI Universidade Regional Integrada do Alto Uruguai e das Misses Linguagem de Programao I 2007/01