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)