Operadores lógicos Parte 2
Parte da seção Fundamentos do Journey de C da Coddy. Lição 22 de 63.
Os operadores lógicos têm uma tabela especial chamada "Tabela verdade" que mostra o que a combinação de operadores lógicos retorna.
Tabela verdade para o operador and (&&):
| a | b | a && b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
A única maneira de obter um 1 (true) para o operador and (&&) é se ambos a e b forem 1 (true)
Tabela verdade para o operador or (||):
| a | b | a || b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Neste caso, para obter um resultado 1 (true), a ou b deve ser 1 (true).
Tabela verdade para o operador not (!):
| a | !a |
|---|---|
| 0 | 1 |
| 1 | 0 |
Aqui, o valor de a é invertido. Se a for 0 (falso), então !a será 1 (verdadeiro)
Desafio
FácilVocê precisa atribuir valores inteiros às variáveis b1 e b2 para que b3 seja avaliado como 1 (verdadeiro) na expressão: int b3 = !((b1 + b2) > (b1 * b2));
Reserve um momento para analisar a condição e pense em quais valores a tornariam verdadeira.
Experimente você mesmo
#include <stdio.h>
int main() {
// Digite seu código abaixo
int b1 = ?;
int b2 = ?;
int b3 = !((b1 + b2) > (b1 * b2));
// Não altere a linha abaixo
printf("b3 = %d\n", b3);
return 0;
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
2Variáveis
Tipos de dadosInteiroPonto flutuante - DoubleCaracteresBooleanosConstantesNoções básicas de printfRegras de nomenclatura de variáveisConversão de tipos - Parte 1Conversão de tipos - Parte 2Desafio de revisão3Operadores
Operadores aritméticosOperador móduloIncremento/DecrementoOperadores de atribuiçãoOperadores relacionaisOperadores lógicos Parte 1Operadores lógicos Parte 2Operadores lógicos Parte 3Desafio de revisãoPratique por conta própria: Compilador de C online