Hemos visto hasta ahora que en el lenguaje C el operador de asignación =
En C existe un grupo de operadores de asignación que pueden remplazar a expresiones que hemos utilizado hasta ahora, por ejemplo si tenemos la siguiente expresión de acumulación:
suma=suma+valor;
Esto mismo es común en el lenguaje C escribirlo con la sintaxis:
suma+=valor;
El operador de asignación += suma a la variable indicada a la izquierda la expresión indicada a la derecha del operador +=.
Es obligatorio que los dos caracteres += estén sin espacios en blanco entre ellos.
Los operadores de asignación más comunes son:
+=
-=
*=
/=
%=
Problema 1:
Confeccionar un programa que permita cargar un vector de 5 elementos enteros. Calcular la suma y el producto de todos sus elementos.
Programa: programa187.c
Para sumar todas sus componentes iniciamos un acumulador suma en 0 y dentro de un for sumamos sus componentes una a una:
int retornarSuma(int vec[CANT])
{
int suma=0;
int f;
for(f=0;f<CANT;f++)
{
suma+=vec[f];
}
return suma;
}
Para obtener el producto de todas sus componentes inicializamos una variable en 1 (no puede ser 0 sino el producto por 0 siempre da 0) y luego dentro de un for multiplicamos cada elemento con el operador *=
int retornarProducto(int vec[CANT])
{
int producto=1;
int f;
for(f=0;f<CANT;f++)
{
producto*=vec[f];
}
return producto;
}
Recordar que la expresión:
producto*=vec[f];
Es lo mismo que escribir:
producto=producto*vec[f];
Para ver que se utiliza mucho esta sintaxis de asignación mostramos una de las tantas función del código fuente del sistema operativo Linux:
No hay comentarios:
Publicar un comentario