Escolar Documentos
Profissional Documentos
Cultura Documentos
Alexandre Mota
acm@cin.ufpe.br
Tipo de dado
Um
do mundo da Matemtica
Em Computao os dados precisam ser
armazenveis na memria do computador
Como a memria finita, ento os dados
precisam ser finitos
Na aula anterior vimos que o tipo char
varia entre -128 e 127
Pergunta: que acontece se somarmos 1 a
127? Vamos ver a resposta a seguir
Aritmtica binria
Os
Aritmtica binria
O
Operadores tradicionais
Os
Curiosamente
Seja
Operadores novos
Em
x=x+1
e
x--
x=x-1
Antes/aps varivel
Em
Resto da diviso
Quando
13
1
Em
3
4
C, o 1 obtido por 13 % 3
O 4 seria o usual 13 / 3
Portanto, na diviso inteira, o resto um
operador muito importante!
Expresses e parntesis
Na
Precedncia e parntesis
De
Algumas precedncias
Operador
++
-*
/
%
+
-
Nome
Inverso sinal
Incremento
Decremento
Multiplicao
Diviso
Resto
Adio
Subtrao
Precedncia
1a
1a
1a
2a
2a
2a
3a
3a
Conciso ou complicao?
Vimos
Atribuies concisas
Verso
combinada
x += b
x -= b
x *= b
x /= b
x %= b
Verso
estendida
x=x+b
x=xb
x=x*b
x=x/b
x=x%b
Promoo de tipos
Em
2 + 3 / 5, no obtemos o resultado
usual porque 3 / 5 assume a diviso entre
inteiros que resulta em 0
Tivemos que fazer 2 + 3.0 / 5 para obter
o resultado usual
Mas tambm podemos fazer atravs de
promoo de tipos: 2 + ((float) 3) / 5
O termo (float) 3 cria o 3.0
Mais til quando usado com variveis
Restrio de tipos
O
Operadores relacionais
Da
Em
Operadores relacionais
Tais
Operadores lgicos
Em
Operadores lgicos
Tais
Operadores lgicos
Basicamente
Operador
E
OU
NO
&& Falso
Falso
Falso
&& Verdadeiro
Falso
Falso
Verdadeiro
|| Falso
Falso
Falso
|| Verdadeiro
Verdadeiro
Verdadeiro || Falso
Verdadeiro
Verdadeiro || Verdadeiro
Verdadeiro
Verdadeiro
! Verdadeiro
Falso
Significado
&
E em bits
OU em bits
OU exclusivo em bits
Complemento
<<
Girar esquerda
>>
Girar direita
Operador &
Bit_1
Bit_2
Operador |
Bit_1
Bit_2
Bit_1 | Bit_2
Operador ^
Bit_1
Bit_2
Bit_1 ^ Bit_2
Operador ~
Bit
~ Bit
Operador <<
Seq. bits (s)
s << n
00011100
00111000
00011100
11000001
Objetivo
Ler um nico caractere
Ler um nmero inteiro
Ler um inteiro sem sinal
Ler um inteiro longo
Ler um nmero real (float)
Ler um nmero real (double)
Ler uma sequncia de
caracteres
Objetivo
Mostra nico caractere
Mostra nmero inteiro
Mostra inteiro sem sinal
Mostra inteiro longo
Mostra real (pto flutuante)
Mostra real (notao cientf.)
Escolhe %e ou %f (o menor)
Mostra seq. caracteres
Mostra caractere %
Formatando a sada
Se
executarmos o comando
printf(%f, 2.5);
Obteremos
2.500000
Se quisermos obter simplesmente 2.50,
por exemplo, precisamos usar
printf(%.2f, 2.5);
E
Formatando a sada
J
printf(%Nd, val);
Onde
Formatando a sada
Se
Tipos e operadores
Alexandre Mota
acm@cin.ufpe.br