6.8.4) Verarbeitung

Zuweisung

Gleichheitszeichen

Bei der Initialisierung wurde bereits das Gleichheitszeichen verwendet, um eine Variable mit einem Wert vorzubelegen. Das Gleichheitszeichen wird auch ansonsten verwendet, wenn eine Variable einen neuen Wert bekommen soll. Dabei gibt es einen feinen Unterschied zwischen der Vorbelegung oder Initalisierung, die beim Anlegen der Variablen erfolgt, und der Zuweisung, wie die Belegung mit Werten genannt wird, wenn die Variable bereits existiert.

Links vom Gleichheitszeichen steht immer das Ziel der Zuweisung. Im Allgemeinen ist das eine Variable. Auf der rechten Seite des Gleichheitszeichens steht die Datenquelle. Das kann eine andere Variable, ein Zahlenwert oder eine Berechnung sein. Man bezeichnet die Datenquelle auf der rechten Seite einer Zuweisung allgemein als Ausdruck. Die englische Bezeichnung dafür ist »expression«. Ein Ausdruck ist Konstrukt, das einen Wert liefert und so als Datenquelle dienen kann. Das folgende Beispiel zeigt mehrere Zuweisungen. Dabei wird auch schon den Rechenoperationen ein wenig vorgegriffen.

int main()
{
 
    //Initialisierungen
    int MWStSatz=0, Netto=0; 
    double MWStBetrag=0.0, Brutto=0.0; 
 
    //Zuweisungen
    MWStSatz = 16;  
    Netto = 200;
    MWStBetrag = Netto * MWStSatz / 100;
    Brutto = Netto + MWStBetrag;
 
    return 0;
}

Kaskadierende Zuweisung

C++ hat die Besonderheit, dass Sie in einer Anweisung mehreren Variablen den gleichen Wert zuweisen können. Sie müssen sich das so vorstellen, dass eine Zuweisung ihren Wert nach links durchreicht. Diese Fähigkeit ermöglicht eine Zeile wie die folgende:

int main()
{
    int a,b,c,d;
    a = b = c = d = 5 + 2;
 
    return 0;
}

Grundrechenarten

Letztlich sieht es nicht sehr viel anders aus, als wenn Sie sich eine Rechenaufgabe auf einen Zettel schreiben. Etwas ungewohnt ist lediglich, dass auf der linken Seite das Zuweisungsziel und ein Gleichheitszeichen steht. Das Multiplikationszeichen ist der Stern, und das Divisionszeichen der Schrägstrich. Plus- und Minuszeichen sehen so aus, wie man es erwartet. Sie können sogar das Minuszeichen wie gewohnt als Vorzeichen verwenden.

Restrechnung bzw. Modulo

Eine besondere Rechenart ist die Modulo-Rechnung. Sie liefert den Rest einer ganzzahligen Division. Wenn Sie sich daran erinnern, wie Sie in den ersten Schulklassen dividiert haben, dann fallen Ihnen vielleicht noch Sätze ein wie: »25 geteilt durch 7 sind 3, Rest 4«. Diese Restberechnung gibt es auch unter C++. Man bezeichnet sie als die Modulo-Rechnung. Als Operatorzeichen wird das Prozentzeichen verwendet.

Rest = 25 % 7; // Rest ist also 4

Punkt vor Strich

Auch in C++ werden die Gesetze der Mathematik geachtet. So wird die alte Regel »Punktrechnung geht vor Strichrechnung« auch hier eingehalten. Diese Regel sagt aus, dass die Multiplikation und die Division vor einer Addition oder Subtraktion ausgeführt werden, wenn beide gleichwertig nebeneinander stehen.

Binäre Operatoren, also Rechensymbole, die zwei Ausdrücke miteinander verknüpfen, sind im Allgemeinen linksbindend. Das bedeutet, dass sie von links nach rechts ausgeführt werden, wenn die Priorität gleich ist. Das heißt, dass a*b/c als (a*b)/c ausgewertet wird. Eine Ausnahme ist die Zuweisung. Hier wird a=b=c als a=(b=c) ausgewertet. Der Zuweisungsoperator ist also rechtsbindend. Auch einstellige Operatoren sind rechtsbindend. Dazu gehört auch der Operator ++, den Sie im Laufe des Abschnitts noch kennen lernen werden.

Abkürzungen

Der Mensch neigt zur Bequemlichkeit. Nicht anders geht es Programmierern. Sie handeln nach dem Grundgedanken, niemals etwas zu tun, was ein Computer für sie tun kann, und so ist es naheliegend, dass es Wege gibt, wiederkehrende Aufgaben möglichst kurz zu formulieren.

Inkrementieren

Um den Wert einer Variablen um 1 zu erhöhen, können Sie die folgende Zeile schreiben:

int Zaehler=0;
Zaehler=Zaehler+1;

Sind sie schreibfaul, so funktioniert auch folgende Variante:

int Zaehler=0;
Zaehler+=1;

Hier wird das Pluszeichen mit dem Gleichheitszeichen kombiniert. Damit das Plus nicht fälschlicherweise als Vorzeichen der 1 interpretiert wird, muss es vor dem Gleichheitszeichen stehen. Zwischen Plus- und Gleichheitszeichen darf kein Leerzeichen stehen. Die Bedeutung der Zeile ist also: »Addiere der Variablen Zaehler den Wert 1 hinzu.«

Das geht mit allen Rechenarten:

kurze Schreibweiselange Schreibweise
a+=ba=a+b
a-=ba=a-b
a/=ba=a/b
a*=ba=a*b
a%=ba=a%b