18

Click here to load reader

Estrutura de Dados - Aula 3 - Expressoes

  • Upload
    mitmaya

  • View
    221

  • Download
    1

Embed Size (px)

DESCRIPTION

Disciplina Estrutura de Dados

Citation preview

  • AULA 3

    ESTRUTURA DE DADOS I

    Aula 3 Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    Expresses

    Miter Mayer O Ferreira [email protected]

  • ESTRUTURA DE DADOS I

    Aula 3 Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    Uma expresso uma combinao de variveis, constantes

    e operadores que pode ser avaliada computacionalmente,

    resultando em um valor. O valor resultante chamado de

    valor da expresso.

    Conceito

  • ESTRUTURA DE DADOS I

    Aula 3 Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    Uma varivel representa um espao na memria do computador para armazenar determinado tipo de dado;

    Na linguagem C, todas as variveis devem ser explicitamente declaradas; Na declarao de uma varivel, obrigatoriamente, devem

    ser especificados:

    Nome da varivel: serve de referncia ao dado armazenado no espao de memria da varivel

    Tipo da varivel: determina a natureza do dado que ser armazenado.

    Variveis

  • ESTRUTURA DE DADOS I

    Aula 3 Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    C oferece os seguintes tipos bsicos: Inteiros: char, short int, long int. estes tipos diferem

    entre si pelo espao de memria que ocupam e

    consequentemente pelo intervalo de valores que

    podem representar;

    Estes tipos podem ainda ser modificados para representarem apenas valores positivos, precedendo o

    tipo com o modificador sem sinal unsigned.

    Tipos Bsicos

  • ESTRUTURA DE DADOS I

    Aula 3 Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    Tipos Bsicos

  • ESTRUTURA DE DADOS I

    Aula 3 Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    Tipos Bsicos

    Para a representao de nmeros reais (ponto flutuante):

    float e double.

  • ESTRUTURA DE DADOS I

    Aula 3 - Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    Declarao de Varivel

  • ESTRUTURA DE DADOS I

    Aula 3 - Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    Constantes

    EX: a = b + 123;

    Reserva-se um espao na memoria para armazenar a constante 123;

    A diferena bsica em relao s variveis que o valor armazenado numa rea de constante no pode ser

    alterado.

    Outros:

    12.45 constante real do tipo double

    1245e-2 constante real do tipo double

    12.45F constante real do tipo float

  • ESTRUTURA DE DADOS I

    Aula 3 - Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    Operadores

    Aritmticos binrios: +, -, *, / e o operador mdulo %; Ex: a + b * c /d

    Operadores de atribuio: =; Ex: a = 5; y = x = 5;

    Incremento e decremento: ++, --; Ex: n++;, n++;, x = ++n;

    Operadores relacionais e lgicos: , =, ==, !=; && operador binrio E (AND)

    || operador binrio OU (OR)

    ! operador unrio de NEGAO (NOT)

  • ESTRUTURA DE DADOS I

    Aula 3 - Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    Operadores

    Os operadores relacionais e lgicos so normalmente

    utilizados para tomada de decises ou para atribuir valores

    a variveis.

    Exemplo:

    int a, b;

    int c = 23;

    int d = c + 4;

    a = (c < 20) || (d > c); /* verdadeiro */

    b = (c < 20) && (d > c); /* falso */

  • ESTRUTURA DE DADOS I

    Aula 3 - Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    Operadores

    Operador sizeof: rResulta no nmero de bytes de um

    determinado tipo.

    Ex: int a = sizeof(float); // armazena o valor 4 na varivel

    a, pois um float ocupa 4 bytes de memria.

  • ESTRUTURA DE DADOS I

    Aula 3 - Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    Converso de Tipos

    Converses automticas de valores:

    Ex: 3 / 1.5 = 2.0 // a constante 3 (tipo int) promovido

    (convertido) para double;

    int a = 3.5; o valor convertido para 3

    Explicitamente pode requisitar uma converso de tipo atravs

    do uso do operador de molde de tipo (operador cast);

    int a, b;

    a = (int) 3.5;

    b = (int) 3.5 % 2;

  • ESTRUTURA DE DADOS I

    Aula 3 - Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    Ordem de precedncia de operadores

  • ESTRUTURA DE DADOS I

    Aula 3 - Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    Entrada e sada bsicas

    C no possui comandos de entrada e sada do tipo READ e

    WRITE. Tudo feito atravs de funes, atravs de uma

    biblioteca padro:

    #include

    Nela encontramos vrias funes matemticas, e para

    manipulao de cadeias de caracreres.

  • ESTRUTURA DE DADOS I

    Aula 3 - Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    printf

    Possibilita a sada de valores: printf (formato, lista de constantes/variveis/expresses...);

    Formato: cadeia de caractere delimitada por aspas; Deve existir um valor especificador de valor para valor a ser

    impresso;

    %c especifica um char %d especifica um int %u especifica um unsigned int %f especifica um double (ou float) %e um double (ou float) no formato cientfico %g especifica um double (ou float) no formato mais

    apropriado (%f ou %e)

    %s especifica uma cadeia de caracteres

  • ESTRUTURA DE DADOS I

    Aula 3 - Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    printf

    Exemplos: printf ("%d %g\n", 33, 5.3); printf ("Inteiro = %d Real = %g\n", 33, 5.3);

    Caracteres de escape: \n caractere de nova linha \t caractere de tabulao \r caractere de retrocesso \" o caractere " \\ o caractere \

  • ESTRUTURA DE DADOS I

    Aula 3 - Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    scanf

    Permite capturarmos valores fornecidos via teclado; scanf (formato, lista de constantes/variveis/expresses...);

    Formato: cadeia de caractere delimitada por aspas; Deve existir um valor especificador de valor para valor a ser

    impresso;

    %c especifica um char

    %d especifica um int

    %u especifica um unsigned int

    %f,%e,%g especificam um float

    %lf, %le, %lg especificam um double

    %s especifica uma cadeia de caracteres

  • ESTRUTURA DE DADOS I

    Aula 3 - Expresses

    Cachoeiro de Itapemirim - ES

    Ensino Universitrio

    scanf

    int n; scanf ("%d", &n);

    scanf ("%d:%d", &h, &m);