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:
+= -= *= /= %=
Confeccionar un programa que permita cargar un vector de 5 elementos enteros. Calcular la suma y el producto de todos sus elementos.
#include<stdio.h> #include<conio.h> #define CANT 5 void cargar(int vec[CANT]) { int f; for(f=0;f<CANT;f++) { printf("Ingrese elemento:"); scanf("%i",&vec[f]); } } int retornarSuma(int vec[CANT]) { int suma=0; int f; for(f=0;f<CANT;f++) { suma+=vec[f]; } return suma; } int retornarProducto(int vec[CANT]) { int producto=1; int f; for(f=0;f<CANT;f++) { producto*=vec[f]; } return producto; } int main() { int vec[CANT]; cargar(vec); printf("La suma de sus componentes:%i\n", retornarSuma(vec)); printf("El producto de sus componentes:%i", retornarProducto(vec)); getch(); return 0; }
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: