3.7.4. Operadores lógicos

Los operadores lógicos and (&&) y or (||) producen true o false basándose en la relación lógica de sus argumentos. Recuerde que en C y C++, una condición es cierta si tiene un valor diferente de cero, y falsa si vale cero. Si se imprime un bool, por lo general verá un 1' para true y 0 para false.

Este ejemplo utiliza los operadores relacionales y lógicos:

//: C03:Boolean.cpp
// Relational and logical operators.
#include <iostream>
using namespace std;

int main() {
  int i,j;
  cout << "Enter an integer: ";
  cin >> i;
  cout << "Enter another integer: ";
  cin >> j;
  cout << "i > j is " << (i > j) << endl;
  cout << "i < j is " << (i < j) << endl;
  cout << "i >= j is " << (i >= j) << endl;
  cout << "i <= j is " << (i <= j) << endl;
  cout << "i == j is " << (i == j) << endl;
  cout << "i != j is " << (i != j) << endl;
  cout << "i && j is " << (i && j) << endl;
  cout << "i || j is " << (i || j) << endl;
  cout << " (i < 10) && (j < 10) is "
       << ((i < 10) && (j < 10))  << endl;
} ///:~

Listado 3.30. C03/Boolean.cpp


Se puede reemplazar la definición de int con float o double en el programa anterior. De todos modos, dese cuenta de que la comparación de un número en punto flotante con el valor cero es estricta; un número que es la fracción más pequeña diferente de otro número aún se considera «distinto de». Un número en punto flotante que es poca mayor que cero se considera verdadero.