CURSO DE C
Os operadores relacionais do C realizam comparações entre variáveis. São eles:
Operador > >= < <= == != |
Ação Maior do que Maior ou igual a Menor do que Menor ou igual a Igual a Diferente de |
Os operadores relacionais retornam verdadeiro (1) ou falso (0). Para fazer operações com valores lógicos (verdadeiro e falso) temos os operadores lógicos:
Operador && || ! |
Ação AND (E) OR (OU) NOT (NÃO) |
Usando os operadores relacionais e lógicos podemos realizar uma grande gama de testes. A tabela-verdade destes operadores é dada a seguir:
p falso falso verdadeiro verdadeiro |
q falso verdadeiro falso verdadeiro |
p AND q falso falso falso verdadeiro |
p OR q falso verdadeiro verdadeiro verdadeiro |
Exemplo: No trecho de programa abaixo o if será executado, pois o resultado da expressão lógica é verdadeiro:
int i = 5, j =7;
if ( (i > 3) && ( j <= 7) && ( i != j) ) j++;
V AND
V AND V = V
O C permite que se faça operações lógicas "bit-a- bit"
em números. Ou seja, neste caso, o número é representado por sua forma binária e as
operações são feitas em cada bit dele. Imagine um número inteiro de 16 bits, a
variável i, armazenando o valor 2. A representação binária de i, será:
0000000000000010 (quinze zeros e um único 1 na segunda posição da direita para a
esquerda). Poderemos fazer operações em cada um dos bits deste número. Por exemplo, se
fizermos a negação do número (operação binária NOT, ou operador binário ~ em C),
isto é, ~i, o número se transformará em 1111111111111101. As operações binárias
ajudam programadores que queiram trabalhar com o computador em "baixo nível".
As operações lógicas bit a bit só podem ser usadas nos tipos char, int e
long int. Os operadores são:
Operador | Ação |
---|---|
& | AND |
| | OR |
^ | XOR (OR exclusivo) |
~ | NOT |
>> | Deslocamento de bits a direita |
<< | Deslocamento de bits a esquerda |
Os operadores &, |, ^ e ~ são as operações lógicas bit a bit. A forma geral dos operadores de deslocamento é:
valor>>número_de_deslocamentos
valor<<número_de_deslocamentos
O número_de_deslocamentos indica o quanto cada bit irá ser deslocado. Por exemplo, para a variável i anterior, armazenando o número 2:
i << 3;
fará com que i agora tenha a representação binária: 0000000000010000, isto é, o valor armazenado em i passa a ser igual a 16.
AUTO AVALIAÇÃO
Veja como você está:
Diga se as seguintes expressões serão verdadeiras ou falsas:
-> ((10>5)||(5>10)) -> (!(5==6)&&(5!=6)&&((2>1)||(5<=4)))
Curso de C do CPDEE/UFMG - 1996 - 1999