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
Awesome!
Completion rate improved to 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!