Datos, Operadores y Expresiones
4. Operadores
4.1. Operadores aritméticos
Los operadores aritméticos se utilizan para crear expresiones matemáticas.
Operadores aritméticos unitarios
Los operadores aritméticos unitarios que utiliza C++ son: '+', '-','++', '--'
Sintaxis:
+ <expresión>
- <expresión>
<variable> ++ /* post-incremento */
++ <variable> /* pre-incremento */
<variable>-- /* post-decremento */
-- <variable> /* pre-decremento */
Operadores '+' y '-‘
Los operadores aritméticos unitarios '+' y '-' asignan valores positivos o negativos a la expresión a la que se aplican.
Operadores '++' y '--'
Los otros dos operadores unitarios '++' y '--' son un tanto especiales, ya que sólo pueden trabajar sobre variables, pues implican una asignación.
El primero ('++') incrementa el valor del operando y el segundo ('--') lo decrementa, ambos en una unidad.
Existen dos modalidades, dependiendo de que se use el operador en la forma de prefijo o de sufijo.
En su forma de prefijo, el operador es aplicado antes de que se evalúe el resto de la expresión; en la forma de sufijo, se aplica después de que se evalúe el resto de la expresión.
Por ejemplo:
en las siguientes expresiones "a" vale 100 y "b" vale 10:
c = a + ++b;
En este primer ejemplo primero se aplica el pre-incremento, y b valdrá 11 a continuación se evalúa la expresión "a+b", que dará como resultado 111, y por último se asignará este valor a c, que valdrá 111.
Por ejemplo:
c = a + b++;
En este segundo ejemplo primero se avalúa la expresión "a+b", que dará como resultado 110, y se asignará este valor a c, que valdrá 110.
Finalmente se aplica en post-incremento, y b valdrá 11.
Los operadores unitarios sufijos (post-incremento y post-decremento) se evalúan después de que se han evaluado el resto de las expresiones.
En el primer ejemplo primero se evalúa ++b, después a+b y finalmente c=<resultado>.
En el segundo ejemplo, primero se evalúa a+b, después c = <resultado> y finalmente b++.
Es muy importante no pensar o resolver las expresiones C++ como ecuaciones matemáticas, NO SON EXPRESIONES MATEMÁTICAS.
No veas estas expresiones como ecuaciones, NO SON ECUACIONES.
La salida de correr este código sería:
Se pide al alumno analizar la salida para comprender el pre y pos incremento/decremento.
Operadores aritméticos binarios.
Los operadores binarios que utiliza el lenguaje C++ son: ' +', ' - ', ' * ', ' / ', ‘ % '
Sintaxis:
<expresión> + <expresión> /*Sintaxis de operador suma */
<expresión> - <expresión> /* Sintaxis de operador resta */
<expresión> * <expresión> /* Sintaxis de operador multiplicación */
<expresión> / <expresión> /* Sintaxis de operador división */
<expresión> % <expresión> /* Sintaxis de operador resto */
Evidentemente se trata de las conocidas operaciones aritméticas de suma, resta, multiplicación y división y los operadores se comportan como en cualquier lenguaje de computadoras.
Debemos tener en cuenta, por ejemplo, que el operador división ( / ) aplicado a un entero truncará (perderá) cualquier resto.
Por ejemplo:
La salida de este código será 3.
Se pide al alumno analizar y ver si puede anticipar las salidas de los siguientes códigos:
A) | B) | C) | D) |
Operador Módulo:
El operador módulo '%', devuelve el resto de la división entera del primer operando entre el segundo. Por esta razón no puede ser aplicado a operando en coma flotante (ya que al ser números de punto flotante no hay resto).
La salida de este código seria :1 ya que es el resto de dividir 10 sobre 3, sin tomar decimales.
Se pide al alumno analizar los códigos, y ver si puede anticipar y justificar la salida de los mismos.
A) | B) | C) |