Contenido del Curso
Fundamentos de C
Fundamentos de C
Multiplicación, División y Módulo
Operador de Multiplicación
El operador de multiplicación *
produce el producto de sus operandos. Por ejemplo, si estás tratando de determinar la cantidad de agua necesaria para llenar una piscina:
Main
#include <stdio.h> int main() { int height = 2; // in meters int width = 7; // in meters int length = 10; // in meters // A cubic meter contains one thousand liters int liters = (height * width * length) * 1000; printf("Size of pool: %d liters", liters); return 0; }
Operador de División
El operador de división /
divide el operando izquierdo por el derecho.
Supongamos que quieres calcular la velocidad de un coche:
Main
#include <stdio.h> int main() { int s = 200; // in meters double t = 3; // three hours double v = s / t; printf("Velocity = %f m/h", v); return 0; }
Usar variables double
asegura que nuestro resultado pueda ser un valor decimal, proporcionando una respuesta más precisa. Si solo trabajáramos con tipos enteros, el resultado también sería un entero:
Main
#include <stdio.h> int main() { int s = 200; // in meters int t = 3; // three hours // without `double v` variable printf("Velocity = %d m/h", s/t); return 0; }
Es importante notar que simplemente cambiar el especificador de formato no corregirá una división incorrecta de enteros:
Main
#include <stdio.h> int main() { int s = 200; // in meters int t = 3; // three hours printf("Velocity = %f m/h", s/t); // changed specifier return 0; }
Sin embargo, hay una manera de obtener una división correcta sin introducir otra variable:
Main
#include <stdio.h> int main() { int s = 200; // in meters double t = 3; // three hours printf("Velocity = %f m/h", s/t); // changed specificator return 0; }
Nota
Para que una división produzca un resultado decimal, al menos uno de los operandos debe ser de un tipo decimal como
double
.
Operador Módulo
El operador %
devuelve el resto de una división. Por ejemplo:
Main
#include <stdio.h> int main() { printf("Modulo 8 %% 5 = %d\n", 8 % 5); printf("Modulo 10 %% 3 = %d\n", 10 % 3); printf("Modulo 7 %% 5 = %d\n", 7 % 5); printf("Modulo 20 %% 5 = %d\n", 20 % 5); return 0; }
Nota
Si estás intentando mostrar el carácter
%
en una cadena (por ejemplo, en una instrucciónprintf
), deberías usar%%
para representar un solo%
. Esto le indica al compilador que deseas imprimir el carácter%
y no usarlo como un especificador de formato.
¡Gracias por tus comentarios!