Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Multiplikasjon, Divisjon og Modulo | Operatorer
C-Grunnleggende

bookMultiplikasjon, 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

Main.c

copy
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

Main.c

copy
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

Main.c

copy
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

Main.c

copy
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

Main.c

copy
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; }
Note
Merk

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

Main.c

copy
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; }
Note
Merk

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.

question mark

Hva er verdien av uttrykket?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 3

Spør AI

expand

Spør AI

ChatGPT

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

bookMultiplikasjon, 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

Main.c

copy
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

Main.c

copy
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

Main.c

copy
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

Main.c

copy
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

Main.c

copy
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; }
Note
Merk

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

Main.c

copy
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; }
Note
Merk

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.

question mark

Hva er verdien av uttrykket?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 3
some-alt