Operatores en C++ con Ejemplo: Qué es, Tipos y Programas

¿Qué son Operatores?

Un operador es un símbolo que se utiliza para realizar operaciones con operandos. Un operador opera con operandos. Las operaciones pueden ser matemáticas o lógicas. Existen diferentes tipos de operadores en C++ para realizar diferentes operaciones.

Consideremos la siguiente operación:

a = x + y;

En la declaración anterior, x e y son los operandos mientras que + es un operador de suma. C++ El compilador encuentra la declaración anterior, agregará xey y almacenará el resultado en la variable a.

Tipos de Operatores en C++

Hay principalmente 6 tipos diferentes de operadores en C++

  1. Aritmética Operatoros
  2. Relacional Operatoros
  3. lógico Operatoros
  4. Bitwise Operatoros
  5. Asignación Operatoros
  6. Otros Operatoros

Aritmética Operatoros

Son los tipos de operadores que se utilizan para realizar operaciones matemáticas/aritméticas. Entre ellos se incluyen:

Operator DESCRIPCIÓN
+ operador de adición Se suma a los operandos.
– operador de resta Resta 2nd operando de 1st operando
* operador de multiplicación Multiplica 2 operandos.
/ operador de división. Divide numerador por denominador.
Operador de módulo % Devuelve el resto después de la división.
++ operador de incremento Aumenta un valor entero en 1.
— operador de decremento. Disminuye un valor entero en 1.

Por ejemplo:

#include <iostream>
using namespace std;
int main() {
	int a = 11;
	int b = 5;
	int c;

	cout << "a + b is :" << a+b << endl; //11+5

	cout << "a - b is :" << a-b << endl; //11-5

	cout << "a * b is :" << a*b << endl; //11*5

	cout << "a / b is :" << a/b << endl; //11/5

	cout << "a % b is :" << a%b << endl; //11%5

	cout << "a++ is :" << a++ << endl; //11++

	cout << "a-- is :" << a-- << endl; //12--

	return 0;
}

Salida:

Aritmética Operatoros

Aquí hay una captura de pantalla del código:

Aritmética Operatoros

Explicación del código:

  1. Incluyendo el archivo de encabezado iostream en nuestro código. Nos permitirá leer y escribir en la consola.
  2. Incluyendo el espacio de nombres estándar para usar sus clases y funciones sin llamarlo.
  3. Llamar a la función main() dentro de la cual se debe agregar la lógica del programa. El { marca el inicio del cuerpo de la función main().
  4. Declarar una variable entera a e inicializarla en 11.
  5. Declarar una variable entera b e inicializarla en 5.
  6. Declarar una variable entera c.
  7. Impresión del valor de la operación a+b junto con otro texto en la consola.
  8. Impresión del valor de la operación ab junto con otro texto en la consola.
  9. Imprimir el valor de la operación a*b junto con otro texto en la consola.
  10. Impresión del valor de la operación a/b junto con otro texto en la consola.
  11. Impresión del valor de la operación a%b junto con otro texto en la consola.
  12. Imprimir el valor de la operación a++ junto con otro texto en la consola.
  13. Impresión del valor de la operación a– junto con otro texto en la consola.
  14. La función main() debería devolver un valor si el programa funciona bien.
  15. Fin del cuerpo de la función main().

Relacional Operatoros

Estos tipos de operadores realizan comparaciones entre operandos. Por ejemplo, es posible que necesite saber qué operando es mayor que el otro o menor que el otro. Entre ellos se incluyen:

Operator DESCRIPCIÓN
== igual al operador. Comprueba la igualdad de dos valores de operandos.
!= no es igual al operador Comprueba la igualdad de dos valores de operandos.
> genial que el operador Comprueba si el valor del operando izquierdo es mayor que el valor del operando derecho.
< operador menor que. Comprueba si el valor del operando izquierdo es menor que el valor del operando derecho.
>= operador mayor o igual Comprueba si el valor del operando izquierdo es mayor o igual que el valor del operando derecho.
<= menor o igual que el operador. Comprueba si el valor del operando izquierdo es menor o igual al valor del operando derecho.

Por ejemplo:

#include <iostream>
using namespace std;

int main() {
	int a = 11;
	int b = 5;

	cout << "a=11, b=5" << endl;
	if (a == b) {
		cout << "a == b is true" << endl;
	}
	else {
		cout << " a == b is false" << endl;
	}

	if (a < b) {
		cout << "a < b is true" << endl;
	}
	else {
		cout << "a < b is false" << endl;
	}

	if (a > b) {
		cout << "a > b is true" << endl;
	}
	else {
		cout << "a > b is false" << endl;
	}

	return 0;
}

Salida:

Relacional Operatoros

Aquí hay una captura de pantalla del código:

Relacional Operatoros

Explicación del código:

  1. Incluyendo el archivo de encabezado iostream en nuestro código. Nos permitirá leer y escribir en la consola.
  2. Incluyendo el espacio de nombres estándar para usar sus clases y funciones sin llamarlo.
  3. Llamar a la función main() dentro de la cual se debe agregar la lógica del programa. El { marca el inicio del cuerpo de la función main().
  4. Declarar una variable entera a e inicializarla en 11.
  5. Declarar una variable entera b e inicializarla en 5.
  6. Imprimiendo un texto en la consola indicando los valores de las variables a y b.
  7. Realizar la operación aritmética a==b en una sentencia if para saber si es verdadera o falsa. El { marca el comienzo del cuerpo de la sentencia if.
  8. Texto a imprimir en la consola si la operación a==b es verdadera. El endl es un C++ palabra clave para la línea final. Empuja el cursor para comenzar a imprimir en la siguiente línea. El } marca el final del cuerpo de la declaración if.
  9. La parte else de la instrucción if anterior. Indica qué hacer si la operación a==b es falsa.
  10. Texto a imprimir en la consola si la operación a==b es falsa. El endl es un C++ palabra clave para la línea final. Empuja el cursor para comenzar a imprimir en la siguiente línea. El } marca el final del cuerpo de la declaración else.
  11. Realizando la operación aritmética, a
  12. Texto a imprimir en la consola si la operación es a C++ palabra clave para la línea final. Empuja el cursor para comenzar a imprimir en la siguiente línea. El } marca el final del cuerpo de la declaración if.
  13. La parte else de la sentencia if anterior. Indica qué hacer si la operación a
  14. Texto a imprimir en la consola si la operación es a C++ palabra clave para la línea final. Empuja el cursor para comenzar a imprimir en la siguiente línea. El } marca el final del cuerpo de la declaración else.
  15. Realizar la operación aritmética a>b en una sentencia if para saber si es verdadera o falsa. El signo { marca el comienzo del cuerpo de la sentencia if.
  16. Texto a imprimir en la consola si la operación a>b es verdadera. El endl es un C++ palabra clave para la línea final. Empuja el cursor para comenzar a imprimir en la siguiente línea. El } marca el final del cuerpo de la declaración if.
  17. La parte else de la instrucción if anterior. Indica qué hacer si la operación a>b es falsa.
  18. Texto a imprimir en la consola si la operación a>b es falsa. El endl es un C++ palabra clave para la línea final. Empuja el cursor para comenzar a imprimir en la siguiente línea. El } marca el final del cuerpo de la declaración else.
  19. La función main() debería devolver un valor si el programa funciona bien.
  20. Fin del cuerpo de la función main().

lógico Operatoros

La característica operadores logicos Combina dos o más restricciones o condiciones. Los operadores lógicos también complementan la evaluación de la condición original en cuestión. Entre ellos se incluyen:

Operator DESCRIPCIÓN
&& operador AND lógico. La condición es verdadera si ambos operandos no son cero.
|| operador lógico OR. La condición es verdadera si uno de los operandos es distinto de cero.
!operador lógico NO. Invierte el estado lógico del operando. Si el operando es verdadero, el operador ! lo convierte en falso.

Por ejemplo:

#include <iostream> 
using namespace std;
int main()
{
	int a = 5, b = 2, c = 6, d = 4;
	if (a == b && c > d)
		cout << "a equals to b AND c is greater than d\n";
	else
		cout << "AND operation returned false\n";

	if (a == b || c > d)
		cout << "a equals to b OR c is greater than d\n";
	else
		cout << "Neither a is equal to b nor c is greater than d\n";

	if (!b)
		cout << "b is zero\n";
	else
		cout << "b is not zero";

	return 0;
}

Salida:

lógico Operatoros

Aquí hay una captura de pantalla del código:

lógico Operatoros

Explicación del código:

  1. Incluyendo el archivo de encabezado iostream en nuestro código. Nos permitirá leer y escribir en la consola.
  2. Incluyendo el espacio de nombres estándar para usar sus clases y funciones sin llamarlo.
  3. Llamar a la función main() dentro de la cual se debe agregar la lógica del programa.
  4. El { marca el inicio del cuerpo de la función main().
  5. Declarando 4 variables enteras a, b, cyd y asignándoles valores diferentes.
  6. Utilizando el operador && (AND) dentro de la sentencia if. Une dos condiciones: el valor de a es igual al valor de b y el valor de a es mayor que el valor de b. La primera condición es falsa y la segunda es verdadera. False&&true es falso, por lo tanto, el resultado de if es falso.
  7. Texto para imprimir en la consola si la declaración if anterior es verdadera. Esto no se ejecutará.
  8. Parte que se ejecutará si la declaración if anterior es falsa.
  9. Texto que se imprimirá en la consola si la declaración if es falsa. Esto será ejecutado.
  10. Uso del operador || (OR) dentro de una sentencia if. Une dos condiciones: el valor de a es igual al valor de b y el valor de a es mayor que el valor de b. La primera condición es falsa, la segunda es verdadera. Falso||verdadero es Verdadero, por lo tanto, el resultado de if es verdadero.
  11. Texto para imprimir en la consola si la declaración if anterior es verdadera. Esto será ejecutado.
  12. Parte que se ejecutará si la declaración if anterior es falsa.
  13. Texto que se imprimirá en la consola si la declaración if es falsa. Esto no se ejecutará.
  14. Comprobando si el valor de la variable es 0.
  15. Texto para imprimir en la consola si la declaración if anterior es verdadera. Esto no se ejecutará.
  16. Parte que se ejecutará si la declaración if anterior es falsa.
  17. Texto que se imprimirá en la consola si la declaración if es falsa. Esto será ejecutado.
  18. La función main() debería devolver un valor si el programa funciona bien.
  19. Fin del cuerpo de la función main().

Bitwise Operatoros

Operadores bit a bit Realizar operaciones a nivel de bit sobre operandos. Primero, los operadores se convierten a nivel de bit y luego se realizan operaciones sobre los operandos. Cuando las operaciones aritméticas como la suma y la resta se realizan a nivel de bit, se pueden obtener resultados más rápido. Entre ellos se incluyen:

Operator DESCRIPCIÓN
& (AND bit a bit). Toma 2 números (operandos) y luego realiza una operación AND en cada bit de los dos números. Si ambos son 1, AND devuelve 1; de lo contrario, 0.
| (OR bit a bit) Toma 2 números (operandos) y luego realiza una operación OR en cada bit de los dos números. Devuelve 1 si uno de los bits es 1.
^ (el XOR bit a bit) Toma 2 números (operandos) y luego realiza una operación XOR en cada bit de 2 números. Devuelve 1 si ambos bits son diferentes.
<< (desplazamiento a la izquierda) Toma dos números y luego desplaza hacia la izquierda los bits del primer operando. El segundo operando determina la cantidad total de posiciones que se desplazarán.
>> (desplazamiento a la derecha) Toma dos números y luego desplaza a la derecha los bits del primer operando. El segundo operando determina la cantidad de posiciones que se deben desplazar.
~ (NO bit a bit). Toma el número y luego invierte todos sus bits.
#include <iostream>
using namespace std;

int main() {
	unsigned int p = 60;	  // 60 = 0011 1100  
	unsigned int q = 13;	  // 13 = 0000 1101
	int z = 0;

	z = p & q;
	cout << "p&q is : " << z << endl; // 12 = 0000 1100

	z = p | q;
	cout << "p|q is : " << z << endl; // 61 = 0011 1101

	z = p ^ q;
	cout << "p^q is : " << z << endl; // 49 = 0011 0001

	z = ~p;
	cout << "~p is : " << z << endl; // -61 = 1100 0011

	z = p << 2;
	cout << "p<<2 is: " << z << endl; // 240 = 1111 0000

	z = p >> 2;
	cout << "p>>2 is : " << z << endl; // 15 = 0000 1111

	return 0;
}

Salida:

Bitwise Operatoros

Aquí hay una captura de pantalla del código:

Bitwise Operatoros

Explicación del código:

  1. Incluyendo el archivo de encabezado iostream en nuestro código. Nos permitirá leer y escribir en la consola.
  2. Incluyendo el espacio de nombres estándar para usar sus clases y funciones sin llamarlo.
  3. Llamar a la función main() dentro de la cual se debe agregar la lógica del programa. El { marca el inicio del cuerpo de la función main().
  4. Declarar una variable entera sin signo p y asignarle un valor de 60, es decir, 0011 1100 en binario.
  5. Declarando una variable entera sin signo q y asignándole un valor de 13, es decir, 0000 1101 en binario.
  6. Declarar una variable entera z e inicializarla a 0.
  7. Realizar la operación bit a bit & (AND) en las variables p y q y almacenar el resultado en la variable z.
  8. Imprimir el resultado de la operación anterior en la consola junto con otro texto.
  9. Realizar la operación bit a bit | (OR) en las variables p y q y almacenar el resultado en la variable z.
  10. Imprimir el resultado de la operación anterior en la consola junto con otro texto.
  11. Realizar la operación bit a bit (XOR) en las variables p y q y almacenar el resultado en la variable z.
  12. Imprimir el resultado de la operación anterior en la consola junto con otro texto.
  13. Realizar la operación bit a bit ~ (NOT) en las variables p y q y almacenar el resultado en la variable z.
  14. Imprimir el resultado de la operación anterior en la consola junto con otro texto.
  15. Realizar la operación de desplazamiento a la izquierda en la variable p y almacenar el resultado en la variable z.
  16. Imprimir el resultado de la operación anterior en la consola junto con otro texto.
  17. Realizar la operación de desplazamiento a la derecha en la variable p y almacenar el resultado en la variable z.
  18. Imprimir el resultado de la operación anterior en la consola junto con otro texto.
  19. La función main() debería devolver un valor si el programa funciona bien.
  20. Fin del cuerpo de la función main().

Asignación Operatoros

Operadores de Asignación Asignar valores a las variables. El operando o variable se agrega al lado izquierdo del operador, mientras que el valor se agrega al lado derecho del operador. La variable y el valor deben pertenecer al mismo tipo de datos; de lo contrario, el operador no puede asignar valores a las variables. C++ El compilador generará un error.
Por ejemplo:

x = 5;

En el ejemplo anterior, x es la variable/operando, = es el operador de asignación mientras que 5 es el valor. Estos son los operadores de asignación más populares en C++:

Operator DESCRIPCIÓN
= (operador de asignación simple) Asigna el valor de la derecha a la variable de la izquierda.
+= (Agregar operador de asignación AND) Agrega el valor del operando derecho al operando izquierdo y luego asigna el resultado a la variable de la izquierda.
-= (Operador de asignación Y resta) Resta el valor del operando derecho del operando izquierdo y luego asigna el resultado a la variable de la izquierda.
*= (Operador de asignación de multiplicación AND) Multiplica el valor del operando izquierdo con el operando derecho y luego asigna el resultado a la variable de la izquierda.
/= (Operador de división y asignación) Divide el valor del operando izquierdo por el operando derecho y luego asigna el resultado a la variable de la izquierda.

Por ejemplo:

#include <iostream> 
using namespace std;
int main()
{
	int x = 5;
	cout << "Initial value of x is " << x << "\n";

	x += 5;
	cout << "x += 5 gives :" << x << "\n";

	x -= 5;
	cout << "x -= 5 gives : " << x << "\n";

	x *= 5;
	cout << "x *= 5 gives :" << x << "\n";

	x /= 5;
	cout << "x /= 5 gives : " << x << "\n";

	return 0;
}

Salida:

Asignación Operatoros

Aquí hay una captura de pantalla del código:

Asignación Operatoros

Explicación del código:

  1. Incluyendo el archivo de encabezado iostream en nuestro código. Nos permitirá leer y escribir en la consola.
  2. Incluyendo el espacio de nombres estándar para usar sus clases y funciones sin llamarlo.
  3. Llamar a la función main() dentro de la cual se debe agregar la lógica del programa.
  4. El { marca el inicio del cuerpo de la función main().
  5. Declarando una variable entera x y asignándole un valor de 5.
  6. Imprimir el valor de la variable x junto con otro texto en la consola. El \n es un carácter de nueva línea. Mueve el cursor a la siguiente línea al imprimir.
  7. Sumando 5 al valor de la variable x y asignando el resultado a la variable x.
  8. Imprimir el valor de la variable x en la consola junto con otro texto.
  9. Restar 5 del valor de x y asignar el resultado a la variable x.
  10. Imprimir el valor de la variable x en la consola junto con otro texto.
  11. Multiplicar el valor de la variable x por 5 y asignar el resultado a la variable x.
  12. Imprimir el valor de la variable x en la consola junto con otro texto.
  13. Dividir el valor de la variable x entre 5 y asignar el resultado a la variable x.
  14. Imprimir el valor de la variable x en la consola junto con otro texto.
  15. La función main() debería devolver un valor si el programa funciona bien.
  16. Fin del cuerpo de la función main().

Otros Operatoros

Otros Operatoros incluye operador sizeof, coma Operator, condicional Operator, y OperaPrioridad de los tors.
Analicemos otros operadores compatibles con C++:

operador sizeof

Este operador determina el tamaño de una variable. Utilice el operador sizeof para determinar el tamaño de un tipo de datos.

Por ejemplo:

#include <iostream> 
using namespace std;
int main() {
	cout<<"Size of int : "<< sizeof(int) << "\n";

	cout<<"Size of char : " << sizeof(char) << "\n";

	cout<<"Size of float : " << sizeof(float) << "\n";

	cout<<"Size of double : " << sizeof(double) << "\n";

	return 0;
}

Salida:

operador sizeof

Aquí hay una captura de pantalla del código:

operador sizeof

Explicación del código:

  1. Incluyendo el archivo de encabezado iostream en nuestro código. Nos permitirá leer y escribir en la consola.
  2. Incluyendo el espacio de nombres estándar para usar sus clases y funciones sin llamarlo.
  3. Llamar a la función main() dentro de la cual se debe agregar la lógica del programa. El { marca el inicio del cuerpo de la función main().
  4. Determinar el tamaño de un dato de tipo entero utilizando el operador sizeof e imprimirlo junto con otro texto en la consola.
  5. Determinar el tamaño del tipo de datos de carácter utilizando el operador sizeof e imprimirlo junto con otro texto en la consola.
  6. Determinar el tamaño de un dato de tipo flotante utilizando el operador sizeof e imprimirlo junto con otro texto en la consola.
  7. Determinar el tamaño de un dato de tipo flotante utilizando el operador sizeof e imprimirlo junto con otro texto en la consola.
  8. La función main() debería devolver un valor si el programa funciona bien.
  9. Fin del cuerpo de la función main().

Coma Operator

La característica operador de coma (,) activa la ejecución de una secuencia de operaciones. Expresa el primer operando y descarta el resultado. A continuación, evalúa el segundo operando y devuelve el valor y el tipo.

#include <iostream>
using namespace std;
int main() {
	int x, y;
	y = 100;
	x = (y++, y + 10, 99 + y);
	cout << x;
	return 0;
}

Salida:

Coma Operator

Aquí hay una captura de pantalla del código:

Coma Operator

Explicación del código:

  1. Incluyendo el archivo de encabezado iostream en nuestro código. Nos permitirá leer y escribir en la consola.
  2. Incluyendo el espacio de nombres estándar para usar sus clases y funciones sin llamarlo.
  3. Llamar a la función main() dentro de la cual se debe agregar la lógica del programa. El { marca el inicio del cuerpo de la función main().
  4. Declarar dos variables enteras x e y.
  5. Asignando a la variable y un valor de 100.
  6. Incrementar el valor de y y asignar el resultado a la variable x. Comienza con y en 100, luego lo incrementa a 101 (y++). Luego, se suma y a 10. Finalmente, y, todavía en 101, se suma a 99, lo que da 200. Ahora x es 200.
  7. Impresión del valor de la variable x en la consola.
  8. La función main() debería devolver un valor si el programa funciona bien.
  9. Fin del cuerpo de la función main().

Condicional Operator

Este operador evalúa una condición y actúa en función del resultado de la evaluación.

Sintaxis:

Condition ? Expression2 : Expression3;

parámetros:

  • La Condición es la condición que se va a evaluar.
  • Expresión1 es la expresión que se ejecutará si la condición es verdadera.
  • Expression3 es la expresión que se ejecutará si la condición es falsa.

Por ejemplo:

#include <iostream>
using namespace std;
int main() {
	int a = 1, b;
	b = (a < 10) ? 2 : 5;
	cout << "value of b: " << b << endl;
	return 0;
}

Salida:

Condicional Operator

Aquí hay una captura de pantalla del código:

Condicional Operator

Explicación del código:

  1. Incluyendo el archivo de encabezado iostream en nuestro código. Nos permitirá leer y escribir en la consola.
  2. Incluyendo el espacio de nombres estándar para usar sus clases y funciones sin llamarlo.
  3. Llamar a la función main() dentro de la cual se debe agregar la lógica del programa. El { marca el inicio del cuerpo de la función main().
  4. Declarando dos variables enteras a y B. A la variable a se le ha asignado el valor 1.
  5. Asignación de valor a la variable b. Si la variable a es menor que 10, a b se le asignará el valor 2, en caso contrario, a b se le asignará el valor 5.
  6. Imprimir el valor de la variable b en la consola junto con otro texto.
  7. La función main() debería devolver un valor si el programa funciona bien.
  8. Fin del cuerpo de la función main().

Operaprecedencia de tors

Una misma operación puede tener más de un operador. En ese caso, la precedencia de los operadores determina el que se evalúa primero.

La siguiente lista muestra la precedencia de los operadores en C++, con precedencia decreciente de izquierda a derecha:

(), [],*, /, %, +/-, >, == , !=, ^, |, &&, ||, ?:, =, +=, -=, *= , /=

Resumen

  • OperaLos tores son símbolos para realizar operaciones lógicas y aritméticas.
  • Los operadores aritméticos nos ayudan a realizar diversas operaciones aritméticas en operandos.
  • Los operadores relacionales nos ayudan a realizar diversas operaciones de comparación en operandos.
  • Los operadores lógicos nos ayudan a realizar diversas operaciones lógicas en operandos.
  • Operadores bit a bit Ayúdanos a realizar operaciones bit a bit en operandos.
  • Los operadores de asignación nos ayudan a realizar diversas operaciones aritméticas en operandos.
  • El operador sizeof devuelve el tamaño de una variable o tipo de datos.
  • El operador de coma ejecuta una secuencia de operaciones.
  • El operador condicional evalúa una condición y actúa en función del resultado.