¿Qué son los operadores?
Un operador es un símbolo que se utiliza para realizar operaciones en operandos. Un operador opera operandos. Las operaciones pueden ser matemáticas o lógicas. Hay diferentes tipos de operadores en C ++ para realizar diferentes operaciones.
Considere la siguiente operación:
a = x + y;
En la declaración anterior, xey son los operandos, mientras que + es un operador de suma. Cuando el compilador de C ++ encuentra la declaración anterior, agregará xey y almacenará el resultado en la variable a.
En este tutorial de C ++, aprenderá:
- ¿Qué son los operadores?
- Operadores aritméticos
- Operadores relacionales
- Operadores logicos
- Operadores bit a bit
- Operadores de Asignación
- Operador misceláneo
- tamaño del operador
- Operador de coma
- Operador condicional
- Precedencia de operadores
Operadores aritméticos
Son los tipos de operadores que se utilizan para realizar operaciones matemáticas / aritméticas. Incluyen:
Operador | Descripción |
+ operador de suma | Se suma a los operandos. |
- operador de resta | Resta 2 nd operando desde 1 st operando. |
* operador de multiplicación | Multiplica 2 operandos. |
/ operador de división. | Divide numerador por denominador. |
operador% 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:
#includeusing namespace std;int main() {int a = 11;int b = 5;int c;cout << "a + b is : << a+b << endl; //11+5cout << "a - b is : << a-b << endl; //11-5cout << "a * b is : << a*b << endl; //11*5cout << "a / b is : << a/b << endl; //11/5cout << "a % b is : << a%b << endl; //11%5cout << "a++ is : << a++ << endl; //11++cout << "a-- is : << a-- << endl; //12--return 0;}
Producción:
Aquí hay una captura de pantalla del código:
Explicación del código:
- Incluyendo el archivo de encabezado de iostream en nuestro código. Nos permitirá leer y escribir en la consola.
- Incluyendo el espacio de nombres std para usar sus clases y funciones sin llamarlo.
- Llamando 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 ().
- Declarar una variable entera ay inicializarla en 11.
- Declarar una variable entera by inicializarla en 5.
- Declarar una variable entera c.
- Imprimiendo el valor de la operación a + b junto con otro texto en la consola.
- Imprimiendo el valor de la operación ab junto con otro texto en la consola.
- Imprimiendo el valor de la operación a * b junto con otro texto en la consola.
- Imprimiendo el valor de la operación a / b junto con otro texto en la consola.
- Imprimiendo el valor de la operación a% b junto con otro texto en la consola.
- Imprimiendo el valor de la operación a ++ junto con otro texto en la consola.
- Imprimiendo el valor de la operación a-- junto con otro texto en la consola.
- La función main () debería devolver un valor si el programa funciona bien.
- Fin del cuerpo de la función main ().
Operadores relacionales
Estos tipos de operadores realizan comparaciones de operandos. Por ejemplo, es posible que necesite saber qué operando es mayor que el otro o menor que el otro. Incluyen:
Descripción
Operador | Descripción |
== igual al operador. | Comprueba la igualdad de dos valores de operando. |
! = no es igual al operador | Comprueba la igualdad de dos valores de operando. |
> grande que el operador | Comprueba si el valor del operando izquierdo es mayor que el valor del operando derecho. |
Comprueba si el valor del operando izquierdo es menor que el valor del operando derecho. |
|
> = operador mayor o igual que | Comprueba si el valor del operando izquierdo es mayor o igual que el valor del operando derecho. |
<= operador menor o igual que. | Comprueba si el valor del operando izquierdo es menor o igual que el valor del operando derecho. |
Por ejemplo:
#includeusing 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;}
Producción:
Aquí hay una captura de pantalla del código:
Explicación del código:
- Incluyendo el archivo de encabezado de iostream en nuestro código. Nos permitirá leer y escribir en la consola.
- Incluyendo el espacio de nombres std para usar sus clases y funciones sin llamarlo.
- Llamando 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 ().
- Declarar una variable entera ay inicializarla en 11.
- Declarar una variable entera by inicializarla en 5.
- Imprimiendo algún texto en la consola indicando los valores de las variables ay b.
- Realizando la operación aritmética, a == b en una declaración de toma de decisiones if para saber si es verdadera o falsa. El {marca el comienzo del cuerpo de la instrucción if.
- Texto para imprimir en la consola si la operación a == b es verdadera. El endl es una palabra clave de C ++ para la línea final. Presiona el cursor para comenzar a imprimir en la siguiente línea. } Marca el final del cuerpo de la instrucción if.
- La otra parte de la declaración if anterior. Indica qué hacer si la operación a == b es falsa.
- Texto a imprimir en la consola si la operación a == b es falsa. El endl es una palabra clave de C ++ para la línea final. Presiona el cursor para comenzar a imprimir en la siguiente línea. } Marca el final del cuerpo de la instrucción else.
- Realizando la operación aritmética, a
- Texto para imprimir en la consola si la operación a
- La otra parte de la declaración if anterior. Indica qué hacer si la operación a
- Texto a imprimir en la consola si la operación a
- Realización de la operación aritmética a> b en un enunciado de toma de decisiones if para saber si es verdadero o falso. El {marca el comienzo del cuerpo de la instrucción if.
- Texto para imprimir en la consola si la operación a> b es verdadera. El endl es una palabra clave de C ++ para la línea final. Presiona el cursor para comenzar a imprimir en la siguiente línea. } Marca el final del cuerpo de la instrucción if.
- La otra parte de la declaración if anterior. Indica qué hacer si la operación a> b es falsa.
- Texto a imprimir en la consola si la operación a> b es falsa. El endl es una palabra clave de C ++ para la línea final. Presiona el cursor para comenzar a imprimir en la siguiente línea. } Marca el final del cuerpo de la instrucción else.
- La función main () debería devolver un valor si el programa funciona bien.
- Fin del cuerpo de la función main ().
- Texto para imprimir en la consola si la operación a
Operadores logicos
Los operadores lógicos combinan dos / más restricciones / condiciones. Los operadores lógicos también complementan la evaluación de la condición original bajo consideración. Incluyen:
Operador | Descripción |
&& operador lógico AND. | 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 NOT. | Invierte el estado lógico del operando. Si el operando es verdadero, el! el operador lo hace falso. |
Por ejemplo:
#includeusing 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";elsecout << "AND operation returned false\n";if (a == b || c> d)cout << "a equals to b OR c is greater than d\n";elsecout << "Neither a is equal to b nor c is greater than d\n";if (!b)cout << "b is zero\n";elsecout << "b is not zero";return 0;}
Producción:
Aquí hay una captura de pantalla del código:
Explicación del código:
- Incluyendo el archivo de encabezado de iostream en nuestro código. Nos permitirá leer y escribir en la consola.
- Incluyendo el espacio de nombres std para usar sus clases y funciones sin llamarlo.
- Llamando 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 ().
- Declarar 4 variables enteras a, b, cyd y asignarles valores diferentes.
- Usando el operador && (AND) dentro de la instrucción 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 condición es verdadera. False && true es False, por lo tanto, el resultado de if es falso.
- Texto para imprimir en la consola si la declaración if anterior es verdadera. Esto no se ejecutará.
- Parte que se ejecutará si la declaración if anterior es falsa.
- Texto para imprimir en la consola si la declaración if es falsa. Esto se ejecutará.
- Usando el || (O) operador dentro de una declaración 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 condición es verdadera. Falso || verdadero es Verdadero, por lo tanto, el resultado de si es verdadero.
- Texto para imprimir en la consola si la declaración if anterior es verdadera. Esto se ejecutará.
- Parte que se ejecutará si la declaración if anterior es falsa.
- Texto para imprimir en la consola si la declaración if es falsa. Esto no se ejecutará.
- Comprobando si el valor de la variable es 0.
- Texto para imprimir en la consola si la declaración if anterior es verdadera. Esto no se ejecutará.
- Parte que se ejecutará si la declaración if anterior es falsa.
- Texto para imprimir en la consola si la declaración if es falsa. Esto se ejecutará.
- La función main () debería devolver un valor si el programa funciona bien.
- Fin del cuerpo de la función main ().
Operadores bit a bit
Los operadores bit a bit realizan operaciones a nivel de bit en operandos. Primero, los operadores se convierten a nivel de bits y luego se realizan operaciones en los operandos. Cuando las operaciones aritméticas como la suma y la resta se realizan a nivel de bits, los resultados se pueden lograr más rápido. Incluyen:
Operador | Descripción |
& (AND bit a bit). | Toma 2 números (operandos) y luego realiza Y en cada bit de dos números. Si ambos son 1, Y devuelve 1; de lo contrario, 0. |
| (OR bit a bit) | Toma 2 números (operandos) y luego realiza OR en cada bit de 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 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 a la izquierda los bits del primer operando. El segundo operando determina los lugares totales para cambiar. |
>> (desplazamiento a la derecha) | Toma dos números y luego desplaza a la derecha los bits del primer operando. El segundo operando determina el número de lugares para cambiar. |
~ (NO bit a bit). | Toma número y luego invierte todos sus bits. |
#includeusing namespace std;int main() {unsigned int p = 60; // 60 = 0011 1100unsigned int q = 13; // 13 = 0000 1101int z = 0;z = p & q;cout << "p&q is : " << z << endl; // 12 = 0000 1100z = p | q;cout << "p|q is : " << z << endl; // 61 = 0011 1101z = p q;cout << "p^q is : " << z << endl; // 49 = 0011 0001z = ~p;cout << "~p is : " << z << endl; // -61 = 1100 0011z = p << 2;cout << "p<<2 is: " << z << endl; // 240 = 1111 0000z = p>> 2;cout << "p>>2 is : " << z << endl; // 15 = 0000 1111return 0;}
Producción:
Aquí hay una captura de pantalla del código:
Explicación del código:
- Incluyendo el archivo de encabezado de iostream en nuestro código. Nos permitirá leer y escribir en la consola.
- Incluyendo el espacio de nombres std para usar sus clases y funciones sin llamarlo.
- Llamando 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 ().
- Declarar una variable entera sin signo py asignarle un valor de 60, que es, 0011 1100 en binario.
- Declarar una variable entera sin signo q y asignarle un valor de 13, que es, 0000 1101 en binario.
- Declarar una variable entera z e inicializarla en 0.
- Realizando la operación & (AND) bit a bit en las variables pyq y almacenando el resultado en la variable z.
- Imprimir el resultado de la operación anterior en la consola junto con otro texto.
- Realización del bit a bit | (OR) operación sobre las variables pyq y almacenando el resultado en la variable z.
- Imprimir el resultado de la operación anterior en la consola junto con otro texto.
- Realizando la operación (XOR) bit a bit en las variables pyq y almacenando el resultado en la variable z.
- Imprimir el resultado de la operación anterior en la consola junto con otro texto.
- Realizando la operación ~ (NOT) bit a bit en las variables pyq y almacenando el resultado en la variable z.
- Imprimir el resultado de la operación anterior en la consola junto con otro texto.
- Realizando la operación de desplazamiento a la izquierda en la variable py almacenando el resultado en la variable z.
- Imprimir el resultado de la operación anterior en la consola junto con otro texto.
- Realizando la operación de cambio a la derecha en la variable py almacenando el resultado en la variable z.
- Imprimir el resultado de la operación anterior en la consola junto con otro texto.
- La función main () debería devolver un valor si el programa funciona bien.
- Fin del cuerpo de la función main ().
Operadores de Asignación
Los operadores de asignación asignan valores a las variables. El operando / 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 compilador de C ++ 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 ++:
Operador | Descripción |
= (operador de asignación simple) | Asigna valor de la derecha a la variable de la izquierda. |
+ = (Agregar operador de asignación AND) | Primero agrega el valor del operando izquierdo al valor del operando derecho y luego asigna el resultado a la variable de la izquierda. |
- = (Restar operador de asignación AND) | Primero resta el valor del operando derecho del valor del operando izquierdo y luego asigna el resultado a la variable de la izquierda. |
* = (Operador de asignación Multiplicar Y) | Primero multiplica el valor del operando izquierdo con el valor del operando derecho y luego asigna el resultado a la variable de la izquierda. |
/ = (Operador de división Y asignación) | Primero divide el valor del operando izquierdo por el valor del operando derecho y luego asigna el resultado a la variable de la izquierda. |
Por ejemplo:
#includeusing 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;}
Producción:
Aquí hay una captura de pantalla del código:
Explicación del código:
- Incluyendo el archivo de encabezado de iostream en nuestro código. Nos permitirá leer y escribir en la consola.
- Incluyendo el espacio de nombres std para usar sus clases y funciones sin llamarlo.
- Llamando 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 ().
- Declarar una variable entera x y asignarle un valor de 5.
- Imprimiendo el valor de la variable x junto con otro texto en la consola. \ N es un carácter de nueva línea. Mueve el cursor a la siguiente línea al imprimir.
- Sumando 5 al valor de la variable x y asignando el resultado a la variable x.
- Imprimiendo el valor de la variable x en la consola junto con otro texto.
- Restar 5 del valor de x y asignar el resultado a la variable x.
- Imprimiendo el valor de la variable x en la consola junto con otro texto.
- Multiplicar el valor de la variable x por 5 y asignar el resultado a la variable x.
- Imprimiendo el valor de la variable x en la consola junto con otro texto.
- Dividir el valor de la variable x entre 5 y asignar el resultado a la variable x.
- Imprimiendo el valor de la variable x en la consola junto con otro texto.
- La función main () debería devolver un valor si el programa funciona bien.
- Fin del cuerpo de la función main ().
Operador misceláneo
Analicemos otros operadores compatibles con C ++:
tamaño del operador
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:
#includeusing 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;}
Producción:
Aquí hay una captura de pantalla del código:
Explicación del código:
- Incluyendo el archivo de encabezado de iostream en nuestro código. Nos permitirá leer y escribir en la consola.
- Incluyendo el espacio de nombres std para usar sus clases y funciones sin llamarlo.
- Llamando 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 ().
- Determinar el tamaño del tipo de datos entero utilizando sizeof operator e imprimirlo junto con otro texto en la consola.
- Determinar el tamaño del tipo de datos de caracteres utilizando sizeof operator e imprimirlo junto con otro texto en la consola.
- Determinar el tamaño del tipo de datos flotantes utilizando sizeof operator e imprimirlo junto con otro texto en la consola.
- Determinar el tamaño del tipo de datos flotantes utilizando sizeof operator e imprimirlo junto con otro texto en la consola.
- La función main () debería devolver un valor si el programa funciona bien.
- Fin del cuerpo de la función main ().
Operador de coma
El operador de coma (,) desencadena 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.
#includeusing namespace std;int main() {int x, y;y = 100;x = (y++, y + 10, 99 + y);cout << x;return 0;}
Producción:
Aquí hay una captura de pantalla del código:
Explicación del código:
- Incluyendo el archivo de encabezado de iostream en nuestro código. Nos permitirá leer y escribir en la consola.
- Incluyendo el espacio de nombres std para usar sus clases y funciones sin llamarlo.
- Llamando 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 ().
- Declarar dos variables enteras x e y.
- Asignando a la variable un valor de 100.
- 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, y se suma a 10. Finalmente, y, todavía en 101, se agrega a 99, dando 200. x es ahora 200.
- Imprimiendo el valor de la variable x en la consola.
- La función main () debería devolver un valor si el programa funciona bien.
- Fin del cuerpo de la función main ().
Operador condicional
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.
- Expression1 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:
#includeusing namespace std;int main() {int a = 1, b;b = (a < 10) ? 2 : 5;cout << "value of b: " << b << endl;return 0;}
Producción:
Aquí hay una captura de pantalla del código:
Explicación del código:
- Incluyendo el archivo de encabezado de iostream en nuestro código. Nos permitirá leer y escribir en la consola.
- Incluyendo el espacio de nombres std para usar sus clases y funciones sin llamarlo.
- Llamando 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 ().
- Declarar dos variables enteras ay b. A la variable a se le ha asignado un valor de 1.
- Asignar valor a la variable b. Si la variable a es menor que 10, a b se le asignará el valor 2; de lo contrario, a b se le asignará un valor de 5.
- Imprimiendo el valor de la variable b en la consola junto con otro texto.
- La función main () debería devolver un valor si el programa funciona bien.
- Fin del cuerpo de la función main ().
Precedencia de operadores
Una sola operación puede tener más de un operador. En ese caso, la precedencia del operador determina el que se evalúa primero.
La siguiente lista muestra la precedencia de los operadores en C ++, con una precedencia decreciente de izquierda a derecha:
(), [], *, /,%, +/-, <<, >>, ==,! =, ^, |, &&, ||,?:, =, + =, - =, 8 = , / =
Resumen:
- Los operadores son símbolos para realizar operaciones lógicas y aritméticas.
- Los operadores aritméticos nos ayudan a realizar varias operaciones aritméticas en operandos.
- Los operadores relacionales nos ayudan a realizar varias operaciones de comparación en operandos.
- Los operadores lógicos nos ayudan a realizar varias operaciones lógicas en operandos.
- Los operadores bit a bit nos ayudan a realizar operaciones bit a bit en operandos.
- Los operadores de asignación nos ayudan a realizar varias 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.