290 likes | 662 Views
Linguagem C. Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3. Linguagem C. “ O Senhor é meu Pastor, nada me faltará .” Salmos 23:1. Linguagem C. Objetivo da aula: VARIÁVEIS, CONSTANTES, OPERADORES E EXPRESSÕES Operadores: => Aritmético => Relacional => Lógico
E N D
Linguagem C Disciplina: AAM Profa. Ana Watanabe 2013-1 vol.3
Linguagem C • “O Senhor é meu Pastor, nada me faltará.” Salmos 23:1
Linguagem C Objetivo da aula: VARIÁVEIS, CONSTANTES, OPERADORES E EXPRESSÕES Operadores: => Aritmético => Relacional => Lógico => Bit a bit
Linguagem C OPERADORES ARITMÉTICOS: Os operadores aritméticos são usados para desenvolver operações matemáticas.
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;
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ão Ex.: float a; int b,c; a = (float )b + (float)c ; O operador % fornece o resto da divisão de dois inteiros.
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;
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)
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
Linguagem C Exercícios: x=23; y=x++; teremos, no final, y= x= Em: x=23; y=++x; teremos, no final, y= x=
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
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--);
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!
Linguagem C OPERADORES RELACIONAIS: Os operadores relacionais realizam comparações entre variáveis. Note que o resultado dos operadores relacionais é sempre igual 0 (falso) ou 1 (verdadeiro).
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++;
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
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).
Linguagem C main () { 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)
Linguagem C Operaçõ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.
Linguagem C Qual o valor armazenado nas variáveis y e z? int x; char y,z; x= 0x1234; y = x; z = x>>2;
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
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.
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.
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:
Linguagem C Expressões que Podem ser Abreviadas ou Simplificadas
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.
Linguagem C PRÁTICA: Escrever um programa que conforme as chaves muda a lógica dos 8 leds.