Multiplikasjon, Divisjon og Modulo
Multiplikasjonsoperator
Multiplikasjonsoperatoren * gir produktet av operandene. For eksempel, hvis du skal finne ut hvor mye vann som trengs for å fylle et basseng:
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; }
Divisjonsoperator
Divisjonsoperatoren / deler venstre operand med høyre operand.
Anta at du ønsker å beregne hastigheten til en bil:
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; }
Ved å bruke double-variabler sikrer vi at resultatet kan være en desimalverdi, noe som gir et mer nøyaktig svar. Hvis vi kun brukte heltallstyper, ville resultatet også blitt et heltall:
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; }
Det er viktig å merke seg at det å endre formatspesifikatoren alene ikke vil rette opp en feilaktig heltallsdivisjon:
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; }
Det finnes imidlertid en måte å få en korrekt divisjon uten å introdusere en ny variabel:
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; }
For at en divisjon skal gi et desimalresultat, må minst én av operandene være av en desimaltype som double.
Modulusoperator
Operatoren % returnerer resten av en divisjon. For eksempel:
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; }
Hvis du prøver å vise tegnet % i en streng (for eksempel i en printf-setning), bruker du %% for å representere én enkelt %. Dette forteller kompilatoren at du vil skrive ut tegnet % og ikke bruke det som en formatspesifikator.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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?
Fantastisk!
Completion rate forbedret til 2.63
Multiplikasjon, Divisjon og Modulo
Sveip for å vise menyen
Multiplikasjonsoperator
Multiplikasjonsoperatoren * gir produktet av operandene. For eksempel, hvis du skal finne ut hvor mye vann som trengs for å fylle et basseng:
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; }
Divisjonsoperator
Divisjonsoperatoren / deler venstre operand med høyre operand.
Anta at du ønsker å beregne hastigheten til en bil:
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; }
Ved å bruke double-variabler sikrer vi at resultatet kan være en desimalverdi, noe som gir et mer nøyaktig svar. Hvis vi kun brukte heltallstyper, ville resultatet også blitt et heltall:
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; }
Det er viktig å merke seg at det å endre formatspesifikatoren alene ikke vil rette opp en feilaktig heltallsdivisjon:
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; }
Det finnes imidlertid en måte å få en korrekt divisjon uten å introdusere en ny variabel:
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; }
For at en divisjon skal gi et desimalresultat, må minst én av operandene være av en desimaltype som double.
Modulusoperator
Operatoren % returnerer resten av en divisjon. For eksempel:
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; }
Hvis du prøver å vise tegnet % i en streng (for eksempel i en printf-setning), bruker du %% for å representere én enkelt %. Dette forteller kompilatoren at du vil skrive ut tegnet % og ikke bruke det som en formatspesifikator.
Takk for tilbakemeldingene dine!