Operadores Aritméticos

Operadores Aritméticos
Operador Descripción Ejemplo a=3, b=2 Resultado
+ suma a+b 5
- resta
negativo (unario)
a-b
-b
1
-2
* multiplicación a*b 6
/ división a/b 1
% resto a%b 1

Los operadores anteriores se pueden usar en todos los tipos numéricos con la excepción del módulo que sólo se puede emplear con int y char.

Operadores de incremento (++) y decremento (--)

Los operadores de incremento y decremento son unarios y realizan el incremento o decremento, respectivamente, de la variable a la que se le aplican. Además de la acción de modificar la variable devuelven el valor de la variable. El operador de incremento o decremento puede ir delante o detrás de la variable, teniendo diferente significado. Si el operador "++" se sitúa después de la variable se denomina "postincremento", haciendo que primero se tome el valor y después se incremente la variable. Si el operador "++" se sitúa antes de la variable se denomina "preincremento" y hace que primero se incremente la variable y después se tome el valor. La diferencia entre preincremento y postincremento se encuentra en el valor devuelto en la expresión, el efecto sobre la variable siempre es incrementarla.

El operador de decremento actúa de forma análoga al de incremento.

Ejemplo

El procedimiento modificaVector modifica los elementos de un vector de tal forma que su valor coincida con la posición que ocupan.

void modificaVector(int *v, int n){
   int k=0;
   for(i=0;i<n;i++) 
      v[i]=k++;  /* El valor original de k se asigna a v[i] y luego se incrementa k */
}

Otra versión del procedimiemto modificaVector se muestra a continuación.

void modificaVector(int *v, int n){
   int k=n;
   for(i=n-1;i>=0;i--) 
      v[i]=--k;  /* Primero se decrementa k y luego se asigna a v[i] */
}

Diferencia entre incrementar y sumar 1

Existe una diferencia importante entre incrementar y sumar 1, o sea, entre: i++ y i+1. Las dos son expresiones válidas pero con un significado muy distinto. Las dos devuelven un entero pero en el segundo caso el valor de i no varía y en el primero sí. En el primer caso, primero se toma el valor de i para devolverlo y después se incrementa la variable y, en el segundo, simplemente se devuelve el resultado de la expresión i+1. Es posible hacer las mismas analogías con la versión de preincremento y de decremento.

C99

Como operadores aritméticos sobre tipos complejos se pueden usar: suma "+", resta y negación "-", multiplicación "*" y división "/"