Inhaltsverzeichnis:
Video: C++ Tutorial 19 : C++ Regular Expressions 2024
Variablen und Konstanten sind nur nützlich, wenn Sie sie zum Ausführen von Berechnungen verwenden können. Der Ausdruck Ausdruck ist C ++ Jargon für eine Berechnung. Sie haben bereits den einfachsten Ausdruck gesehen:
int n; // Deklaration n = 1; // Ausdruck
Programmierer kombinieren Variablen, Konstanten und Operatoren, um Ausdrücke zu erstellen. Ein -Operator führt eine arithmetische Operation an seinen Argumenten aus. Die meisten Operatoren verwenden zwei Argumente - diese heißen Binäroperatoren . Einige Operatoren nehmen ein einziges Argument an - dies sind die unären Operatoren .
Alle Ausdrücke geben einen Wert und einen Typ zurück.
Binäre Operatoren
Ein Binäroperator ist ein Operator, der zwei Argumente akzeptiert. Wenn Sie var1 op var2 sagen können, muss op ein binärer Operator sein. Die häufigsten binären Operatoren sind die gleichen einfachen Operationen, die Sie in der Grundschule gelernt haben. Die gemeinsamen binären Operatoren erscheinen in der Tabelle.
Präzedenz | Operator | Bedeutung |
---|---|---|
1 | - (unär.) | Gibt das Negativ seines Arguments zurück |
2 | ++ (unär.) | Inkrement |
2 | - (unär.) | Dekrement |
3 | * (binär) | Multiplikation |
3 | / (binär) > Division | 3 |
% (binär) | Modulo | 4 |
+ (binär) | Addition | 4 |
- (binär) | Subtraktion | 5 |
=, * =,% =, + =, - = (Spezial) | Zuweisungstypen |
|
Multiplikation, Division, Addition, Subtraktion und Modulo sind die Operatoren, die zur Ausführung der Arithmetik verwendet werden. Sie arbeiten genauso wie die Rechenoperatoren, die Sie im Gymnasium gelernt haben, mit den folgenden speziellen Überlegungen:
-
Betrachten Sie das folgende Beispiel: int n = 2; // deklariere eine Variable int m = 2n; // dies erzeugt einen Fehler
Der obige Ausdruck weist
m nicht den Wert von 2 mal n zu. Stattdessen versucht C ++, 2 n als Variablenname zu interpretieren. Da Variablennamen nicht mit einer Ziffer beginnen können, wird während des Erstellungsschritts ein Fehler generiert. Was der Programmierer meinte, war:
int n = 2; int m = 2 * n; // Das ist OK
Ganzzahlige Division wirft den Rest weg.
-
Also das Folgende: int n = 13/7; // ordnet den Wert 1 zu n
Vierzehn geteilt durch 7 ist 2. Dreizehn geteilt durch sieben ist 1.
Der Modulo-Operator gibt den Rest nach der Division
-
zurück (Sie erinnern sich vielleicht nicht an Modulo): int n = 13% 7; // setzt n auf 6
Vierzehn Modulo sieben ist Null. Dreizehn Modulo sieben ist sechs.
Gemeinsame Ausdrücke auflösen
Ein einzelner Ausdruck kann mehrere Operatoren enthalten:
int n = 5 + 100 + 32;
Wenn alle Operatoren gleich sind, wertet C ++ den Ausdruck von links nach rechts aus:
5 + 100 + 32 105 + 32 137
Wenn verschiedene Operatoren in einem einzigen Ausdruck kombiniert werden, verwendet C ++ eine Eigenschaft namens
Vorrang. Vorrang ist die Reihenfolge, in der Operatoren in einem zusammengesetzten Ausdruck ausgewertet werden. Betrachten Sie das folgende Beispiel: int n = 5 * 100 + 32;
Was kommt zuerst, Multiplikation oder Addition? Oder wird dieser Ausdruck einfach von links nach rechts ausgewertet? Beziehen Sie sich zurück auf die Tabelle, die Ihnen sagt, dass die Multiplikation einen Vorrang von 3 hat, was höher ist als der Vorrang der Addition, der 4 ist (kleinere Werte haben eine höhere Priorität). Die Multiplikation erfolgt also zuerst:
5 * 100 + 32 500 + 32 532
Die Reihenfolge der Operationen wird durch den Vorrang der Operatoren außer Kraft gesetzt. Wie Sie sehen können
int n = 32 + 5 * 100;
erzeugt das gleiche Ergebnis:
32 + 5 * 100 32 + 500 532
Aber was ist, wenn Sie wirklich 5 mal die Summe von 100 plus 32 wollen? Sie können die Priorität der Operatoren überschreiben, indem Sie die Ausdrücke, die Sie zuerst in Klammern ausführen möchten, wie folgt umschließen:
int n = 5 * (100 + 32);
Nun wird die Addition vor der Multiplikation durchgeführt:
5 * (100 + 32) 5 * 132 660
Sie können Klammern kombinieren, um Ausdrücke so kompliziert zu gestalten, wie Sie möchten. C ++ beginnt immer mit den am tiefsten geschachtelten Klammern, die es finden kann und arbeitet sich heraus.
(3 + 2) * ((100/20) + (50/5)) (3 + 2) * (5 + 10) 5 * 15 75
Komplizierte Ausdrücke können immer mit Zwischenvariablen geteilt werden. Folgendes ist sicherer:
int factor = 3 + 2; int Prinzip = (100/20) + (50/5); int total = Faktor * Prinzip;
Das Zuweisen eines Namens zu Zwischenwerten ermöglicht es dem Programmierer auch, die Teile einer komplexen Gleichung zu erklären - was es für den nächsten Programmierer einfacher macht, dies zu verstehen.