5. Expresiones

5.1. Expresiones aritméticas

Una expresión aritmética es un conjunto de variables y/o constantes unidas o relacionadas por paréntesis y operadores aritméticos.
Son análogas a las fórmulas matemáticas. Las variables y constantes son numéricas (enteras o punto flotante) y las operaciones son aritméticas.

Por ejemplo:

    sueldo = sueldo_base + 0.15 * monto_ventas
e = a*b*b / 3 + (a*a + b) / (b + c)

Cuando se utilizan expresiones aritméticas se debe tener en cuenta que:

  • Si en una operación ambos operando son enteros, entonces el resultado de la operación es un entero.
  • Si en una operación uno o ambos operando son reales, entonces el    resultado de la operación es un real.
  • El operador “/” produce un cociente entero si los dos operando son enteros. Esto significa que se pierde la parte decimal si la división no es exacta.
  • El operador “/” produce un cociente float si uno o los dos operando son float.
Por ejemplo:
7 / 2 es igual a 3 y no 3.5 como lo es matemáticamente. Esto debido a que 7 y 2 son enteros y al dividir dos enteros se pierde la parte fraccionaria, no se redondea.
En cambio:
7.0 / 2 es igual a 3.5 ya que si uno o los dos operando son reales, entonces el resultado es real. En este caso 7.0 es real.

Reglas de Precedencia

Las expresiones que tienen dos o más operando requieren reglas matemáticas que permitan determinar el orden de las operaciones.
Las Reglas de Prioridad o Precedencia son las reglas matemáticas que permiten determinar el orden de las operaciones.
Son:
  • Las operaciones que están encerradas entre paréntesis se evalúan primero. Si aparecen varios paréntesis anidados, se evalúan primero los paréntesis interiores.
  • En caso de coincidir varios operadores de igual prioridad, el orden se determina de izquierda a derecha.
  • Las operaciones aritméticas dentro de una expresión suelen seguir el siguiente orden de prioridad:
Categoría
Operadores
Sufijos () [] -> . ++ --
Unarios + - ! ~ ++ -- (type)* & sizeof
Multiplicativos * / %
Aditivos + -
Desplazamiento << >>
Relacionales < <= > >=
Bit AND &
Bit XOR ^
Bit OR |
AND lógica &&
OR lógica ||
Condicional ?:
Asignación = += -= *= /= %=>>= <<= &= ^= |=
Coma ,