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 | Sektion
C-Data og Operatorer

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

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 / deler venstre operand med højre operand.

Antag, at du vil beregne en bils hastighed:

Main.c

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 at bruge double-variabler sikres det, at resultatet 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

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 løser en forkert heltalsdivision blot at ændre formatangiveren:

Main.c

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

Der er dog en måde at opnå en korrekt division uden at introducere en ekstra variabel:

Main.c

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

Operatoren % returnerer resten af en division. For eksempel:

Main.c

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; }
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 vil udskrive tegnet % og ikke bruge det som et format-specifikator.

question mark

Hvad er værdien af udtrykket?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 11

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

Sektion 1. Kapitel 11
some-alt