Hemos discutido la Introducción a los Operadores en C donde obtuvimos una idea general de qué tipos de Operadores, C y C++ admiten y sus implementaciones básicas. Después de eso, estudiamos Operadores aritméticos donde obtuvimos una comprensión detallada de los tipos y usos de los operadores aritméticos en C y C++. En este artículo, intentemos comprender los tipos y usos de los operadores lógicos y relacionales .
Operadores
relacionales Los operadores relacionales se utilizan para la comparación de dos valores para comprender el tipo de relación que comparten un par de números. Por ejemplo, menor que, mayor que, igual a etc. Veámoslos uno por uno
- Operador igual a: representado como ‘==’ , el operador igual a comprueba si los dos operandos dados son iguales o no. Si es así, devuelve verdadero. De lo contrario devuelve falso. Por ejemplo, 5==5 devolverá verdadero.
- Operador no igual a: Representado como ‘!=’ , el operador no igual a comprueba si los dos operandos dados son iguales o no. Si no, devuelve verdadero. De lo contrario devuelve falso. Es el complemento booleano exacto del operador ‘==’ . Por ejemplo, 5!=5 devolverá falso.
- Operador mayor que: representado como ‘>’ , el operador mayor que verifica si el primer operando es mayor que el segundo operando o no. Si es así, devuelve verdadero. De lo contrario devuelve falso. Por ejemplo, 6>5 devolverá verdadero.
- Operador menor que: representado como ‘<‘ , el operador menor que verifica si el primer operando es menor que el segundo operando. Si es así, devuelve verdadero. De lo contrario devuelve falso. Por ejemplo, 6<5 devolverá falso.
- Operador mayor o igual que: representado como ‘>=’ , el operador mayor o igual que comprueba si el primer operando es mayor o igual que el segundo operando. Si es así, devuelve verdadero, de lo contrario, devuelve falso. Por ejemplo, 5>=5 devolverá verdadero.
- Operador menor o igual que: Representado como ‘<=’ , el operador menor o igual que verifica si el primer operando es menor o igual que el segundo operando. Si es así, devuelve verdadero o falso. Por ejemplo, 5<=5 también devolverá verdadero.
Ejemplos:
C
// C program to demonstrate working of relational operators #include <stdio.h> int main() { int a = 10, b = 4; // greater than example if (a > b) printf("a is greater than b\n"); else printf("a is less than or equal to b\n"); // greater than equal to if (a >= b) printf("a is greater than or equal to b\n"); else printf("a is lesser than b\n"); // less than example if (a < b) printf("a is less than b\n"); else printf("a is greater than or equal to b\n"); // lesser than equal to if (a <= b) printf("a is lesser than or equal to b\n"); else printf("a is greater than b\n"); // equal to if (a == b) printf("a is equal to b\n"); else printf("a and b are not equal\n"); // not equal to if (a != b) printf("a is not equal to b\n"); else printf("a is equal b\n"); return 0; }
C++
// C++ program to demonstrate working of logical operators #include <iostream> using namespace std; int main() { int a = 10, b = 4; // greater than example if (a > b) cout << "a is greater than b\n"; else cout << "a is less than or equal to b\n"; // greater than equal to if (a >= b) cout << "a is greater than or equal to b\n"; else cout << "a is lesser than b\n"; // less than example if (a < b) cout << "a is less than b\n"; else cout << "a is greater than or equal to b\n"; // lesser than equal to if (a <= b) cout << "a is lesser than or equal to b\n"; else cout << "a is greater than b\n"; // equal to if (a == b) cout << "a is equal to b\n"; else cout << "a and b are not equal\n"; // not equal to if (a != b) cout << "a is not equal to b\n"; else cout << "a is equal b\n"; return 0; }
a is greater than b a is greater than or equal to b a is greater than or equal to b a is greater than b a and b are not equal a is not equal to b
Operadores Lógicos:
Se utilizan para combinar dos o más condiciones/restricciones o para complementar la evaluación de la condición original bajo consideración. Se describen a continuación:
- Operador lógico AND: el operador ‘&&’ devuelve verdadero cuando se cumplen las dos condiciones consideradas. De lo contrario devuelve falso. Por ejemplo, a && b devuelve verdadero cuando tanto a como b son verdaderos (es decir, distintos de cero).
- Operador OR lógico: El ‘||’ El operador devuelve verdadero incluso si se cumple una (o ambas) de las condiciones consideradas. De lo contrario devuelve falso. Por ejemplo, un || b devuelve verdadero si uno de aob o ambos son verdaderos (es decir, distintos de cero). Por supuesto, devuelve verdadero cuando tanto a como b son verdaderos.
- Operador lógico NOT: El ‘!’ operador devuelve verdadero la condición en consideración no se cumple. De lo contrario devuelve falso. Por ejemplo, !a devuelve verdadero si a es falso, es decir, cuando a=0.
Ejemplos:
C
// C program to demonstrate working of logical operators #include <stdio.h> int main() { int a = 10, b = 4, c = 10, d = 20; // logical operators // logical AND example if (a > b && c == d) printf("a is greater than b AND c is equal to d\n"); else printf("AND condition not satisfied\n"); // logical OR example if (a > b || c == d) printf("a is greater than b OR c is equal to d\n"); else printf("Neither a is greater than b nor c is equal " " to d\n"); // logical NOT example if (!a) printf("a is zero\n"); else printf("a is not zero"); return 0; }
C++
// C++ program to demonstrate working of // logical operators #include <iostream> using namespace std; int main() { int a = 10, b = 4, c = 10, d = 20; // logical operators // logical AND example if (a > b && c == d) cout << "a is greater than b AND c is equal to d\n"; else cout << "AND condition not satisfied\n"; // logical OR example if (a > b || c == d) cout << "a is greater than b OR c is equal to d\n"; else cout << "Neither a is greater than b nor c is equal " " to d\n"; // logical NOT example if (!a) cout << "a is zero\n"; else cout << "a is not zero"; return 0; }
AND condition not satisfied a is greater than b OR c is equal to d a is not zero
Cortocircuito en operadores lógicos:
- En caso de AND lógico , el segundo operando no se evalúa si el primer operando es falso. Por ejemplo, el programa 1 a continuación no imprime «GeeksQuiz» ya que el primer operando del AND lógico en sí mismo es falso.
C
#include <stdbool.h> #include <stdio.h> int main() { int a = 10, b = 4; bool res = ((a == b) && printf("GeeksQuiz")); return 0; }
C++
#include <iostream> using namespace std; int main() { int a = 10, b = 4; bool res = ((a == b) && cout << "GeeksQuiz"); return 0; }
No Output
- Pero debajo del programa imprime «GeeksQuiz» como primer operando de AND lógico es verdadero.
C
#include <stdbool.h> #include <stdio.h> int main() { int a = 10, b = 4; bool res = ((a != b) && printf("GeeksQuiz")); return 0; }
C++
#include <iostream> using namespace std; int main() { int a = 10, b = 4; bool res = ((a != b) && cout << "GeeksQuiz"); return 0; }
GeeksQuiz
- En caso de OR lógico , el segundo operando no se evalúa si el primer operando es verdadero. Por ejemplo, el programa 1 a continuación no muestra «GeeksQuiz» ya que el primer operando del OR lógico en sí mismo es verdadero.
C
#include <stdbool.h> #include <stdio.h> int main() { int a = 10, b = 4; bool res = ((a != b) || printf("GeeksQuiz")); return 0; }
C++
#include <stdbool.h> #include <stdio.h> int main() { int a = 10, b = 4; bool res = ((a != b) || cout << "GeeksQuiz"); return 0; }
No Output
- Pero el programa a continuación imprime «GeeksQuiz» como primer operando de OR lógico es falso.
C
#include <stdbool.h> #include <stdio.h> int main() { int a = 10, b = 4; bool res = ((a == b) || printf("GeeksQuiz")); return 0; }
C++
#include <stdbool.h> #include <stdio.h> int main() { int a = 10, b = 4; bool res = ((a == b) || cout << "GeeksQuiz"); return 0; }
GeeksQuiz
Cuestionario sobre operadores en C
Este artículo es una contribución de Ayush Jaggi. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA