Operador OR lógico: ||

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

  
logical-or-expression   
||  
 logical-and-expression  
  

El operador OR lógico (||) devuelve el valor booleano true si uno o los dos operandos son true; en caso contrario, devuelve false. Los operandos se convierten implícitamente al tipo bool antes de evaluación, y el resultado es de tipo bool. El operador OR lógico tiene asociatividad de izquierda a derecha.

Los operandos del operador OR lógico no tienen por qué ser del mismo tipo, pero deben ser de tipo entero o puntero. Los operandos son normalmente expresiones relacionales o de igualdad.

El primer operando se evalúa en su totalidad y, antes de proseguir con la evaluación de la expresión OR lógica, se aplican todos los efectos secundarios.

El segundo operando se evalúa solo si el primero se evalúa como false (0). Esto elimina la evaluación innecesaria del segundo operando cuando la expresión OR lógica es true.

printf( "%d" , (x == w || x == y || x == z) );  

En el ejemplo anterior, si x es igual a w, y o z, el segundo argumento de la función printf se evalúa como true y se imprime el valor 1. De lo contrario, se evalúa como false y se imprime el valor 0. En cuanto una de las condiciones se evalúe como true, se interrumpe la evaluación.

El operador or es el equivalente de texto de ||. Hay dos maneras de acceder al operador or en los programas: incluir el archivo de encabezado iso646.h o compilar con la opción /Za del compilador (deshabilitar extensiones de lenguaje).

// expre_Logical_OR_Operator.cpp  
// compile with: /EHsc  
// Demonstrate logical OR  
#include <iostream>  
using namespace std;  
int main() {  
   int a = 5, b = 10, c = 15;  
   cout  << boolalpha  
         << "The true expression "  
         << "a < b || b > c yields "  
         << (a < b || b > c) << endl  
         << "The false expression "  
         << "a > b || b > c yields "  
         << (a > b || b > c) << endl;  
}  

Operadores lógicos
Operadores de C++
Operadores de C++, precedencia y asociatividad
Operadores lógicos de C

Mostrar: