Operadores Lógicos E (&&), OU (||) e de Negação (!)

Vimos no artigo passado de nossa apostila de C, uma explicação sobre valores lógicos true ou false em computação.

Vamos agora entrar mais em detalhes e ver como é possível representar informações apenas com true ou false, 1 ou 0.
E bem como o artigo passado, usaremos apenas idéias e conceitos, nada de código por hora.

Operador lógico 'E' em linguagem C: &&

Vamos supor que você passou em um concurso, o cargo é para ser programador e trabalhar para o governo.
No edital você leu: é necessário ser brasileiro e ser maior de 18 anos.

Ou seja, você só pode fazer esse concurso se for brasileiro E TAMBÉM se tiver de 18 anos ou mais.
Se for brasileiro mas tiver menos de 18 anos, não pode.
Se tiver mais de 18 anos mas não for brasileiro, também não pode.

Ou seja: todas as condições devem ser obedecidas para termos um resultado positivo (que no caso é poder fazer o concurso).

Vamos agora trazer para o nosso mundo da programação em linguagem C.
Esse E, vamos representar por &&

Então, para fazer o concurso: (ser brasileiro) && (ter 18 anos ou mais)
Vamos supor que você é brasileiro. Vamos representar esse fato como '1', pois é verdade.
Vamos supor que você tem 18 anos, representaremos isso pelo valor lógico '1' também.

Então: 1 && 1 resulta em verdade, ou 1.

E se você for menor?
Nossa expressão fica: 1 && 0, que resulta em resultado negativo, ou 0. Então você não pode fazer o concurso.

Operador lógico 'OU' em linguagem C: ||

Vamos supor que você quer trabalhar em outro país, no Canadá por exemplo.
Para isso ser possível você deve ser canadense OU ser casado com uma canadense.

Se você for canadense, mas não for casado com uma, pode trabalhar? Sim, pode.
Se você não for canadense, mas for casado com uma canadense, pode trabalhar lá? Sim, pode.

Pode porque para isso ser possível (para ser verdade), é necessário ser canadense OU ser casado com uma.
Preenchendo apenas um dos requisitos, você está apto e o resultado é positivo.
E se você for canadense e casado com uma canadense? Ora, é óbvio que pode também.

Esse OU será representado em programação pelo símbolo: ||

Então: "1 || 0" resulta em valor lógico verdadeiro (true, ou 1)
"0 || 1" também, assim como "1 || 1" também vai resultar em valor lógico verdadeiro.

Assim, para expressões que possuem a condição OU (||), se uma das condições for verdadeira, toda a sentença será.
E para a expressão ser falsa, todas as condições devem ser falsas.

Bem óbvio, não?



Operador lógico de negação em linguagem C: !

Agora está bem claro pra você que as condições e expressões ou são verdadeiras (true ou 1) ou são falsas (false ou 0).

Quando queremos negar algo, colocamos o símbolo ! antes do que queremos negar.
Por exemplo, 1 + 1 é dois?
A resposta é sim, ou '1'. Ou '!0', pois o contrário de 0 é 1.

2 + 2 é três? Falso ou 0. Ou '!1', pois o contrário de 1 é 0


Assim como a lição passada, essa é bem simples, não?

4 comentários:

Johnathan Mendes Sodré disse...

Corrigir o seguinte trecho: "Vamos supor que você um concurso, para ser" por "Vamos supor que você passou em um concurso para ser"

Aliás, muito bom os seus tutoriais.

Guilherme Demoliner disse...

Cara, são muito bons os seus tutoriais, é muito facil de entender, parabéns!

Welingtton nogueira disse...

Cara Concerteza Você é o Tipo de professor que esatá em falta kkk.
Muito bom Seus Tutoriais parabens .

Raphael Kennedy disse...

Excelente!!

Gostou desse tutorial de C?
Sabia que o acervo do portal C Progressivo é o mesmo, ou maior que, de um livro ou curso presencial?
E o melhor: totalmente gratuito.

Mas para nosso projeto se manter é preciso divulgação.
Para isso, basta curtir nossa página no Facebook e/ou clicar no botão +1 do Google.
Contamos e precisamos de seu apoio.