Multiplikation, 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
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
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
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
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
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 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
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 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.
Tak for dine kommentarer!
Spørg AI
Spørg AI
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
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
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
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
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
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
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 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
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 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.
Tak for dine kommentarer!