linguagem c disciplina: aam profa. ana watanabe 2013-1 vol.3

28
Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

Disciplina: AAM

Profa. Ana Watanabe

2013-1 vol.3

Page 2: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

• “O Senhor é meu Pastor, nada me faltará.” Salmos 23:1

Page 3: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

• Objetivo da aula:• VARIÁVEIS, CONSTANTES, OPERADORES E

EXPRESSÕES

• Operadores: => Aritmético => Relacional => Lógico => Bit a bit

Page 4: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem COPERADORES ARITMÉTICOS:Os operadores aritméticos são usados para desenvolver operações matemáticas.

Page 5: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C• Operadores quando aplicado a variáveis inteiras,

fornece o resultado em inteira;

• Quando aplicado a variáveis em ponto flutuante fornece o resultado em "real".

• Operadores quando aplicado a variável inteiro e real, o inteiro é alterado para real e o resultado em tipo real;

Page 6: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C• Pode-se forçar o compilador a efetuar determinada conversão utilizando-se um type

cast que tem a seguinte forma: (tipo) expressãoEx.: float a; int b,c; a = (float )b + (float)c ;• O operador % fornece o resto da divisão de dois inteiros.

Page 7: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

• Exercício: int a = 17, b = 3; int x, y; float z = 17. , z1, z2; x = a / b; y = a % b; z1 = z / b; z2 = a/b; z2 = (float)a/(float)b;

Page 8: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C• Exemplos: int a = 17, b = 3; int x, y; float z = 17. , z1, z2; x = a / b; // x =5 y = a % b; // y = 2 z1 = z / b; // z1 = 5.666666 (float/int) z2 = a/b; // z2 = 5.0 (int/int) z2 = (float)a/(float)b = 5.6666 //(cast)

Page 9: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

Operadores de incremento e decremento são unários que alteram a variável sobre a qual estão aplicados. O que eles fazem é incrementar ou decrementar, a variável sobre a qual estão aplicados, de 1. Exemplos:

x++; // x = x + 1 x--; // x = x - 1

Page 10: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

Exercícios:

x=23;y=x++; teremos, no final, y= x= Em: x=23; y=++x;

teremos, no final, y= x=

Page 11: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

Exercícios:

x=23;y=x++; teremos, no final, y=23 e x=24. Em x=23; y=++x;

teremos, no final, y=24 e x=24

Page 12: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

Diga o resultado das variáveis x, y e z depois da seguinte sequência de operações: int x,y,z; x=y=10; z=++x; x=-x; y++; x=x+y-(z--);

Page 13: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

Diga o resultado das variáveis x, y e z depois da seguinte seqüência de operações: int x,y,z; x=y=10; z=++x; // z = 11 e x = 11 x=-x; // x = -11 y++; // y = 11 x=x+y-(z--); // x = -11 e z = 10 pós incremento!

Page 14: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem COPERADORES RELACIONAIS:Os operadores relacionais realizam comparações entre variáveis.

Note que o resultado dos operadores relacionais é sempre igual 0 (falso) ou 1 (verdadeiro).

Page 15: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

Operações Lógicos: Para fazer operações com valores lógicos (verdadeiro e falso) temos os operadores lógicos:

Exemplo: No trecho de programa abaixo a operação j++ será executada?

int i = 5, j =7;

if ( (i > 3) && ( j <= 7) && ( i != j) ) j++;

Page 16: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

Operações Lógicos : Para fazer operações com valores lógicos (verdadeiro e falso) temos os operadores lógicos:

Exemplo: No trecho de programa abaixo a operação j++ será executada,pois o resultado da expressão lógica é verdadeiro:int i = 5, j =7;if ( (i > 3) && ( j <= 7) && ( i != j) ) j++;V AND V AND V = V

Page 17: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

• Em C não existe nenhum tipo específico de dados para armazenar valores lógicos.

• O valor lógico FALSO é representado por 0(zero).

• O valor lógico VERDADEIRO é representado por qualquer número diferente de 0(zero). O valor 1 é apenas um dos valores possíveis para representar VERDADE.

• Note que o resultado dos operadores relacionais é sempre igual 0 (falso) ou 1 (verdadeiro).

Page 18: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem Cmain ()

{

int x;

if (x) // é a mesma coisa que x!=0

...;

else

...;

}

• Quando o valor de x é diferente de zero, devolve o valor VERDADE e;

•Para o valor de x igual a zero => if(!x)

Page 19: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem COperações BIT a BIT: O C permite que se faça operações lógicas "bit-a- bit" em números. O número é representado por sua forma binária e as operações são feitas em cada bit dele. As operações lógicas bit a bit só podem ser usadas nos tipos char, int e long int.

Page 20: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

Qual o valor armazenado nas variáveis y e z?

int x;

char y,z;

x= 0x1234;

y = x;

z = x>>2;

Page 21: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

Qual o valor armazenado nas variáveis?

int x;

char y,z;

x= 0x1234;

y = x; // y = 0x34

z = x>>2; // z = 0x8D

Page 22: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

• VARIÁVEIS, CONSTANTES, OPERADORES E EXPRESSÕES

• EXPRESSÕES:Quando o C avalia expressões onde temos variáveis de tipos diferentes o

compilador verifica se as conversões são possíveis.

Page 23: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

• Se não são, ele não compilará o programa, dando uma mensagem de erro.

• Se as conversões forem possíveis ele as faz, seguindo as regras abaixo:

1. Todos os chars e short ints são convertidos para ints. Todos os floats são convertidos para doubles.

2. Para pares de operandos de tipos diferentes: se um deles é long double o outro é convertido para long double; se um deles é double o outro é convertido para double; se um é long o outro é convertido para long; se um é unsigned o outro é convertido para unsigned.

Page 24: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

• Expressões que Podem ser Abreviadas• O C admite as seguintes equivalências, que

podem ser usadas para simplificar expressões ou para facilitar o entendimento

de um programa:

Page 25: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C

• Expressões que Podem ser Abreviadas ou Simplificadas

Page 26: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

TABELAS DE PRECEDÊNCIA DE C

Page 27: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C• DICAS IMPORTANTES: Não precisa saber toda a tabela de precedências de cor. É útil conhecer as principais relações, mas é aconselhável que ao

escrever o código, tente isolar as expressões com parênteses, para tornar o programa mais legível.

Page 28: Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3

Linguagem C• PRÁTICA:• Escrever um programa que conforme as chaves muda a lógica dos 8 leds.