Multiplicação, Divisão e Módulo
Operador de Multiplicação
O operador de multiplicação * retorna o produto de seus operandos. Por exemplo, ao calcular a quantidade de água necessária para encher uma 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 Divisão
O operador de divisão / divide o operando à esquerda pelo operando à direita.
Suponha que você queira calcular a velocidade de um carro:
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; }
O uso de variáveis do tipo double garante que o resultado possa ser um valor decimal, proporcionando uma resposta mais precisa. Se utilizássemos apenas tipos inteiros, o resultado também seria um inteiro:
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; }
É importante observar que apenas alterar o especificador de formato não corrige uma divisão inteira incorreta:
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; }
No entanto, existe uma maneira de obter uma divisão correta sem introduzir outra variável:
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 uma divisão produza um resultado decimal, pelo menos um dos operandos deve ser de um tipo decimal como double.
Operador Módulo
O operador % retorna o resto de uma divisão. Por exemplo:
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; }
Se for necessário exibir o caractere % em uma string (por exemplo, em uma instrução printf), utilize %% para representar um único %. Isso informa ao compilador que você deseja imprimir o caractere % e não utilizá-lo como especificador de formato.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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
Multiplicação, Divisão e Módulo
Deslize para mostrar o menu
Operador de Multiplicação
O operador de multiplicação * retorna o produto de seus operandos. Por exemplo, ao calcular a quantidade de água necessária para encher uma 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 Divisão
O operador de divisão / divide o operando à esquerda pelo operando à direita.
Suponha que você queira calcular a velocidade de um carro:
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; }
O uso de variáveis do tipo double garante que o resultado possa ser um valor decimal, proporcionando uma resposta mais precisa. Se utilizássemos apenas tipos inteiros, o resultado também seria um inteiro:
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; }
É importante observar que apenas alterar o especificador de formato não corrige uma divisão inteira incorreta:
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; }
No entanto, existe uma maneira de obter uma divisão correta sem introduzir outra variável:
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 uma divisão produza um resultado decimal, pelo menos um dos operandos deve ser de um tipo decimal como double.
Operador Módulo
O operador % retorna o resto de uma divisão. Por exemplo:
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; }
Se for necessário exibir o caractere % em uma string (por exemplo, em uma instrução printf), utilize %% para representar um único %. Isso informa ao compilador que você deseja imprimir o caractere % e não utilizá-lo como especificador de formato.
Obrigado pelo seu feedback!