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

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