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

bookMultiplikation, Division og Modulo

Multiplikationsoperator

Multiplikationsoperatoren * giver produktet af sine operander. For eksempel, hvis du skal bestemme mængden af vand, der kræves for at fylde en pool:

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; }

Divisionsoperator

Divisionsoperatoren / dividerer venstre operand med højre operand.

Antag, at du ønsker at beregne en bils hastighed:

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 at bruge double-variabler sikrer vi, at vores resultat kan være en decimalværdi, hvilket giver et mere præcist svar. Hvis vi kun arbejdede med heltalstyper, ville resultatet også være et heltal:

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 vigtigt at bemærke, at det ikke er tilstrækkeligt blot at ændre formatangiveren for at rette en forkert heltalsdivision:

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; }

Der er dog en måde at opnå en korrekt division uden at introducere en ekstra 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
Bemærk

For at en division skal give et decimalt resultat, skal mindst én af operanderne være af en decimaltype som double.

Modulo-operatoren

Operatoren % returnerer resten af en division. 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
Bemærk

Hvis du forsøger at vise tegnet % i en streng (f.eks. i en printf-sætning), skal du bruge %% for at repræsentere et enkelt %. Dette fortæller compileren, at du ønsker at udskrive tegnet % og ikke bruge det som et format-specifikator.

question mark

Hvad er værdien af udtrykket?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Suggested prompts:

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

bookMultiplikation, Division og Modulo

Stryg for at vise menuen

Multiplikationsoperator

Multiplikationsoperatoren * giver produktet af sine operander. For eksempel, hvis du skal bestemme mængden af vand, der kræves for at fylde en pool:

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; }

Divisionsoperator

Divisionsoperatoren / dividerer venstre operand med højre operand.

Antag, at du ønsker at beregne en bils hastighed:

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 at bruge double-variabler sikrer vi, at vores resultat kan være en decimalværdi, hvilket giver et mere præcist svar. Hvis vi kun arbejdede med heltalstyper, ville resultatet også være et heltal:

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 vigtigt at bemærke, at det ikke er tilstrækkeligt blot at ændre formatangiveren for at rette en forkert heltalsdivision:

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; }

Der er dog en måde at opnå en korrekt division uden at introducere en ekstra 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
Bemærk

For at en division skal give et decimalt resultat, skal mindst én af operanderne være af en decimaltype som double.

Modulo-operatoren

Operatoren % returnerer resten af en division. 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
Bemærk

Hvis du forsøger at vise tegnet % i en streng (f.eks. i en printf-sætning), skal du bruge %% for at repræsentere et enkelt %. Dette fortæller compileren, at du ønsker at udskrive tegnet % og ikke bruge det som et format-specifikator.

question mark

Hvad er værdien af udtrykket?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3
some-alt