Multiplicación, División y Módulo
Operador de multiplicación
El operador de multiplicación * proporciona el producto de sus operandos. Por ejemplo, si se desea determinar la cantidad de agua necesaria para llenar una piscina:
Main.c
123456789101112131415#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.
Suponga que desea calcular la velocidad de un automóvil:
Main.c
1234567891011#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; }
El uso de variables double garantiza 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:
int + int => int
int + double => double
Main.c
1234567891011#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 entera incorrecta:
Main.c
12345678910#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, existe una manera de obtener una división correcta sin introducir otra variable:
Main.c
1234567891011#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; }
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.c
1234567891011#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; }
Si se intenta mostrar el carácter % en una cadena (por ejemplo, en una instrucción printf), se debe usar %% para representar un solo %. Esto indica al compilador que se desea imprimir el carácter % y no utilizarlo como especificador de formato.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you give an example of using the multiplication operator?
How does integer division differ from division with doubles?
Can you explain how the modulo operator works with a real-life example?
Awesome!
Completion rate improved to 2.63
Multiplicación, División y Módulo
Desliza para mostrar el menú
Operador de multiplicación
El operador de multiplicación * proporciona el producto de sus operandos. Por ejemplo, si se desea determinar la cantidad de agua necesaria para llenar una piscina:
Main.c
123456789101112131415#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.
Suponga que desea calcular la velocidad de un automóvil:
Main.c
1234567891011#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; }
El uso de variables double garantiza 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:
int + int => int
int + double => double
Main.c
1234567891011#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 entera incorrecta:
Main.c
12345678910#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, existe una manera de obtener una división correcta sin introducir otra variable:
Main.c
1234567891011#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; }
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.c
1234567891011#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; }
Si se intenta mostrar el carácter % en una cadena (por ejemplo, en una instrucción printf), se debe usar %% para representar un solo %. Esto indica al compilador que se desea imprimir el carácter % y no utilizarlo como especificador de formato.
¡Gracias por tus comentarios!