Italo Info


Operadores

Dificilmente, se produz um programa útil sem o uso de operadores. Por isso, a linguagem C dispõe de operadores lógicos, operadores aritméticos e operadores de comparação. Veja a seguir os alguns desses operadores:

Operadores Aritméticos

Conforme foi explicado em aula anterior, os operadores aritméticos estão mostrados abaixo:

Função Operador
Soma +
Subtração -
Multiplicação *
Divisão /
Resto de divisão %

Sejam dois números n1 e n2, então: n1 += n2 é o mesmo que n1 = n1 + n2 assim como com os operadores -=, *=, /= e %=. Veja a tabela abaixo:

Em cada linha, as atribuições são equivalentes
n1 = n1 + 1 n1 += 1 n1++ ++n1
n1 = n1 - 1 n1 -= 1 n1-- --n1
n1 = n1 + n2 n1 += n2
n1 = n1 - n2 n1 -= n2
n1 = n1 * n2 n1 *= n2
n1 = n1 / n2 n1 /= n2
n1 = n1 % n2 n1 %= n2

Veja o exemplo abaixo e preste atenção aos comentários:

#include <stdio.h> int main() { int a = 1; a += 1; // a recebe a mais 1 printf( "%d ", a ); // imprime 2 a--; // a recebe a menos 1 printf( "%d ", a ); // imprime 1 a *= -5; // a recebe a * (-5) printf( "%d ", a ); // imprime -5 a = a + 5; // a recebe a + 5 printf( "%d ", a ); // imprime 0 return 0; }

diferença entre i++ e ++i

O i++ se combinado com uma instrução, é executado após a execução da instrução. Já o ++i é executado antes da instrução. Veja o exemplo abaixo:

#include <stdio.h> int main() { int a = 1; printf( "%d ", ++a ); // incrementa a, depois, imprime 2 printf( "%d ", a++ ); // imprime 2 e, depois, incrementa a printf( "%d", a ); // imprime 3 return 0; }

Operadores de comparação

Entender os operadores de comparação é simples. Veja a tabela abaixo:

Função Operador
Igualdade ==
Diferença !=
Maior que >
Menor que <
Maior ou igual a >=
Menor ou igual a <=

Operadores lógicos

A tabela abaixo mostra os operadores lógicos e seu significado em português:

Descrição Operador
E &&
Ou ||
Negação !
Ou exclusivo ^

Para compreender melhor os operadores lógicos e os operadores de comparação, veja o exemplo abaixo:

#include <stdio.h> int main() { int a = 1; int b = 2; int c = 3; int d = 4; if ( a < b && a < c && a < d ) // Se a for menor que b, c e d printf( "\nA eh menor" ); if ( b > a || !(c > a) ) // Se b for maior que a ou c não for maior que a printf( "\nb eh maior que a ou c eh menor ou igual a \"a\"" ); return 0; }

No exemplo acima, é utilizado o comando if (que será visto mais adiante) para comparar o valor de variáveis inteiras. A execução da expressão lógica que está dentro do if acontece de modo análogo a expressões em português. Por exemplo:

(O menino comeu a maçã) e (O menino comeu a laranja)
(O menino foi estudar) ou (O menino foi brincar)
ou (O rapaz morreu) ou (O rapaz está vivo)

(2 é menor que 3) ou (2 é menor que 1)

O menino foi a festa

O menino não foi a festa
não (O menino foi a festa) = O menino não foi a festa