sábado, 6 de abril de 2013

Os operadores

A linguagem permite o uso de operadores lógicos e matemáticos. Acho mais fácil fazer uma tabelinha com eles:
+
Soma comum de dois termos
+=
Soma a própria variável com o que a gente quiser. Faz um incremento. Ex:
var += 5; equivale a var = var + 5;
-
Subtração comum de dois termos
-=
Subtrai a própria variável com o que a gente quiser. Faz um decremento. Ex:
var -= 5; equivale a var = var - 5;
/
Divisão comum de dois termos
/=
Divide a própria variável com o que a gente quiser. Ex:
var /= 5; equivale a var = var / 5;
*
Multiplicação comum de dois termos
*=
Multiplica a própria variável com o que a gente quiser. Ex:
var *= 5; equivale a var = var * 5;
%
Resto da divisão (ex: 21 % 5 vai ser igual a 1)
%=
Pega o resto da própria variável com o que a gente quiser. Ex:
var %= 5; equivale a var = var % 5;

++
Incrementa uma unidade.
Colocar antes ou depois da variável faz diferença. Temos a variávei i = 0. Num printf, por exemplo, se colocar ++i ele imprime 1. Se colocar i++ ele imprime 0 e depois de imprimir ele aumenta 1 unidade no i.
--
Decrementa uma unidade. Mesmo caso do ++ quanto a colocar antes ou depois da variável.
&&
Operador lógico AND (lembra de matemática discreta?)
||
Operador lógico OU (lembra de matemática discreta?)
!
Operador lógico NOT (lembra de matemática discreta?)

==
Compara se é igual. ISSO NÃO ATRIBUI VALOR À VARIÁVEL, ISSO COMPARA. Lembre sempre disso.
!=
Compara se é diferente.
<=
Compara se é maior ou igual
>=
Menor ou igual
<
Maior
>
Menor


? :
Esse é complicadinho. Ele já coloca uma condição e os comandos caso ela seja ou não seja respeitada. Por exemplo, com i = 0:
i > 0 ? i-- : i++;
Ele pergunta: i é maior que 0? Se sim tira uma unidade, se não coloca uma.

É sempre bom lembrar que em C é possível fazer várias operações, mas elas serão lidas da direita para a esquerda (respeitando as regras matemáticas, claro). Por exemplo:
int soma = 5 + 4 + 3 * 2;
Portanto, se você não quer que dê 15 é melhor rever a ordem, colocar parêntesis ou algo assim. Outro detalhe importante é que na matemática da escolinha, a prioridade de leitura era a seguinte: () primeiro, [] segundo, {} terceiro. NÃO PODE FAZER ISSO EM PROGRAMAÇÃO. É sempre parêntesis, porque colchetes delimitam vetores e chaves delimitam funções.

Um comentário:

  1. Cara muito bom! ta me ajudando muito a estudar! Sua linguagem é da forma que eu entendo e aprendo fácil! Valeu!

    ResponderExcluir