Las reglas de precedencia de las expresiones del lenguaje C nos dicen el orden en que el computador evalúa una expresión cuando hay más de un operador. Para expresiones aritméticas se siguen, lógicamente, las reglas de precedencia aritmética. Es decir, primero se aplica el operador de cambio de signo (
-
) , a continuación se calculan multiplicaciones y divisiones, y por último sumas y restas. Cuando hay dos operadores con la misma precedencia, se calcula primero la operación que está a la izquierda. Veamos algunos ejemplos:IVA=PVP-PVP/1.16;
Tenemos una suma y una división. Siguiendo las reglas de precedencia aritmética, primero se calcula la división y después la suma. Si tenemos:
Z=-X+Z*2+N+Y/X-7;
El computador primero cambia de signo el valor de X. Después calcula la multiplicación (los operadores * y / tienen la misma precedencia, pero * está a la izquierda en esta expresión). Sigue con la división y por último hace las operaciones de suma y resta empezando por la izquierda de la expresión.
Se pueden utilizar paréntesis para cambiar la precedencia. Una expresión entre paréntesis tiene siguiente formato general:
(Expresión)
esto hace que el computador evalúe en primer lugar el contenido de los paréntesis. Los paréntesis se pueden anidar, esto es, se pueden colocar paréntesis dentro de expresiones entre paréntesis. En tal caso, se calcula en primer lugar el contenido de los paréntesis más internos. En
B=(K-Z*(n-1))*K;
El computador calcula primero la expresión
n-1
, sigue con el paréntesis más externo, y lo último que hace es multiplicar su contenido por K
. Cuando tenemos varios paréntesis al mismo nivel de anidamiento, se evalúan empezando la izquierda. El computador calcula la expresiónZ=-(X+Z)*(2+N)+Y/(X-7);
Evaluando primero el contenido de los paréntesis antes de hacer las operaciones que hay fuera de ellos.
Esto es un resumen de la prioridad de las operaciones aritméticas, de mayor prioridad a menor prioridad:
Aritmético | Comparación | Lógico |
---|---|---|
Negación (-) | Igualdad (=) | Not |
Exponenciación (^) | Desigualdad (<>) | And |
Multiplicación y división (*, /) | Menor que (<) | Or |
División de número entero (\) | Mayor que (>) | Xor |
Modelo aritmético (Mod) | Menor o igual que (<=) | Eqv |
Suma y resta (+, -) | Mayor o igual que (>=) | Imp |
Concatenación de cadenas (&) | Is | & |
No hay comentarios:
Publicar un comentario