C – Operadores

Abordar os conceitos sobre os Operadores demonstrando o seu uso com exemplos para um melhor aprendizado.

Operadores

Os operadores indicam ao compilador a necessidade de se fazer manipulações matemáticas ou lógicas.

 

Operadores aritméticos

Os operadores aritméticos são usados para calcular expressões matemáticas. Sendo classificados em duas categorias: os binários ou unários. Os operadores unários atuam na inversão de valores. Veja a tabela abaixo.

Operador binário Descrição
=
Atribuição
+
Soma
Subtração
/
Divisão
%
Modulo (obtém o resto da divisão)

 

Operador unário Ação
Sinal negativo
+
Sinal positivo

Tabela – Operadores aritméticos

O operador de atribuição (=) já foi estudado no artigo “Linguagem C – Princípios básicos” para explicar como inicializar uma variável.

O exemplo abaixo imprime os resultado na tela das operações de soma, subtração, multiplicação, divisão e o modulo entre dois números dados. Ilustrando assim o uso dos operadores aritméticos.

Saída do programa:

69+24=93

69-24=45

69×24=1656.000

69/24=2.875

69 mod 24=21.000

 

Operadores de incremento e decremento

O operador de incremento (++) soma 1 ao seu operando enquanto que o de decremento (–) subtrai um. Eles podem ser pré-fixados ou pós-fixados conforme mostra a tabela abaixo:

Operador Instrução Pós-fixado Pré-fixado
++
var = var+1;
var = var++;
ou
var++;
var = ++var;
ou
++var;
var = var-1;
var = var–;
ou
var–;
var= –var;
ou
–var;

Tabela – Operadores de incremento e decremento

No caso das instruções mostradas acima não existe diferença, podemos aplicar tanto o pós-fixado quanto o pré-fixado. Mas quando esses operadores são usados em outras expressões necessita-se de cuidado, pois o uso incorreto pode ocasionar resultados inesperados. A diferença entre eles é que o pré-fixado incrementa a variável para depois executar a instrução e a pós-fixado executa a instrução para depois fazer o incremento da variável. Veja o exemplo abaixo:

Saída do programa:

var=6

var2=6

O programa acima incrementa a variável var e coloca o valor na var2 que no nosso caso será 6. Já o código abaixo coloca o valor da variável var na var2 que é 5 para depois incrementar a variável var.

 Saída do programa:

var=6

var2=5

 

Operadores aritméticos de atribuições

 São combinações de operadores que simplificam as instruções e que geralmente são usados por programadores experientes. Dessa forma uma instrução escrita da forma:

 Var= var operador + expressão

 Pode ser reduzida obedecendo à sintaxe:

 Var operador= expressão

 Veja alguns exemplos utilizando duas variáveis (var e expr) que devem ser declaradas em seus programas.

Instrução normal Instrução reduzida
var = var + expr; var+=expr;
Var=var – expr; Var-=expr;
Var=var/expr; Var/=expr;
Var=var*expr; Var*=expr;

Operadores relacionais

Esses operadores são responsáveis pelas comparações de expressões nos programas. A lista completa se encontra abaixo:

Operador Descrição
>
Maior
>=
Maior igual
<
Menor
<=
Menor igual
==
Igualdade
!=
Diferente

Tabela – Operadores relacionais

É importante distinguir (=) de (==). O primeiro atribui um valor e o segundo comprara expressões.

O próximo exemplo demonstra a analise de algumas expressões retornando 0 para falso e 1 para verdadeiro. Esses dados são todos impressos na tela (veja a saída do programa).

Saída do programa:

Valor 0 indica expressão falsa e 1 expressão verdadeira.

98==10 é 0

98!=10 é 1

98<=10 é 0

98>=10 é 1

98<10 é 0

98 >10 é 1

 

Operadores lógicos

Os operados lógicos servem para interligar mais de uma operação relacional. E assim como os relacionais retornam zero para falso e um para verdadeiro.

Operador
Descrição
&&
AND
||
OR
!
NOT (operador de negação)

Tabela – Operadores lógicos

Exemplo de utilização de operadores lógicos:

Saída do programa:

O número 76 esta entre 65 e 80

Nesse programa o operador lógico (&&) faz a ligação das operações relacionais (x>65) e (x<=80), verificando se o número dado (x) está entre essa faixa. A instrução if será estudada no próximo artigo.

 

Operadores bit a bit

 Como já sabemos a linguagem C é considerada de baixo nível, pois permite a manipulação de bits. Isto é feito através dos operadores bit a bit listados a seguir.

Operador
Descrição
&
AND
|
OR
^
XOR (OR exclusivo)
<<
Deslocamento para esquerda
>>
Deslocamento para direita

Tabela – operadores bit a bit

Embora a descrição na tabela seja parecida com as dos operadores Lógicos eles não devem ser confundidos. Os operadores bit a bit são muito usados em rotinas de modens e de impressoras.

 

Operador Cast

Tem como função forçar para que uma expressão seja de um determinado tipo. Sua sintaxe é:

(tipo de dado) expressão

O tipo de dado pode ser qualquer um dos definidos pelo padrão ANSI. Um exemplo da utilização deste operador pode ser visto no programa mostrado neste artigo para exemplificar o uso dos operadores aritméticos. Nesse programa o operador cast é usado para forçar a divisão de dois números inteiros ser do tipo float.

 

Operador Sizeof

 Este operador é usado em tempo de execução e tem como objetivo retornar o tamanho em bytes da variável.

 

 Saída do programa:

 A variavel x do tipo float tem o tamanho=4 bytes

A variavel y do tipo double tem o tamanho=8 bytes

A variavel z do tipo char tem o tamanho=1 bytes

Precedências

 Precedência é a prioridade com que os operadores são executados pelo compilador. Caso os operadores tenham o mesmo nível de precedência eles são analisados da esquerda para direita.

Prioridades dos operadores aritméticos
Alta Incremento(++), decremento (–)
Menos unitário (-)
Multiplicação(*), divisão(/), modulo(%)
Baixa Soma(+), subtração(-)

A precedência dos operadores pode ser mudada utilizando parentes. Para entender melhor veja o exemplo abaixo, onde as duas expressões são iguais, porém o uso de um parêntese fez mudar a precedência obtendo assim resultados diferentes.

 4/2*5+1=11

4/2*(5+1)=12

Fonte: http://www.juliobattisti.com.br/tutoriais/katiaduarte/cbasico002.asp

Deixe um comentário