Você está na página 1de 21

UniRitter

Algoritmos e Programação

Operadores em C
Prof. Me. Ricardo Becker

1
Operadores aritméticos em C
Símbolo Operador
+ Adição ou positivo
- Menos ou negativo
* Multiplicação
/ Divisão
% Resto da divisão inteira ou mod
= Atribuição
++ Incremento (inteiro e ponto flutuante)
-- Decremento (inteiro e ponto flutuante)

2
Incremento e decremento
• Os 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. Isto é,
k++; ↔ k = k + 1;
k--; ↔ k = k - 1;
3
Incremento e Decremento
• Atenção: os operadores de incremento e
decremento podem ser:
– Pré‐fixados: incrementam e retornam o valor da
variável.
++k; --k;
– Pós‐fixados: retornam o valor da variável sem o
incremento e depois incrementam a variável.
k++; k--;
4
Incremento e Decremento
#include <stdio.h>
int main()
{
int x, y, z;

x = 10;
y = 10;

z = x++;
printf("x = %d z = %d\n", x,z);
z = ++y;
printf("y = %d z = %d\n", y,z);

system("PAUSE");
return 0;
} 5
Operadores Relacionais
• Os operadores relacionais do C realizam
comparações entre variáveis.
Símbolo Operador
> Maior do que
>= Maior ou igual a
< Menor do que
<= Menor ou igual a
== Igual a
!= Diferente de

Lembrem‐se que os operadores relacionais retornam verdadeiro (1) ou falso (0).

6
Operadores Lógicos

Símbolo Operador
&& AND (E)
|| OR (OU)
! NOT (NÃO)

Usando os operadores relacionais e lógicos podemos realizar uma grande gama de


testes.

7
Abreviação de Expressões

Expressão original Expressão equivalente


x = x+k; x += k;
x = x-k; x -= k;
x = x*k; x *= k;
x = x/k; x /= k;

8
Exemplo
#include <stdio.h>
int main()
{
float x = 7, k = 3;

x += k;
printf("x = %.3f\n",x);
x /= 2;
printf("x = %.3f\n",x);

system("PAUSE");
return 0;
}

9
Encadeando Expressões: o operador ,
• O operador , determina uma lista de expressões
que devem ser executadas seqüencialmente. O
valor retornado por uma expressão com o
operador , é sempre dado pela expressão mais à
direita.
– Exemplo:
x=(a=2,a+3);
• variável x receberá o valor 5!!

10
Modeladores (Cast)
• Um modelador é aplicado a uma expressão.
Ele força a mesma a ser de um tipo
especificado. Sua forma geral é:
(tipo) expressão

11
Exemplo
#include <stdio.h>
int main ()
{
int num = 10;
float f;
O que aconteceria se não
tivéssemos o float aqui?
f=(float)num/7;
printf ("f = %f\n",f);
system("PAUSE");
return 0;
}

12
Exemplo
#include <stdio.h>
int main ()
{
int num = 10;
float f;
Implemente o mesmo algoritmo
agora sem o float, como indicado.
f=num/7;
Fez diferença?
printf ("f = %f\n",f);
system("PAUSE");
return 0;
}

13
Funções Matemáticas
#include <math.h>

Função Parâmetro Resultado


sin(x) x:double seno de x dado em radianos
cos(x) x:double cosseno de x dado em radianos
tan(x) x:double tangente de x dada em radianos
asin(x) x:double arco seno com x [‐1,1]
acos(x) x:double arco cosseno com x [‐1,1]
atan(x) x:double arco tangente

14
Exemplo
• Implemente um programa que calcula o
ângulo formado entre o cateto adjacente e a
hipotenusa de um triângulo retângulo.

15
Funções Matemáticas
#include <math.h>

Função Parâmetro Resultado


exp(x) x:double exponencial de x: ex
log(x) x:double logaritmo natural: ln(x)
log10(x) x:double logaritmo na base 10
pow(x,y) x,y:double potenciação: xy
sqrt(x) x:double raiz quadrada:√x

16
Exemplo
• Implemente um programa que calcula o
logaritmo de base 10.

17
Funções Matemáticas
#include <math.h>

Função Parâmetro Resultado


ceil(x) x: double maior inteiro
floor(x) x: double menor inteiro
round(x) x: double aproxima para o inteiro mais próximo
fabs(x) x: double valor absoluto: |x|

18
Exemplo
#include <stdio.h>
#include <math.h>
int main()
{
float a = 7.451;
printf("ceil\(%.3f) = %.1f\n",a,ceil(a));
printf("floor\(%.3f) = %.1f\n",a,floor(a));
printf("round\(%.3f) = %.1f\n",a,round(a));
system("PAUSE");
return 0;
}

19
Exemplo
• Calcular os dois catetos de um triângulo
retângulo, dados um ângulo (alpha) em graus
e a hipotenusa.

20
Exemplo: Código em C
#include <stdio.h>
#include <math.h>
int main()
{
float ang, hip, co, ca, pi = 3.1416;

printf("Entre com o valor do angulo em graus: ");


scanf("%f",&ang);
printf("Entre com o valor da hipotenusa: ");
scanf("%f",&hip);
co = fabs(hip*sin(ang*pi/180));
ca = fabs(hip*cos(ang*pi/180));
printf("O cateto oposto e: %.2f\n",co);
printf("O cateto adjacente e: %.2f\n",ca);

system("PAUSE");
return 0;
}
21

Você também pode gostar