C Programmierungsoperatoren meistern: Ein umfassender Leitfaden
C Programmierungsoperatoren
In diesem Tutorial lernen Sie verschiedene Operatoren in der C-Programmierung anhand von Beispielen kennen.
Video: Arithmetische Operatoren in C
Ein Operator ist ein Symbol, das auf einen Wert oder eine Variable operiert. Zum Beispiel: + ist ein Operator für Addition.
C verfügt über eine breite Palette von Operatoren, um verschiedene Operationen durchzuführen.
C Arithmetische Operatoren
Ein arithmetischer Operator führt mathematische Operationen wie Addition, Subtraktion, Multiplikation, Division usw. auf numerischen Werten (Konstanten und Variablen) durch.
| Operator | Bedeutung des Operators |
|---|---|
| + | Addition oder unärer Plus |
| - | Subtraktion oder unärer Minus |
| * | Multiplikation |
| / | Division |
| % | Rest nach Division (Modulo-Division) |
Beispiel 1: Arithmetische Operatoren
// Funktionsweise arithmetischer Operatoren #include <stdio.h> int main() { int a = 9,b = 4, c; c = a+b; printf("a+b = %d \n",c); c = a-b; printf("a-b = %d \n",c); c = a*b; printf("a*b = %d \n",c); c = a/b; printf("a/b = %d \n",c); c = a%b; printf("Rest bei Division a durch b = %d \n",c); return 0; }
Ausgabe
a+b = 13 a-b = 5 a*b = 36 a/b = 2 Rest bei Division a durch b=1
Die Operatoren +, - und * berechnen Addition, Subtraktion und Multiplikation wie erwartet.
In normaler Rechnung ist 9/4 = 2.25. Die Ausgabe im Programm ist jedoch 2.
Das liegt daran, dass beide Variablen a und b Ganzzahlen sind. Daher ist die Ausgabe auch eine Ganzzahl. Der Compiler vernachlässigt den Teil nach dem Dezimalpunkt und zeigt Antwort 2 statt 2.25.
Der Modulo-Operator % berechnet den Rest. Wenn a=9 durch b=4 geteilt wird, ist der Rest 1. Der %-Operator kann nur mit Ganzzahlen verwendet werden.
Angenommen a = 5.0, b = 2.0, c = 5 und d = 2. Dann in der C-Programmierung:
// Entweder einer der Operanden ist eine Gleitkommazahl a/b = 2.5 a/d = 2.5 c/b = 2.5 // Beide Operanden sind Ganzzahlen c/d = 2
C Inkrement- und Dekrement-Operatoren
Die C-Programmierung hat zwei Operatoren Inkrement ++ und Dekrement --, um den Wert eines Operanden (Konstante oder Variable) um 1 zu ändern.
Inkrement ++ erhöht den Wert um 1, während Dekrement -- den Wert um 1 verringert. Diese beiden Operatoren sind unäre Operatoren, was bedeutet, dass sie nur auf einen einzelnen Operanden operieren.
Beispiel 2: Inkrement- und Dekrement-Operatoren
// Funktionsweise von Inkrement- und Dekrement-Operatoren #include <stdio.h> int main() { int a = 10, b = 100; float c = 10.5, d = 100.5; printf("++a = %d \n", ++a); printf("--b = %d \n", --b); printf("++c = %f \n", ++c); printf("--d = %f \n", --d); return 0; }
Ausgabe
++a = 11 --b = 99 ++c = 11.500000 --d = 99.500000
Hier werden die Operatoren ++ und -- als Präfixe verwendet. Diese beiden Operatoren können auch als Postfixe wie a++ und a-- verwendet werden. Besuchen Sie diese Seite, um mehr darüber zu erfahren, wie Inkrement- und Dekrement-Operatoren als Postfix funktionieren.
C Zuweisungsoperatoren
Ein Zuweisungsoperator wird verwendet, um einer Variablen einen Wert zuzuweisen. Der häufigste Zuweisungsoperator ist =
| Operator | Beispiel | Gleich wie |
|---|---|---|
| = | a = b | a = b |
| += | a += b | a = a+b |
| -= | a -= b | a = a-b |
| *= | a *= b | a = a*b |
| /= | a /= b | a = a/b |
| %= | a %= b | a = a%b |
Beispiel 3: Zuweisungsoperatoren
// Funktionsweise von Zuweisungsoperatoren #include <stdio.h> int main() { int a = 5, c; c = a; // c ist 5 printf("c = %d\n", c); c += a; // c ist 10 printf("c = %d\n", c); c -= a; // c ist 5 printf("c = %d\n", c); c *= a; // c ist 25 printf("c = %d\n", c); c /= a; // c ist 5 printf("c = %d\n", c); c %= a; // c = 0 printf("c = %d\n", c); return 0; }
Ausgabe
c = 5 c = 10 c = 5 c = 25 c = 5 c = 0
C Relationale Operatoren
Ein relationaler Operator prüft die Beziehung zwischen zwei Operanden. Wenn die Relation wahr ist, gibt er 1 zurück; wenn falsch, gibt er Wert 0 zurück.
Relationale Operatoren werden bei Entscheidungsfindung und Schleifen verwendet.
| Operator | Bedeutung des Operators | Beispiel |
|---|---|---|
| == | Gleich | 5 == 3 wird zu 0 ausgewertet |
| > | Größer als | 5 > 3 wird zu 1 ausgewertet |
| < | Kleiner als | 5 < 3 wird zu 0 ausgewertet |
| != | Ungleich | 5 != 3 wird zu 1 ausgewertet |
| >= | Größer oder gleich | 5 >= 3 wird zu 1 ausgewertet |
| <= | Kleiner oder gleich | 5 <= 3 wird zu 0 ausgewertet |
Beispiel 4: Relationale Operatoren
// Funktionsweise relationaler Operatoren #include <stdio.h> int main() { int a = 5, b = 5, c = 10; printf("%d == %d ist %d \n", a, b, a == b); printf("%d == %d ist %d \n", a, c, a == c); printf("%d > %d ist %d \n", a, b, a > b); printf("%d > %d ist %d \n", a, c, a > c); printf("%d < %d ist %d \n", a, b, a < b); printf("%d < %d ist %d \n", a, c, a < c); printf("%d != %d ist %d \n", a, b, a != b); printf("%d != %d ist %d \n", a, c, a != c); printf("%d >= %d ist %d \n", a, b, a >= b); printf("%d >= %d ist %d \n", a, c, a >= c); printf("%d <= %d ist %d \n", a, b, a <= b); printf("%d <= %d ist %d \n", a, c, a <= c); return 0; }
Ausgabe
5 == 5 ist 1 5 == 10 ist 0 5 > 5 ist 0 5 > 10 ist 0 5 < 5 ist 0 5 < 10 ist 1 5 != 5 ist 0 5 != 10 ist 1 5 >= 5 ist 1 5 >= 10 ist 0 5 <= 5 ist 1 5 <= 10 ist 1
C Logische Operatoren
Ein Ausdruck, der einen logischen Operator enthält, gibt entweder 0 oder 1 zurück, je nachdem, ob der Ausdruck wahr oder falsch ergibt. Logische Operatoren werden häufig bei Entscheidungsfindung in der C-Programmierung verwendet.
| Operator | Bedeutung | Beispiel |
|---|---|---|
| && | Logisches UND. Wahr nur wenn alle Operanden wahr sind | Wenn c = 5 und d = 2 dann, Ausdruck ((c==5) && (d>5)) gleich 0. |
| || | Logisches ODER. Wahr nur wenn mindestens ein Operand wahr ist | Wenn c = 5 und d = 2 dann, Ausdruck ((c==5) || (d>5)) gleich 1. |
| ! | Logisches NICHT. Wahr nur wenn der Operand 0 ist | Wenn c = 5 dann, Ausdruck !(c==5) gleich 0. |
Beispiel 5: Logische Operatoren
// Funktionsweise logischer Operatoren #include <stdio.h> int main() { int a = 5, b = 5, c = 10, result; result = (a == b) && (c > b); printf("(a == b) && (c > b) ist %d \n", result); result = (a == b) && (c < b); printf("(a == b) && (c < b) ist %d \n", result); result = (a == b) || (c < b); printf("(a == b) || (c < b) ist %d \n", result); result = (a != b) || (c < b); printf("(a != b) || (c < b) ist %d \n", result); result = !(a != b); printf("!(a != b) ist %d \n", result); result = !(a == b); printf("!(a == b) ist %d \n", result); return 0; }
Ausgabe
(a == b) && (c > b) ist 1 (a == b) && (c < b) ist 0 (a == b) || (c < b) ist 1 (a != b) || (c < b) ist 0 !(a != b) ist 1 !(a == b) ist 0
Erklärung des logischen Operator-Programms
(a == b) && (c > 5)wird zu 1 ausgewertet, da beide Operanden(a == b)und(c > b)1 (wahr) sind.(a == b) && (c < b)wird zu 0 ausgewertet, da Operand(c < b)0 (falsch) ist.(a == b) || (c < b)wird zu 1 ausgewertet, da(a = b)1 (wahr) ist.(a != b) || (c < b)wird zu 0 ausgewertet, da beide Operanden(a != b)und(c < b)0 (falsch) sind.!(a != b)wird zu 1 ausgewertet, da Operand(a != b)0 (falsch) ist. Daher ist !(a != b) 1 (wahr).!(a == b)wird zu 0 ausgewertet, da(a == b)1 (wahr) ist. Daher ist!(a == b)0 (falsch).
C Bitweise Operatoren
Während der Berechnung werden mathematische Operationen wie Addition, Subtraktion, Multiplikation, Division usw. auf Bit-Ebene umgewandelt, was die Verarbeitung schneller und stromsparender macht.
Bitweise Operatoren werden in der C-Programmierung verwendet, um Bit-Operationen durchzuführen.
| Operatoren | Bedeutung der Operatoren |
|---|---|
| & | Bitweises UND |
| | | Bitweises ODER |
| ^ | Bitweises exklusives ODER |
| ~ | Bitweises Komplement |
| << | Nach links schieben |
| >> | Nach rechts schieben |
Besuchen Sie bitweise Operatoren in C, um mehr zu erfahren.
Andere Operatoren
Komma-Operator
Komma-Operatoren werden verwendet, um zusammenhängende Ausdrücke zu verknüpfen. Zum Beispiel:
int a, c = 5, d;
Der sizeof Operator
Der sizeof ist ein unärer Operator, der die Größe von Daten (Konstanten, Variablen, Arrays, Strukturen usw.) zurückgibt.
Beispiel 6: sizeof Operator
#include <stdio.h> int main() { int a; float b; double c; char d; printf("Größe von int=%lu Bytes\n",sizeof(a)); printf("Größe von float=%lu Bytes\n",sizeof(b)); printf("Größe von double=%lu Bytes\n",sizeof(c)); printf("Größe von char=%lu Byte\n",sizeof(d)); return 0; }
Ausgabe
Größe von int = 4 Bytes Größe von float = 4 Bytes Größe von double = 8 Bytes Größe von char = 1 Byte
Andere Operatoren wie der ternäre Operator ?:, Referenzoperator &, Dereferenzoperator * und Mitgliedszugriffsoperator -> werden in späteren Tutorials besprochen.
C Sprache
- Mikroprozessor-Programmiergrundlagen
- C# Operatoren – Umfassender Leitfaden zu Operatoren in C#
- C# Bitweise und Bit-Shift-Operatoren meistern: Umfassender Leitfaden
- Namespaces in C# meistern: Organisation, Gültigkeitsbereich und Best Practices
- C++-Operatoren meistern: Ein vollständiger Leitfaden mit praktischen Beispielen
- Arrays an Funktionen in C++ übergeben: Ein praktischer Leitfaden
- Vier bewährte Muster für benutzerdefinierte Funktionen in C
- Python-Operatoren meistern: Umfassender Leitfaden
- Java Operatoren meistern: Typen, Syntax und praktische Beispiele
- C-Programmierung meistern: Umfassendes Tutorial für Einsteiger