curso de c - ic.unicamp.br …18/3/2008 15:48 2 curso c - ic/unicamp declaração de variáveis •...

86
18/3/2008 15:48 1 Curso de C Declaração de Variáveis

Upload: vokhue

Post on 17-Aug-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 18/3/2008 15:48 1

    Curso de C

    Declarao de Variveis

  • 18/3/2008 15:48 2

    Curso C - IC/UNICAMP

    Declarao de Variveis

    Aprender como:

    Criar variveis

    Atribuir um valor inicial varivel

    Escolher um nome para a varivel

    Objetivos:

    >

  • 18/3/2008 15:48 3

    Curso C - IC/UNICAMP

    Declarao de Variveis

    Relembrando conceitos

    Tipos de Variveis

    Declarao

    Identificadores

    Roteiro:

    >

  • 18/3/2008 15:48 4

    Curso C - IC/UNICAMP

    Conceitos

    Relembrando:

    Varivel:Nome

    Valor

    (rtulo)

    (contedo)

    Varivel: nome simblico associado a um dado

    soma

    a

    b

    Rtulo

    Contedo

    6

    15

    21

    >

  • 18/3/2008 15:48 5

    Curso C - IC/UNICAMP

    Conceitos

    Varivel em C:

    Varivel:Nome

    Valor

    (rtulo)

    (contedo)

    Tipo (domnio)

    Escopo (tempo de vida)

    soma

    a

    b

    Rtulo

    Contedo

    (N(N(N(N))))

    Domnio

    6

    15

    21

    (N(N(N(N))))

    (N(N(N(N))))

    >

  • 18/3/2008 15:48 6

    Curso C - IC/UNICAMP

    Tipos de Variveis

    void Escalar Agregados

    Inteiro RealEnumerado Apontador

    Tipos

    Caractere

    void Escalar Agregados

    Inteiro RealEnumerado Apontador

    Tipos

    Caractere

    Tipos da Linguagem C:

    >

  • 18/3/2008 15:48 7

    Curso C - IC/UNICAMP

    Declarao de Varivel

    Declarao:

    Cuidado: valor inicial indefinido!

    Sintaxe:tipo nome;

    Sem valor inicial

    Sintaxe:

    tipo nome = valor;

    ContedoRtuloDomnio

    Valor inicial

    Reservar espao na memria

    Associar com identificador

    >

  • 18/3/2008 15:48 8

    Curso C - IC/UNICAMP

    Declarao de Varivel

    Sintaxe:

    tipo nome1, nome2, nome3;

    Diversas variveis, mesmo tipo

    Sintaxe:

    tipo nome1 = valor, nome2;

    Diversas variveis, mesmo tipo

    >

  • 18/3/2008 15:48 9

    Curso C - IC/UNICAMP

    float nota_prova_a = 8.0;

    float nota_prova_b = 6.0;

    float nota_laboratorio = 10.0;

    float media;

    float nota_prova_a = 8.0;

    float nota_prova_b = 6.0;

    float nota_laboratorio = 10.0;

    float media;

    Declarao de Varivel

    Exemplo:

    >

  • 18/3/2008 15:48 10

    Curso C - IC/UNICAMP

    Identificadores

    Seqncia de: Letras maisculas (A-Z)

    Letras minsculas (a-z)

    Dgitos (0-9)

    Sublinhado ( _ )

    Nome de varivel:

    >

    No pode:

    Comear com digito Ser uma palavra chave

  • 18/3/2008 15:48 11

    Curso C - IC/UNICAMP

    Identificadores

    Correto:

    Errado:

    contador

    resto_divisao

    nota1

    media

    mdia

    2lugares _valor

    Nome de varivel:

    >

  • 18/3/2008 15:48 12

    Curso C - IC/UNICAMP

    Identificadores

    Distino maiscula/minscula

    Mximo 31 smbolos

    Palavras chaves (proibidas):auto, break, case, char, const, continue,

    default, do, double, else, enum, extern,

    float, for, goto, if, inline, int, long,

    register, restrict, return, short,

    signed, sizeof, static, struct, switch,

    typedef, union, unsigned, void, volatile,

    while

    Nome de varivel:

    >

  • 18/3/2008 15:48 13

    Curso de C

    Tipos Inteiros

  • 18/3/2008 15:48 14

    Curso C - IC/UNICAMP

    Tipos Inteiros

    Aprender a:

    Declarar variveis que armazenam nmeros

    inteiros

    Imprimir nmeros inteiros na tela

    Ler nmeros inteiros digitados pelo usurio

    Objetivos:

    >

  • 18/3/2008 15:48 15

    Curso C - IC/UNICAMP

    Tipos Inteiros

    O Tipo Inteiro

    Escrever texto na tela

    Escrever nmeros na tela

    Ler nmeros do teclado

    Exemplo

    Particularidades da leitura

    Roteiro:

    >

  • 18/3/2008 15:48 16

    Tipos Inteiros

    O Tipo Inteiro

  • 18/3/2008 15:48 17

    Curso C - IC/UNICAMP

    O Tipo Inteiro

    Representao de nmeros inteiros

    Positivos e negativos

    Limitao de valor mnimo e mximo

    Intervalo vlido para nmeros inteiros

    Compromisso:

    Memria x Amplitude

    Tipos Inteiros:

    >

  • 18/3/2008 15:48 18

    Curso C - IC/UNICAMP

    O Tipo Inteiro

    Inteiro

    int short long long long

    Escalar

    Inteiro

    int short long long long

    Escalar

    Tipos Inteiros: Hierarquia

    >

  • 18/3/2008 15:48 19

    Curso C - IC/UNICAMP

    O Tipo Inteiro

    Opes de Tipos Inteiros:

    short int Nmeros pequenosshort int Nmeros pequenos

    long int Nmeros grandeslong int Nmeros grandes

    long long int Nmeros muito grandeslong long int Nmeros muito grandes

    int Velocidadeint Velocidade

    tipo nome = valor;

    Declarao

    >

  • 18/3/2008 15:48 20

    Curso C - IC/UNICAMP

    O Tipo Inteiro

    >

    Opes de Tipos Inteiros:

    short int numero_pequeno;short int contador = 4;

    int contador;int limite_tentativas = 100;

    long int quantidade_pecas;long int numero_repeticoes = 5000000;

    Exemplos de declarao:

  • 18/3/2008 15:48 21

    Curso C - IC/UNICAMP

    O Tipo Inteiro

    - 9,2231015 at

    9,22310158 bytesNmeros

    muito grandes

    long

    long

    int

    - 2.147.483.648 at2.147.483.647

    4 bytesNmeros grandes

    long

    int

    -32.768 at

    32.767

    2 bytesNmeros

    pequenos

    short

    int

    - 2.147.483.648 at

    2.147.483.647

    4 bytesTamanho

    padro

    int

    Intervalo*Memria*DescrioTipo

    >* Especfico para o Visual C (Win32)

  • 18/3/2008 15:48 22

    Curso C - IC/UNICAMP

    O Tipo Inteiro

    Utilize sempre o tipo int para declarar variveis cujo contedo ser

    um nmero inteiro.

    Confuso?

    >

  • 18/3/2008 15:48 23

    Tipos Inteiros

    Escrever Texto

  • 18/3/2008 15:48 24

    Curso C - IC/UNICAMP

    Escrever texto

    Sintaxe:

    printf(mensagem);

    Mesma linha

    Sintaxe:printf(mensagem\n);

    Avanar para prxima linha

    Comando printf()

    >

  • 18/3/2008 15:48 25

    Curso C - IC/UNICAMP

    Primeira linha

    Segunda linha

    Terceira linhacontinua terceira linha

    Primeira linha

    Segunda linha

    Terceira linhacontinua terceira linha

    Escrever texto

    #include

    #include

    int main(int argc, char* argv[]) {

    printf(Primeira linha\n);printf( Segunda linha\n);printf(Terceira linha);printf(continua terceira linha);

    return 0;

    }

    #include

    #include

    int main(int argc, char* argv[]) {

    printf(Primeira linha\n);printf( Segunda linha\n);printf(Terceira linha);printf(continua terceira linha);

    return 0;

    }

    Exemplo:

    >

  • 18/3/2008 15:48 26

    Tipos Inteiros

    Escrever Nmeros Inteiros

    na Tela

  • 18/3/2008 15:48 27

    Curso C - IC/UNICAMP

    Escrever nmeros inteiros

    Indicador de escrita: %d

    Sintaxe:

    printf(texto com %d, variavel);

    Uma varivel

    Exemplo:int q = 10;

    printf(Quantidade: %d itens, q);

    >

    Quantidade: 10 itensQuantidade: 10 itens

  • 18/3/2008 15:48 28

    Curso C - IC/UNICAMP

    Escrever nmeros inteiros

    Indicador de escrita: %d

    int nota1 = 7;

    int nota2 = 8;

    printf(Primera nota: %d; segunda: %d.,nota1, nota2);

    Exemplo:

    Sintaxe:printf(mensagem com varios %d, v1, v2 ...);

    Mais variveis

    >

    Primeira nota: 7; segunda: 8.Primeira nota: 7; segunda: 8.

  • 18/3/2008 15:48 29

    Curso C - IC/UNICAMP

    Escrever nmeros inteiros

    Outros indicadores de escrita:

    %lld ou %llilong long int

    %lld ou %llilong long int

    %ld ou %lilong int

    %ld ou %lilong int

    %d ou %iint

    %d ou %iint

    %hd ou %hishort int

    %hd ou %hishort int

    >

  • 18/3/2008 15:48 30

    Curso C - IC/UNICAMP

    Ler nmeros inteiros

    Sintaxe:

    scanf(formato com %d, &variavel);

    Um nmero por comando

    Comando scanf() com %d

    Exemplo:int quantidade;

    printf(Digite a quantidade: );scanf(%d, &quantidade);

    >

  • 18/3/2008 15:48 31

    Curso C - IC/UNICAMP

    Ler nmeros inteiros

    Sintaxe:scanf(formato com %d, &v1, &v1, ...);

    Vrios nmeros por comando

    Exemplo:

    int nota1, nota2;

    printf(Digite as duas notas: );scanf(%d %d, &nota1, &nota2);

    >

    Comando scanf() com %d

  • 18/3/2008 15:48 32

    Curso C - IC/UNICAMP

    Ler nmeros inteiros

    %lld ou %llilong long int

    %lld ou %llilong long int%ld ou %li

    long int

    %ld ou %lilong int

    %d ou %iint

    %d ou %iint

    %hd ou %hishort int

    %hd ou %hishort int

    %I64d ou %I64ilong long int

    %I64d ou %I64ilong long int

    Outros indicadores de leitura:

    >

  • 18/3/2008 15:48 33

    Curso C - IC/UNICAMP

    Particularidades da leitura

    Programa bloqueia at o usurio:

    escrever todos os valores pendentes

    pressionar ENTER.

    int a, b, c;

    scanf(%d %d %d, &a, &b, &c);

    int a, b, c;

    scanf(%d %d %d, &a, &b, &c);

    >

    Comando scanf() com %d

    3 4 6 (enter)3 4 6 (enter) 3 (enter)

    4 6 (enter)

    3 (enter)

    4 6 (enter)

    O usurio poder escrever:

    3 (enter)

    4 (enter)

    6 (enter)

    3 (enter)

    4 (enter)

    6 (enter)

  • 18/3/2008 15:48 34

    Curso C - IC/UNICAMP

    Particularidades da leitura

    Nmeros digitados em excesso:

    Ficam em uma fila para prximos scanf

    int a, b, c, d, e;

    scanf(%d %d %d, &a, &b, &c);scanf(%d %d, &d, &e);

    int a, b, c, d, e;

    scanf(%d %d %d, &a, &b, &c);scanf(%d %d, &d, &e);

    >

    Comando scanf() com %d

    3 4 6 (enter)

    7 8 (enter)

    3 4 6 (enter)

    7 8 (enter)

    O usurio poder escrever:

    3 4 6 7 8(enter)3 4 6 7 8(enter)

    LeituraEscrita

  • 18/3/2008 15:48 35

    Outros exemplos

    LimitesInteiros

  • 18/3/2008 15:48 36

    Curso de C

    Introduo aos Operadores

    Aritmticos

  • 18/3/2008 15:48 37

    Curso C - IC/UNICAMP

    Introduo aos Operadores

    Aprender como:

    Realizar operaes matemticas com

    nmeros e variveis

    Salvar novamente o resultado das operaes

    em variveis

    Objetivos:

    >

  • 18/3/2008 15:48 38

    Curso C - IC/UNICAMP

    Introduo aos Operadores

    Atribuio

    Matemtica

    Exemplo

    Roteiro:

    >

  • 18/3/2008 15:48 39

    Curso C - IC/UNICAMP

    Atribuio

    Atribuio:

    Sintaxe:variavel = valor;

    Sintaxe:variavel = expresso;

    Substitui o valor da varivel

    soma

    a

    b

    Rtulo

    Contedo

    (N(N(N(N))))

    Domnio

    6

    15

    21

    (N(N(N(N))))

    (N(N(N(N))))

    >

  • 18/3/2008 15:48 40

    Curso C - IC/UNICAMP

    Atribuio

    Atribuir um novo valor:quantidade = 10;

    Armazenar resultado de uma conta:

    soma = valor_a + valor_b;

    Atualizar um contador:

    contador = contador + 1;

    Atribuio: Substitui o valor da varivel

    >

  • 18/3/2008 15:48 41

    Curso C - IC/UNICAMP

    Matemtica

    Operadores:

    Soma

    Subtrao

    Multiplicao

    Diviso

    Mdulo (resto)

    Expresses

    Matemtica:

    >

  • 18/3/2008 15:48 42

    Curso C - IC/UNICAMP

    Soma: 10 mais 16 26Soma: 10 mais 16 26

    Matemtica

    int parcela1 = 10, parcela2 = 16;

    int soma;

    soma = parcela1 + parcela2;printf("Soma: %d mais %d %d",

    parcela1, parcela2, soma);

    Soma:

    >

  • 18/3/2008 15:48 43

    Curso C - IC/UNICAMP

    Subtrao: 10 menos 16 -6Subtrao: 10 menos 16 -6

    Matemtica

    int parcela1 = 10, parcela2 = 16;

    int subtracao;

    subtracao = parcela1 - parcela2;printf("Subtrao: %d menos %d %d",

    parcela1, parcela2, subtracao);

    Subtrao:

    >

  • 18/3/2008 15:48 44

    Curso C - IC/UNICAMP

    Multiplicao: 4 vezes 6 24Multiplicao: 4 vezes 6 24

    Matemtica

    int fator_a = 4, fator_b = 6;

    int produto;

    produto = fator_a * fator_b;printf("Multipliao: %d vezes %d %d",

    fator_a, fator_b, produto);

    Multiplicao:

    >

  • 18/3/2008 15:48 45

    Curso C - IC/UNICAMP

    Diviso: 46 por 6 7Diviso: 46 por 6 7

    Matemtica

    int dividendo = 46, divisor = 6;

    int quociente;

    quociente = dividendo / divisor;printf("Diviso: %d por %d %d",

    dividendo, divisor, quociente);

    Diviso inteira:

    Diviso Inteira!Sem parte fracionria

    >

  • 18/3/2008 15:48 46

    Curso C - IC/UNICAMP

    Diviso: 46 por 6 7, resto 4Diviso: 46 por 6 7, resto 4

    Matemtica

    int dividendo = 46, divisor = 6;

    int quociente, resto;

    quociente = dividendo / divisor;resto = dividendo % divisor;printf("Diviso: %d por %d %d, resto %d",

    dividendo, divisor, quociente, resto);

    Resto:

    >

  • 18/3/2008 15:48 47

    Curso C - IC/UNICAMP

    Exemplo

    #include #include int main(int argc, char* argv[]) {

    int horas, minutos, segundos;int total_segundos;

    printf("Digite o intervalo de tempo (segundos): ");scanf("%d", &total_segundos);

    horas = (total_segundos / 60) / 60;minutos = (total_segundos / 60) % 60;segundos = total_segundos % 60;

    printf("\n");printf("Total de segundos: %d \n", total_segundos);printf("Tempo: %d:%d:%d\n", horas, minutos, segundos);

    return 0;}

    >

    Horario01/Horario02

  • 18/3/2008 15:48 48

    Outros Exemplos

    Bits2Digitos

    Digitos2Bits

  • 18/3/2008 15:48 49

    Curso de C

    Tipo Caractere

  • 18/3/2008 15:48 50

    Curso C - IC/UNICAMP

    Tipo Caractere

    Aprender a:

    Declarar variveis que armazenam um

    caractere (letra ou smbolo)

    Imprimir um caractere na tela

    Ler um caractere digitado pelo usurio

    Objetivos:

    >

  • 18/3/2008 15:48 51

    Curso C - IC/UNICAMP

    Tipo Caractere

    O Tipo caractere

    Escrever caracteres na tela

    Ler caracteres do teclado

    Roteiro:

    >

  • 18/3/2008 15:48 52

    Curso C - IC/UNICAMP

    O Tipo Caractere

    nica opo de Tipo Caractere:

    char Caractere/Letrachar Caractere/Letra

    tipo nome = valor;

    Declarao

    >

  • 18/3/2008 15:48 53

    Curso C - IC/UNICAMP

    O Tipo Caractere

    >

    Caractere vs Cdigo ASCII:

    char letra = 'A';

    Exemplos de declarao:

    char letra = 65;

    Tabela ASCIIA equivale a 65

  • 18/3/2008 15:48 54

    Curso C - IC/UNICAMP

    Escrever caracteres

    Indicador de escrita: %c

    Sintaxe:

    printf(mensagem, variavel);

    Uma varivel

    Exemplo:char l = A;

    printf(Letra: %c, l);

    >

    Letra: ALetra: A

  • 18/3/2008 15:48 55

    Curso C - IC/UNICAMP

    Escrever caracteres

    Outros indicadores de escrita:

    >

    %cchar

    %cchar

    (letra)

    %hhdcdigo

    %hhdcdigo

    (cdigo ASCII)

    %hhicdigo

    %hhicdigo

    (cdigo ASCII)

  • 18/3/2008 15:48 56

    Curso C - IC/UNICAMP

    Ler caracteres

    Sintaxe:

    scanf(formato, &variavel);

    Um nmero por comando

    Comando scanf() com %c

    Exemplo:char letra;

    printf(Digite a letra: );scanf(%c, &letra);

    >

  • 18/3/2008 15:48 57

    Curso C - IC/UNICAMP

    Ler caracteres

    Outros indicadores de leitura:

    >

    %cchar

    %cchar

    (letra)

    %hhdcdigo

    %hhdcdigo

    (cdigo ASCII)

    %hhicdigo

    %hhicdigo

    (cdigo ASCII)

  • 18/3/2008 15:48 58

    Curso C - IC/UNICAMP

    Ler caracteres

    Dica: Ler prxima letra

    int numero;

    char letra;

    printf("Digite um nmero e uma letra: ");scanf("%d %c", &numero, &letra);

    >

    scanf("%d", &numero);scanf(" %c", &letra);

    Ou:

    Espao!

  • 18/3/2008 15:48 59

    Exemplos de Cdigo

    TestandoCaracteres

    FuncoesCaracteres

  • 18/3/2008 15:48 60

    Curso de C

    Outros Tipos Inteiros

  • 18/3/2008 15:48 61

    Curso C - IC/UNICAMP

    Outros Tipos Inteiros

    Aprender a:

    Declarar variveis que armazenam outros

    tipos de nmeros inteiros

    Imprimir estes nmeros inteiros na tela

    Ler estes nmeros inteiros digitados pelo

    usurio

    Objetivos:

    >

  • 18/3/2008 15:48 62

    Curso C - IC/UNICAMP

    Outros Tipos Inteiros

    Tipos com Sinal Tipos sem Sinal

    Escrever Inteiros sem Sinal

    Ler Inteiros sem Sinal

    Roteiro:

    >

  • 18/3/2008 15:48 63

    Curso C - IC/UNICAMP

    Outros Tipos Inteiros

    Tipos Modificados:

    Declarao:variavel;int

    Tamanho padro

    4 bytes

    - 2.147.483.648 at 2.147.483.647

    Intevalo simtrico

    de nmeros

    Positivo e

    negativo

    >

  • 18/3/2008 15:48 64

    Curso C - IC/UNICAMP

    Tipos inteiros conhecidos: (com sinal)

    char signed char

    int signed int

    short int signed short int

    long int signed long int

    long long int signed long long int

    Tipos inteiros conhecidos: (com sinal)

    char signed char

    int signed int

    short int signed short int

    long int signed long int

    long long int signed long long int

    Outros Tipos Inteiros

    Tipos com sinal:

    Declarao equivalente

    >

  • 18/3/2008 15:48 65

    Curso C - IC/UNICAMP

    Outros Tipos Inteiros

    Tipos sem sinal:

    Declarao:variavel;unsigned int

    Tamanho padro

    4 bytes

    0 at 4.294.967.295

    Intevalo no

    simtrico

    Apenas

    Positivo

    >

  • 18/3/2008 15:48 66

    Curso C - IC/UNICAMP

    Novos Tipos Inteiros: (sem sinal)

    unsigned char

    unsigned int

    unsigned short int

    unsigned long int

    unsigned long long int

    Novos Tipos Inteiros: (sem sinal)

    unsigned char

    unsigned int

    unsigned short int

    unsigned long int

    unsigned long long int

    Outros Tipos Inteiros

    Tipos sem sinal:

    >

  • 18/3/2008 15:48 67

    Curso C - IC/UNICAMP

    Outros Tipos Inteiros

    0 at 2551 byteunsigned char

    - 2.147.483.648 at2.147.483.647

    4 bytes(signed) int

    0 at 18,44610158 bytesunsigned long long int

    - 9,2231015 at9,2231015

    8 bytes(signed) long long int

    0 at 4.294.967.2964 bytesunsigned long int

    - 2.147.483.648 at2.147.483.647

    4 bytes(signed) long int

    0 at 65.5362 bytesunsigned short int

    - 32.768 at 32.7672 bytes(signed) short int

    0 at 4.294.967.2964 bytesunsigned int

    - 128 at 1271 byte(signed) char

    DomnioTamanhoTipo

    >

  • 18/3/2008 15:48 68

    Curso C - IC/UNICAMP

    Outros Tipos Inteiros

    Utilize sempre o tipo int para declarar variveis de nmero inteiro.

    Ser adequado para 99% dos casos.

    Confuso?

    >

  • 18/3/2008 15:48 69

    Curso C - IC/UNICAMP

    Escrever Inteiros sem Sinal

    Indicador de escrita: %u

    Sintaxe:

    printf(mensagem com %u, variavel);

    Uma varivel

    Exemplo:unsigned int n = 5000;

    printf(Quantidade: %u itens, n);

    >

    Quantidade: 5000 itensQuantidade: 5000 itens

  • 18/3/2008 15:48 70

    Curso C - IC/UNICAMP

    Escrever Inteiros sem Sinal

    Outros indicadores de escrita:

    >

    %hhuunsigned

    char

    %hhuunsigned

    char

    %huunsigned

    shot int

    %huunsigned

    shot int

    %uunsigned

    int

    %uunsigned

    int

    %luunsigned

    long int

    %luunsigned

    long int

    %iiu ou %I64uunsigned long

    long int

    %iiu ou %I64uunsigned long

    long int

  • 18/3/2008 15:48 71

    Curso C - IC/UNICAMP

    Ler Inteiros sem Sinal

    Sintaxe:

    scanf(formato com %u, &variavel);

    Um nmero por comando

    Comando scanf() com %u

    Exemplo:unsined int repeticoes;

    printf(Nmero de repeties: );scanf(%u, &repeticoes);

    >

  • 18/3/2008 15:48 72

    Curso C - IC/UNICAMP

    Ler Inteiros sem Sinal

    Outros indicadores de leitura:

    >

    %hhuunsigned

    char

    %hhuunsigned

    char

    %huunsigned

    shot int

    %huunsigned

    shot int

    %uunsigned

    int

    %uunsigned

    int

    %luunsigned

    long int

    %luunsigned

    long int

    %iiu ou %I64uunsigned long

    long int

    %iiu ou %I64uunsigned long

    long int

  • 18/3/2008 15:48 73

    Curso de C

    Tipos de Ponto Flutuante

    (Nmeros Fracionrios)

  • 18/3/2008 15:48 74

    Curso C - IC/UNICAMP

    Tipos de Ponto Flutuante

    Aprender a:

    Declarar variveis que armazenam valores

    fracionrios

    Imprimir nmeros fracionrios na tela

    Ler nmeros fracionrios digitados pelo

    usurio

    Objetivos:

    >

  • 18/3/2008 15:48 75

    Curso C - IC/UNICAMP

    Tipos de Ponto Flutuante

    O tipo ponto flutuante

    Escrever nmero em ponto flutuante

    Ler nmero em ponto flutuante

    Exemplo

    Roteiro:

    >

  • 18/3/2008 15:48 76

    Curso C - IC/UNICAMP

    O Tipo Ponto Flutuante

    Declarao de tipos ponto flutuante:

    float Pouca preciso, baixa magnitudefloat Pouca preciso, baixa magnitude

    double Muita preciso, alta magnitudedouble Muita preciso, alta magnitude

    long double

    Preciso maior, altssima magnitude

    long double

    Preciso maior, altssima magnitude

    tipo nome = valor;

    Declarao

    >

  • 18/3/2008 15:48 77

    Curso C - IC/UNICAMP

    O Tipo Ponto Flutuante

    >

    Exemplo:

    double velocidade = 5.333222567854;

    float raio = 5.4;float area = 50040.22;

    Exemplos de declarao:

  • 18/3/2008 15:48 78

    Curso C - IC/UNICAMP

    O Tipo Ponto Flutuante

    Real

    float double long double

    Real

    float double long double

    Tipos Ponto Flutuante: Hierarquia

    >

  • 18/3/2008 15:48 79

    Curso C - IC/UNICAMP

    O Tipo Ponto Flutuante

    >* Padro (IEEE)

    - 1,2104932 at

    1,210493219 dgitos10 byteslong

    double

    - 1,710308 at

    1,71030815 dgitos8 bytesdouble

    - 3,41038 at

    3,410387 dgitos4 bytesfloat

    Intervalo*Preciso*Tamanho*Tipo

  • 18/3/2008 15:48 80

    Curso C - IC/UNICAMP

    O Tipo Ponto Flutuante

    Utilize sempre o tipo double para declarar variveis de ponto flutuante.

    Ser adequado para 99% dos casos.

    Confuso?

  • 18/3/2008 15:48 81

    Curso C - IC/UNICAMP

    Escrever nmeros reais

    Indicadores de substituio: %f

    Sintaxe:

    printf(mensagem com %f, variavel);

    Uma varivel

    Exemplo:float v = 10.1;

    printf(Velocidade: %fkm/h, v);

    >

    Velocidade: 10.1km/hVelocidade: 10.1km/h

  • 18/3/2008 15:48 82

    Curso C - IC/UNICAMP

    Escrever nmeros reais

    Outros indicadores de escrita:

    >

    %ffloat/double

    %ffloat/double

    (decimal) %efloat/double

    %efloat/double

    (cientfico) %gfloat/double

    %gfloat/double

    (dec./cient.)

    %Lflong double

    %Lflong double

    (decimal) %Lelong double

    %Lelong double

    (cientfico) %Lglong double

    %Lglong double

    (dec./cient.)

  • 18/3/2008 15:48 83

    Curso C - IC/UNICAMP

    Ler nmeros reais

    Sintaxe:

    scanf(formato com %f, &variavel);

    Um nmero por comando

    Comando scanf() com %f

    Exemplo:float nota;

    printf(Digite a nota da prova: );scanf(%f, &nota);

    >

  • 18/3/2008 15:48 84

    Curso C - IC/UNICAMP

    Ler nmeros reais

    Outros indicadores de leitura:

    >

    %ffloat

    %ffloat

    (decimal) %efloat

    %efloat

    (cientfico) %gfloat

    %gfloat

    (dec./cient.)

    %lfdouble

    %lfdouble

    (decimal) %ledouble

    %ledouble

    (cientfico) %lgdouble

    %lgdouble

    (dec./cient.)

    %Lflong double

    %Lflong double

    (decimal) %Lelong double

    %Lelong double

    (cientfico) %Lglong double

    %Lglong double

    (dec./cient.)

  • 18/3/2008 15:48 85

    Curso C - IC/UNICAMP

    Exemplo

    #include #include int main(int argc, char* argv[]) {

    double pi = 3.141592;double raio, area, perimetro;

    printf("Digite o raio: ");scanf("%lf", &raio);

    area = pi * (raio * raio);perimetro = 2.0 * pi * raio;

    printf("\n");printf("Raio: %lf \n", raio);printf("rea: %lf \n", area);printf("Permetro: %lf \n", perimetro);

    return 0;}

    >

    Circulo01

  • 18/3/2008 15:48 86

    Exemplo de Cdigos

    PrecisaoReal

    LimitesReais

    ParametrosReais

    FuncoesSobreReais

    TamanhoObjetos

    Conversoes

    Constantes