Pesquisar no blog:

segunda-feira, 25 de março de 2013

Operadores lógicos - Linguagem C

Os operadores lógicos são de extrema importância para qualquer programador. Eles são muito utilizados em conjunto dos operadores relacionais, então, se você ainda não sabe como usa-los acesse: Operadores relacionais.
Operadores lógicos:
Operador
Leitura
&&
And (E)
||
Or (Ou)
!
Not (Não)


&&: o operador And (E) pode verificar diversas comparações feitas com os operadores relacionais. Ele retornará Verdadeiro (1) sempre que TODAS as comparações forem verdadeiras, se uma das expressões for falsa o valor retornado será Falso (0).
Ou seja:
Verdadeiro E Verdadeiro = Verdadeiro
Verdadeiro E Falso = Falso
Falso E Falso = Falso
Exemplos:
a) (5<=5)&&(2<4) = 1
Resolução a) (Verdadeiro)&&(Verdadeiro) = Verdadeiro

b) (2<4)&&(1>5) = 0
Resolução a) (Verdadeiro)&&(Falso) = Falso


c) (5<=5)&&(2<4)&&(2>4) = 0
Resolução a) (Verdadeiro)&&(Verdadeiro)&&(Falso) = Falso

||: o operador Or (Ou) pode verificar diversas comparações feitas com os operadores relacionais. Ele retornará Verdadeiro (1) se pelo menos uma das expressões for verdadeira e Falso (0) quando todas as expressões forem falsas.
Ou seja:
Verdadeiro Ou Verdadeiro = Verdadeiro
Verdadeiro Ou Falso = Verdadeiro
Falso Ou Falso = Falso
Exemplos:
a) (5<=5)||(2<4) = 1
Resolução a) (Verdadeiro)||(Verdadeiro) = Verdadeiro

b) (2<4)||(1>5) = 1
Resolução a) (Verdadeiro)||(Falso) = Verdadeiro

c) (3<3)||(2<4)||(2>4) = 0
Resolução a) (Falso)||(Verdadeiro)||(Falso) = Verdadeiro

d) (3<3)||(3<1)||(2>4) = 0
Resolução a) (Falso)||(Falso)||(Falso) = Falso

!: o operador Not (Não / Negação) inverte um valor Verdadeiro (1) para Falso (0) ou Falso (0) para Verdadeiro (1). Simples assim: Não verdadeiro é Falso e Não falso é Verdadeiro.
Exemplos:
a) !(5<=5) = 0
Resolução a) Observe que a expressão (5<=5) é verdadeira, mais o operador Not (!) fora da expressão está fazendo sua negação. Temos então: Não(Verdadeiro) = Falso.

b) !((3==2)&&(7>5)) = 1
Resolução b) 
Observe que neste caso usamos uma expressão com o operador And (&&) e fora dele fizemos a negação (!). Acompanhe nas duas linhas abaixo a resposta:
Não((Falso)&&(Verdadeiro))
Não(Falso) = Verdadeiro

Como você observou podemos usar vários operadores dentro da mesma expressão, e isso é muito comum.
Apesar de algumas expressões parecerem complicadas, elas podem facilitar muito seu código fonte.
Lembre-se de sempre fazer o uso dos parenteses para indicar as expressões que devem ser lidar primeiro.
Veja alguns exemplos de expressões com vários operadores lógicos e acompanhe suas resoluções para praticar:
a)((2==2)&&(9>0))||((6>=6)&&(!(0<=8)))
((Verdadeiro)E(Verdadeiro)) Ou ((Verdadeiro)E(Não(Verdadeiro)))
(Verdadeiro) Ou ((Verdadeiro)E(Falso))
(Verdadeiro) Ou (Falso) = Verdadeiro

b) !(((4==2)||(-9<1)||((2<2)&&(4<8)))&&(!((6==6)&&(2==2))))
Não(((Falso)Ou(Verdadeiro)Ou(Falso))) E (Não((Verdadeiro)E(Verdadeiro))))
Não((Verdadeiro) E (Não(Verdadeiro)))
Não((Verdadeiro) E (Falso)) = Verdadeiro

Veja também:

Nenhum comentário:

Postar um comentário