Upload
internet
View
104
Download
1
Embed Size (px)
Citation preview
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 COPERADORES 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ãoEx.: 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 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).
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 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)
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.
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
TABELAS DE PRECEDÊNCIA DE C
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.