OPERADORES DO C


  Principais operadores

OPERADOR DESCRIÇÃO
*   Multiplicação. Ex: 5*4 = 20
+   Soma. Ex: 5+4 = 9
-   Subtração. Ex: 5-4 = 1
/   Divisão. Ex: 2/4 = 0.5
=   Associação. Ex: a=4
<   Menor.
<=   Menor ou igual.
!=   Diferente.
==   Igual, em teste. Ex: if (a==5)
>   Maior.
>=   Maior ou igual.
&&   AND em teste. Ex: if ((a>4) && (b<5))
&   AND lógico. Ex: c = a & 4;
|   Ou lógico. Ex: c = a | 4;
%   Resto da divisão. 4 % 3 = 1
!   Not. if !(a<5) equivale a se a<5 for falso.
||   OU em teste. Ex: if ((a>4) || (b<5))
<<   Deslocamento à esquerda. a << b desloca a de b bits.
>>   Deslocamento à direita. a >> b desloca a de b bits.
^   Xor. Testa se duas entradas são diferentes. Ex: 1^0 = 1
++   "var++" substitui a expressão "var = var + 1".
  Ex: a++ equivale à a = a + 1.
--   "var++" substitui a expressão "var = var - 1".
  Ex: a-- equivale à a = a - 1.


  Operadores +=, -=, *=, e /=

  Os operadores +=, -=, *=, e /= permitem substituir as seguintes expressões:
int x;

main()
{
  x += 4;  // Substitui a expressão x = x + 4;
  x -= 2;  // Substitui a expressão x = x - 2;
  x *= 7;  // Substitui a expressão x = x * 7;
  x /= 3;  // Substitui a expressão x = x / 3;
}

  Exemplo:
#include <stdio.h>

int a=4, b=5, c=8, d=9;

main()
{
  a += 1;
  b -= 2;
  c *= 2;
  d /= 3;

  printf("a: %d\n", a);
  printf("b: %d\n", b);
  printf("c: %d\n", c);
  printf("d: %d\n", d);
}
  Saída:
  a: 5
  b: 3
  c: 16
  d: 3



  Operadores ++ e -- no C

  Os operadores ++ e -- servem para incrementar ou decrementar em uma unidade uma determinada variável.
  Eles substituem as seguintes expressões:
a++; // Substitui a expressão: a = a + 1;
a--; // Substitui a expressão: a = a - 1;

  Exemplo:
#include <stdio.h>

int a, b;

main()
{
  a=10;
  b=20;

  a++;
  b--;

  printf("O valor de a é: %d\n", a);
  printf("O valor de b é: %d\n", b);
}
  Saída:
  O valor de a é: 11
  O valor de b é: 19

  Os operadores ++ e -- realizam a operação de incremento e decremento toda vez que são executadas. Assim, um loop fará com que a variável sofra a modificação em cada iteração. Exemplo:
#include <stdio.h>

int i;

main()
{
  i=1;

  while (i <= 5)
    printf("O valor de a é: %d\n", i++);
}
  Saída:
  O valor de a é: 1
  O valor de a é: 2
  O valor de a é: 3
  O valor de a é: 4
  O valor de a é: 5

  É possível colocar esses operadores antes da variável. Dessa forma, vamos modificar o programa anterior e observar o resultado.
#include <stdio.h>

int i;

main()
{
  i=1;

  while (i <= 5)
    printf("O valor de a é: %d\n", ++i);
}
  Saída:
  O valor de a é: 2
  O valor de a é: 3
  O valor de a é: 4
  O valor de a é: 5
  O valor de a é: 6

  O resultado é diferente do programa anterior. Por quê isso ocorre ?


  A++ ou A--

  Os operadores ++ ou -- quando colocados depois da variável, realizam dois passos em um, da seguinte forma:
 Passo 1: Expressão = A 
 Passo 2: A=A+1 ou A=A-1
  Ou seja, primeiro ele lê o conteúdo da variável, depois incrementa/decrementa.

  Dessa forma, no exemplo anterior, a linha:
printf("O valor de a é: %d\n", i++);
  primeiro lê o valor de "i" e depois o incrementa.


  ++A ou --A

  Os operadores ++ ou -- quando colocados antes da variável, realizam dois passos em um, da seguinte forma:
 Passo 1: A=A+1 ou A=A-1
 Passo 2: Expressão = A
  Ou seja, primeiro ele incrementa/decrementa, depois lê o conteúdo da variável.

  Dessa forma, no exemplo anterior, a linha:
printf("O valor de a é: %d\n", ++i);
  primeiro incrementa e depois lê o valor de "i".


/MARMSX/CURSOS/C--