Operadores lógicos - Parte 2
Parte de la sección Fundamentals del Journey de C de Coddy — lección 22 de 63.
Los operadores lógicos tienen una tabla especial llamada "tabla de verdad" que muestra lo que devuelve la combinación de operadores lógicos.
Tabla de verdad para el operador and (&&):
| a | b | a && b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
La única forma de obtener un 1 (verdadero) para el operador and (&&) es si tanto a como b son 1 (verdadero)
Tabla de verdad para el operador or (||):
| a | b | a || b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
En este caso, para obtener un resultado 1 (true), ya sea a o b debe ser 1 (true).
Tabla de verdad para el operador not (!):
| a | !a |
|---|---|
| 0 | 1 |
| 1 | 0 |
Aquí, el valor de a se invierte. Si a es 0 (falso), entonces !a es 1 (verdadero)
Desafío
FácilDebes asignar valores enteros a las variables b1 y b2 para que b3 se evalúe como 1 (verdadero) en la expresión: int b3 = !((b1 + b2) > (b1 * b2));
Tómate un momento para analizar la condición y pensar qué valores la harían verdadera.
Hoja de referencia
Las tablas de verdad muestran los resultados de los operadores lógicos:
Operador AND (&&):
| a | b | a && b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Devuelve 1 (verdadero) solo cuando ambos operandos son 1 (verdadero).
Operador OR (||):
| a | b | a || b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Devuelve 1 (verdadero) cuando cualquiera de los operandos es 1 (verdadero).
Operador NOT (!):
| a | !a |
|---|---|
| 0 | 1 |
| 1 | 0 |
Invierte el valor: 0 (falso) se convierte en 1 (verdadero) y viceversa.
Pruébalo tú mismo
#include <stdio.h>
int main() {
// Escribe tu código debajo
int b1 = ?;
int b2 = ?;
int b3 = !((b1 + b2) > (b1 * b2));
// No cambies la línea de abajo
printf("b3 = %d\n", b3);
return 0;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
2Variables
Tipos de datosEnterosFloat - DoubleCaracteresBooleanosConstantesConceptos básicos de printfReglas para nombrar variablesConversión de tipos Parte 1Conversión de tipos Parte 2Desafío de repaso3Operadores
Operadores aritméticosOperador de móduloIncremento/DecrementoOperadores de asignaciónOperadores relacionalesOperadores lógicos - Parte 1Operadores lógicos - Parte 2Operadores lógicos - Parte 3Desafío de repaso