Anda di halaman 1dari 28

Ameliara Freire

ameliara.fjn@gmail.com
Toda linguagem de programao, existem
operadores que nos permitem armazenar,
modificar, comparar e avaliar dados no
computador.
Veremos trs tipos de operadores:
Aritmticos, Relacionais e Lgicos.
Usamos os operadores aritmticos quando
precisamos executar operaes aritmticas
(matemticas) sobre os nossos dados (variveis).
Operador Descrio
+ Adio
- Subtrao
* Multiplicao
/ Diviso
% Retorna o resto da diviso
inteira de a por b
( ) Parnteses
Vamos dar uma ateno especial aos operadores da
diviso(/) e resto(%).
O resultado de uma diviso, em C, depende dos tipos
dos dados que esto sendo divididos.
A tabela abaixo apresenta o resultado da operao de
diviso, de acordo com os tipos de dados do numerador
e do denominador.
numerador /
denominador
Resultado
inteiro / inteiro inteiro
inteiro/ real real
real / inteiro real
real/real real
Quando dois nmeros inteiros so divididos, o
resultado a parte inteira do quociente da
diviso.
Quando pelo menos um dos elementos
(numerador e/ou denominador) real, o
resultado um nmero real.
O operador do resto (%) s pode ser usado
quando as variveis envolvidas so do tipo
inteiro. No poderemos usar tal operador para
obter resto de diviso de nmeros reais. Outra
coisa: o operador % no tem nada haver com
percentagem,
certo?
Prioridade dos Operadores
A prioridade que o operador aritmtico tem sob o outro que vai
determinar como a expresso ser resolvida.
Na matemtica, quando montamos uma expresso, usamos
parnteses, colchetes e chaves. Nas linguagens de programao,
ns s temos os parnteses.
Os parnteses tm um papel importante nas expresses e
possibilitam que a ordem das operaes seja alterada.
Expresses entre parnteses so calculadas primeiro, portanto eles
fornecem o maior grau de prioridade s expresses que envolvem.
Os parnteses tm um papel importante nas expresses e
possibilitam que a ordem das operaes seja alterada.
Expresses
entre parnteses so calculadas primeiro, portanto eles
fornecem
o maior grau de prioridade s expresses que envolvem
Prioridade dos Operadores
Prioridade Operador
1 Operaes embutidas em parnteses
mais internos
2 % (resto) e/ou * (multiplicao) e/ou
/ (diviso)
3 + (adio) e/ou (subtrao)
Prioridade de Operadores
int X, Y, Z, W, A, B, C, D;
X = 19;
Y = 3;
Z = 4;
W = 2;
A = X + Y * Z;
B = (X + Y) * Z;
C = X Y * Z / W;
D = (X-Y) * (Z/W);
So utilizados para comparar valores de
variveis ou expresses aritmticas.
Uma expresso aritmtica tem como resultado
um valor numrico.
No caso de uma expresso relacional, o
resultado ser sempre um valor lgico:
Verdade ou Falso.
Operador Descrio
== Igualdade
!= Diferena ()
< Menor
> Maior
<= Menor ou Igual ()
>= Maior ou Igual ()
Sintaxe
Variavel operador Valor
Varivel1 operador varivel2
Variavel operador Expresso Aritmtica
Expresso Aritmtica operador Expresso Aritmtica
Expresses relacionais
X == 10
X > Y
X < Y + Z
X * Y > Z / W
Servem para interligar duas ou mais expresses
relacionais.
Uma expresso lgica representa a unio de
expresses relacionais, permitindo que os
resultados de vrias expresses relacionais
sejam transformados em um nico resultado
lgico (verdade ou falso).
Os operadores lgicos so:
E
OU
NO
Operador Lgico Operador Lgico em C
E &&
OU ||
NO !
Exemplos

(X > 10) && (Y < 30) || (Z == 1)
(A == 2) || (B <> C) && (D < 1) || (E > 10)
!(A == 1) || (B <= C + B)
(X + Y < Z + W) && (A < 3 + D) || (F < 5)
Prioridade Operador
1 Operaes embutidas em
parnteses mais internos;
2 Resto e/ou multiplicao e/ou
diviso;
3 Adio e/ou Subtrao;
4 Operadores Relacionais;
5 Operadores Lgicos.
A linguagem C oferece um conjunto de operadores que
uma combinao de operador de atribuio e operador
aritmtico, so os operadores aritmticos de atribuio.
Eles so utilizados para representar de maneira reduzida
uma operao aritmtica, seguida de uma atribuio.
Operador Exemplos de Uso Descrio
+= X += 4; Equivale a X = X + 4;
-= Y -= X; Equivale a Y = Y X;
*= Z *= W; Equivale a Z = Z * W;
/= K /= 7; Equivale a K = K / 7;
%= L %= M; Equivale a L = L % M
Os operadores ++ e -- so utilizados aps o nome de
uma varivel e servem para incrementar (++) ou
decrementar (--) uma unidade da varivel, ou seja,
somar 1 ou subtrair 1 do valor da varivel.
Operador Exemplos de Uso Descrio
++ X++; Equivale a X = X + 1;
-- Y--; Equivale a Y = Y -- 1;
Quando usamos operadores aritmticos, temos que
lembrar que o resultado da expresso depende do
tipo das variveis envolvidas.
que alguns operadores s podem ser usados por um
tipo de dado.
usada em uma expresso aritmtica e feita da
seguinte forma:
Antes da varivel, colocamos entre parnteses, o tipo que
queremos que a varivel seja nesta expresso aritmtica.
importante salientar que a converso de tipo feita com o
dado armazenado em uma varivel, mas a varivel continua
tendo o seu tipo original.
int A,B,C;
float X,Y;

A=3;
B=5;
X=6.5;

C = (int)X % B;
Y = (float)A/B;
Nas linhas 1 e 2, temos as declaraes de cinco variveis.
Nas linhas 3, 4, e 5 foram atribudos valores as variveis A, B e X.
Na linha 6, precisamos executar uma operao para obter o resto
da diviso entre a varivel X (que do tipo float) e a varivel B
(que do tipo int). Esta operao no seria possvel, j que o
operador do resto no aceita nmeros reais na expresso.
No entanto, esta operao se torna possvel, se fizermos a
converso de tipo da varivel X. Queremos que, nesta expresso,
o contedo de X seja um inteiro.
Para isso, colocamos (int) na frente da varivel X, como mostra a
linha 6 do exemplo. Como a varivel X tem 6.5 armazenado,
nesta conta, a parte fracionria ser desprezada e a conta ser
feita considerando que X 6. Assim, 6 % 5 = 1. Ento, 1 o valor
que ser atribudo a varivel C.
A linguagem de programao C possui uma biblioteca que
agrupa um conjunto de funes matemticas. a biblioteca
math.h.
Nesta seo, vamos ver quatro funes matemticas, da
biblioteca math.h, que utilizaremos com mais frequncia
nos nossos programas.
So as funes para encontrar a raiz quadrada de um
nmero, potncia (elevar um nmero a uma potncia) e
duas funes de arredondamento.
Esta biblioteca possui outras funes, mas estas so as
mais utilizadas nos nossos programas.
As funes matemticas precisam receber um ou vrios
parmetros e nos retornam um resultado.
Funo Descrio Exemplos de uso
sqrt Funo para encontrar a raiz quadrada
de um nmero. A funo sqrt precisa
receber como parmetro, o nmero que
desejamos encontrar a sua raiz
quadrada. O resultado desta funo
um nmero real. Como uma funo
retorna um resultado, devemos atribu-
lo a uma varivel.
R = sqrt(16);

R = sqrt(A);
pow Funo para encontrar a potncia de um
nmero, ou seja, eleva um nmero a um
expoente: AB. Assim, se A = 4 e B = 3, 4
elevado a 3 64. A funo pow ir
receber dois parmetros. O primeiro a
base (neste exemplo o A) e o segundo
o expoente (neste caso o B). Esta
funo retorna um nmero real como
resultado.
P = pow(3,4);

P = pow(A, 3);
Funo Descrio Exemplos de uso
ceil A funo ceil serve para arredondar um nmero real. Esta
funo arredonda o nmero para cima. Assim, ela retornar
como resultado: o primeiro nmero inteiro maior que o
nmero que desejamos arredondar. Por exemplo: se x =
1.34, e desejamos arredondar com a funo ceil, o
resultado ser 2.0. Ou seja, o primeiro nmero inteiro
acima de 1.34. Apesar do arredondamento, esta funo
retorna um nmero real como resultado.
Z = ceil(1.67);

Z = ceil(Z);
floor A funo floor serve para arredondar um nmero real. Esta
funo arredonda o nmero para baixo. Assim, ela
retornar como resultado: o primeiro nmero inteiro menor
que o nmero que desejamos arredondar. Por exemplo: se
x = 1.34, e desejamos arredondar com a funo floor, o
resultado ser 1.0. Ou seja, o primeiro nmero inteiro
abaixo de 1.34. Apesar do arredondamento, esta funo
retorna um nmero real como resultado.
Z = floor(1.67);
Z = floor(Z);
#include <stdio.h>
//ler o nome e as duas
notas do aluno e imprimir
a media
main()
{
char nome[20];
float nota1, nota2, media;
printf(Calcular a media do
aluno\n\n);

printf(Seu nome: );
fflush(stdin);
gets(nome);
printf(Nota 1: );
scanf(%f, &nota1);
printf(Nota 2: );
scanf(%f, &nota2);
media = (nota1 + nota2)/2;
printf(\n\n%s, sua media =
%.2f, nome,
media);
getche();
}

Linha 1: Como iremos ler o nome do aluno, precisamos incluir a
biblioteca stdio.h onde esto os comandos fflush e gets.
Linha 2: Comentrio informando o que o programa faz.
Linha 3: incio do programa principal, que definido pelo:
main().
Linha 4: um abre chaves, que ir delimitar o corpo do programa
principal.
Linhas 5 e 6: declaraes das quatro variveis do programa:
nome, nota1, nota2 e media.
Linha 7: um printf que serve para colocar, no incio da tela, o
ttulo do que o programa faz.
Linha 8: printf para que o usurio saiba que precisa fornecer seu
nome.
Linha 9: comando fflush, que DEVE sempre vir antes do comando gets.
Utilizado para limpar o buffer de entrada de dados.
Linha 10: gets que efetuar a leitura do nome do usurio.
Linha 11: printf para que o usurio saiba que precisa fornecer a primeira
nota.
Linha 12: scanf que l a primeira nota e armazena na varivel nota1.
Linha 13: printf para que o usurio saiba que precisa fornecer a segunda
nota.
Linha 14: scanf que l a segunda nota e armazena na varivel
nota2.
Linha 15: clculo da mdia do aluno. Notem que a soma das nota1 e
nota2 aparece entre parnteses. Devemos lembrar que o operador da
diviso tem prioridade maior que o operador da soma. Assim, para que
a soma das notas seja feita primeiro, ela deve vir entre parnteses. No
esqueam deste detalhe!
Linha 16: printf que apresenta a mdia do aluno. Notem que na
mensagem, tambm ser escrito o nome do aluno. A mdia do aluno
ser apresentada com duas casas decimais (%.2f)
Linha 17: comando getche que faz com que a tela de execuo do
programa fique aberta, e assim podemos ver o resultado do programa.
Nesta linha tambm poderamos usar o system(pause).
Linha 18: fecha chaves, indicando o final do programa principal.

Pesquisem na Internet outra funes
matemticas disponveis na biblioteca math.h.
Comecem a pesquisa pelo site:

http://visualcplus.blogspot.com/2006/03/mathh.
html

Anda mungkin juga menyukai