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=
Em:
x=23;
y=++x;
teremos, no final, y=
x=
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
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.
Download

Linguagem C