Ausdrücke in C ++

Variablen und Konstanten sind nur dann sinnvoll, wenn man sie Berechnungen ausführen können. Der Begriff Ausdruck

C ++ Jargon für eine Berechnung. Sie haben bereits den einfachsten Ausdruck gesehen:

int n- // declarationn = 1 // Ausdruck

Programmierer kombinieren Variablen, Konstanten und Operatoren Ausdrücke machen. Ein Operator führt einige Rechenoperation auf seine Argumente. Die meisten Betreiber haben zwei Argumente - diese werden als Binäroperatoren. Einige Betreiber nehmen ein einziges Argument - das sind die unäre Operatoren.

Alle Ausdrücke geben einen Wert und einen Typ.

Binäre Operatoren

EIN Binäroperators ist ein Operator, der zwei Argumente übernimmt. Wenn Sie sagen, var1 op var2, dann op muss ein binärer Operator sein. Die am häufigsten verwendeten binären Operatoren sind die gleichen einfachen Vorgänge, die Sie in der Grundschule gelernt. Die gemeinsamen binären Operatoren erscheinen in der Tabelle.

Mathematische Operatoren in der Reihenfolge der Präzedenz
VorrangOperatorBedeutung
1- (Einstellige)Gibt die negativen ihres Arguments
2++ (Einstellige)Zuwachs
2-- (Einstellige)Decrement
3* (Binär)Multiplikation
3/ (Binär)Aufteilung
3% (Binär)modulo
4+ (binär)Zusatz
4- (binär)Subtraktion
5=, * =,% =, + =, - = (Sonder-)Zuordnungsarten

Die einfachste binäre ist der Zuweisungsoperator von dem Gleichheits bemerkt unterzeichnen. Der Zuweisungsoperator sagt, # 147-Nehmen Sie den Wert auf der rechten Seite, Seite und speichern an der Stelle auf der linken Seite, der rechten Seite des Bedieners # 148.

Multiplikation, Division, Addition, Subtraktion und Modulo sind die Operatoren verwendet Arithmetik auszuführen. Sie arbeiten wie die arithmetischen Operatoren, die Sie in Gymnasium gelernt, mit den folgenden besonderen Überlegungen:

  • Die Multiplikation muss immer angegeben werden ausdrücklich und wird nie angedeutet, wie es in der Algebra ist. Betrachten Sie das folgende Beispiel:

    int n = 2 // deklarieren ein variableint m = 2n // dies erzeugt einen Fehler

    Der Ausdruck oben nicht vergeben m der Wert von 2 Mal n. Stattdessen versucht C ++ 2 zu interpretierenn als Variablenname. Da Variablennamen nicht mit einer Ziffer beginnen kann, erzeugt er einen Fehler während des Build-Schritt.

    Was der Programmierer gemeint war:

    int n = 2-int m = 2 * n- // Das ist OK
  • Integer-Division führt den Rest weg. Somit ist die folgende:

    int n = 13 / 7- // weist den Wert 1 bis n

    Vierzehn geteilt durch 7 ist 2. Dreizehn geteilt durch sieben ist 1.

  • Der Modulo-Operator gibt den Rest nach der Teilung (Sie könnten sich nicht erinnern, Modulo):

    int n = 13% 7- // n bis 6 setzt

    Vierzehn Modulo sieben Null ist. Dreizehn Modulo sieben ist sechs.

Entwirren Verbindung Ausdrücke

Ein einziger Ausdruck kann mehrere Operatoren enthalten:

int n = 5 + 100 + 32-

Wenn alle Betreiber die gleichen sind, auswertet C ++, die Expression von links nach rechts:

5 + 100 + 32105 + 32137

Wenn verschiedene Operatoren in einem einzigen Ausdruck kombiniert werden, verwendet C ++ eine Eigenschaft namens Vorrang. Präzedenz ist die Reihenfolge, dass die Betreiber in einem zusammengesetzten Ausdruck ausgewertet werden. Betrachten Sie das folgende Beispiel:

int n = 5 * 100 + 32-

Was kommt zuerst, Multiplikation oder Addition? Oder ist dieser Ausdruck einfach von links nach rechts ausgewertet? Beziehen Sie sich auf die Tabelle, die Ihnen sagt, dass die Multiplikation einen Vorrang von 3 hat, der höher ist als der Vorrang der Zugabe ist die 4 (kleinere Werte eine höhere Priorität haben). Somit tritt die Multiplikation zuerst:

* 100 + 5 32500 + 32532

Die Reihenfolge der Operationen wird durch die Priorität der Operatoren außer Kraft gesetzt. Wie du siehst

int n = 32 + 5 * 100-

erzeugt das gleiche Ergebnis:

32 + 5 * 10032 + 500532

Was aber, wenn Sie wirklich wollen, 5-mal die Summe aus 100 plus 32? Sie können die Priorität der Operatoren außer Kraft setzen, indem Ausdrücke Verpackung, die Sie zuerst in Klammern ausgeführt werden sollen, wie folgt:

int n = 5 * (100 + 32) -

Nun erfolgt die Zugabe vor der Multiplikation durchgeführt werden:

* 5 (100 + 32) 5 * 132660

Sie können Klammern kombinieren Ausdrücke zu machen so kompliziert, wie Sie möchten. C ++ beginnt immer mit den tiefsten verschachtelten Klammern kann es finden und bahnt sich seinen Weg nach draußen.

(3 + 2) * ((100/20) + (50/5)) (3 + 2) * (5 + 10) 5 * 1575

Sie können immer komplizierte Ausdrücke mit Zwischenvariablen unterteilen. Im Folgenden ist sicherer:

int Faktor = 3 + 2-int Haupt = (100/20) + (50/5) in -int total = Faktor * principal

einen Namen auf Zwischenwerte zuweisen, können auch der Programmierer die Teile eines komplexen Gleichung zu erklären - es einfacher für den nächsten Programmierer verständlich zu machen.

Menü