Multiplikation, Division und Modulo
Multiplikationsoperator
Der Multiplikationsoperator * liefert das Produkt seiner Operanden. Zum Beispiel, wenn die benötigte Wassermenge zum Befüllen eines Pools berechnet werden soll:
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
Der Divisionsoperator / teilt den linken Operanden durch den rechten.
Angenommen, Sie möchten die Geschwindigkeit eines Autos berechnen:
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; }
Die Verwendung von double-Variablen stellt sicher, dass unser Ergebnis ein Dezimalwert sein kann, was eine genauere Antwort liefert. Wenn wir nur mit Ganzzahltypen arbeiten würden, wäre das Ergebnis ebenfalls eine Ganzzahl:
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; }
Es ist wichtig zu beachten, dass das bloße Ändern des Formatbezeichners eine fehlerhafte Ganzzahldivision nicht behebt:
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; }
Es gibt jedoch eine Möglichkeit, eine korrekte Division zu erhalten, ohne eine weitere Variable einzuführen:
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; }
Damit eine Division ein Dezimalergebnis liefert, muss mindestens einer der Operanden vom Dezimaltyp wie double sein.
Modulo-Operator
Der %-Operator gibt den Rest einer Division zurück. Zum Beispiel:
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; }
Wenn das %-Zeichen in einer Zeichenkette angezeigt werden soll (z. B. in einer printf-Anweisung), wird %% verwendet, um ein einzelnes % darzustellen. Dies teilt dem Compiler mit, dass das %-Zeichen ausgegeben werden soll und nicht als Formatbezeichner dient.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 2.63
Multiplikation, Division und Modulo
Swipe um das Menü anzuzeigen
Multiplikationsoperator
Der Multiplikationsoperator * liefert das Produkt seiner Operanden. Zum Beispiel, wenn die benötigte Wassermenge zum Befüllen eines Pools berechnet werden soll:
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
Der Divisionsoperator / teilt den linken Operanden durch den rechten.
Angenommen, Sie möchten die Geschwindigkeit eines Autos berechnen:
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; }
Die Verwendung von double-Variablen stellt sicher, dass unser Ergebnis ein Dezimalwert sein kann, was eine genauere Antwort liefert. Wenn wir nur mit Ganzzahltypen arbeiten würden, wäre das Ergebnis ebenfalls eine Ganzzahl:
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; }
Es ist wichtig zu beachten, dass das bloße Ändern des Formatbezeichners eine fehlerhafte Ganzzahldivision nicht behebt:
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; }
Es gibt jedoch eine Möglichkeit, eine korrekte Division zu erhalten, ohne eine weitere Variable einzuführen:
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; }
Damit eine Division ein Dezimalergebnis liefert, muss mindestens einer der Operanden vom Dezimaltyp wie double sein.
Modulo-Operator
Der %-Operator gibt den Rest einer Division zurück. Zum Beispiel:
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; }
Wenn das %-Zeichen in einer Zeichenkette angezeigt werden soll (z. B. in einer printf-Anweisung), wird %% verwendet, um ein einzelnes % darzustellen. Dies teilt dem Compiler mit, dass das %-Zeichen ausgegeben werden soll und nicht als Formatbezeichner dient.
Danke für Ihr Feedback!