7. C++ || Operadores

Continuando con el bloque de operadores en C++, en esta entrada veremos:


  • Operadores relacionales en C++
  • Operadores lógicos en C++





Operadores relacionales


Los operadores relacionales sirven para comprobar la relación entre dos expresiones y se utiliza de la siguiente forma.

expresión1 operador relacional expresión2

Se utilizan normalmente en las sentencias de selección (if) o de iteración (while, for) para comprobar una condición. Estos operadores evalúan la igualdad, desigualdad o diferencia. Se debe destacar que el valor devuelto por estos operadores será 1 cuando sea verdadero (true) o 0 cuando sea falso (false). Los operadores relacionales se pueden aplicar a cualquier tipo de dato estándar en C++ char, int, float, double, etc.

s = 6 < 7;

La variable s tomará el valor de 1 dado que la expresión 6 < 7 es verdadera.

c = 1 > 10

Aquí la variable c toma el valor 0 porque evidentemente la expresión 1 > 10, no es cierta.

Los operadores relacionales en C++ son:

== Igual a
!= No igual a
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que


Algunos ejemplos.

salario >= 1000.00
edad < 18
dia == "lunes"
i <= n
conta > max
edad ¡= 60
tipo == 1
opción == 5
mes == "junio"

Operadores lógicos en C++


Todos los operadores vistos hasta ahora, han sido matemáticos, C++ también nos ofrece el uso de operadores lógicos. Al igual que los operadores relacionales, estos devuelven un valor 1 mientras la condición sea verdadera (true) o 0 si es falsa (false). Los operadores lógicos en C++ son tres, not (!=), and (&&) y or (||). Para este apartado debemos saber un poco de lógica, es decir, el operador not (!=) cambia el valor de la expresión, si es verdadera, lo vuelve falso y viceversa.

!( 7 > 3)

La expresión 7 > 3 es verdadera, pero debido al uso del operador not, esta devolverá un valor falso.

El operador and (&&) devolverá un valor verdadero si todas las expresiones son verdaderas, en caso contrario, nos dará un valor falso.

int x = 3;
int y = 7;
(x < 10) && (y > 4)

Esta expresión será verdadera, pero esta otra

(x < 10) && (y == 4)

No lo será porque aunque la expresión de la izquierda es cierta, la de la derecha no. Recuerda que todas las expresiones deben ser ciertas.

El operador not (||) devolverá un valor falso únicamente si todas las expresiones son falsas, en caso contrario, nos dará un valor verdadero

int x = 16;
int y = 0;
int z = 11;
char nombre[] = "Aprender a programar";

(nombre == “Lenguaje C”) || (y < z)

Esto no dará un valor de verdad 1, porque aunque nombre no es igual a Lenguaje C, la variable y sí es menor que z.

(nombre == “Lenguaje C”) || (y > x)

En este caso las cosas ya cambian y produce un valor falso 0 porque las dos expresiones son falsas.



Aquí dejaré una tabla de verdad de los tres operadores lógicos para que se puedan orientar.





1 comentario:

  1. hay una equivocacion en don dice el operador not ahi deberia decir or para que lo arreglen :)

    ResponderEliminar