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.c
12345678910111213141516#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.c
123456789101112#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 trabajamos con tipos enteros, el resultado también sería un entero:
int + int => int
int + double => double
Main.c
123456789101112#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.c
1234567891011#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.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; }
Nota
Para que una división dé 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; }
Nota
Si estás intentando mostrar el carácter
%en una cadena (por ejemplo, en una instrucciónprintf), debes 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!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Pregunte me preguntas sobre este tema
Resumir este capítulo
Mostrar ejemplos del mundo real
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 * produce el producto de sus operandos. Por ejemplo, si estás tratando de determinar la cantidad de agua necesaria para llenar una piscina:
Main.c
12345678910111213141516#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.c
123456789101112#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 trabajamos con tipos enteros, el resultado también sería un entero:
int + int => int
int + double => double
Main.c
123456789101112#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.c
1234567891011#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.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; }
Nota
Para que una división dé 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; }
Nota
Si estás intentando mostrar el carácter
%en una cadena (por ejemplo, en una instrucciónprintf), debes 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!