Ausdrücke und Auswertungen in C++
Wir haben nun gesehen, daß vor ein Numerale auch ein Minuszeichen »-« geschrieben werden darf. Der so entstehende Text »-65« ist dann allerdings kein Literal mehr, jedoch kann er ebenfalls ausgewertet werden. Die Angabe einer Zahl, die auf diese Weise mit einem Minuszeichen »-« beginnt, nennen wir auch einen Vorzeichenausdruck. Beispielsweise ist der Quelltext »-65« ein Vorzeichenausdruck. Ein Vorzeichenausdruck ist ein Spezialfall eines Ausdrucks.
Ausdrücke
Wir definieren den Begriff Ausdruck jetzt genauer als bisher mit dem folgenden Diagramm, das später noch erweitert werden wird.
- Ein Ausdruck ist ein Literal oder ein Vorzeichenausdruck
Ausdruck
.---------.
|-|---.------------>| Literal |----.---->|-|
| '---------' |
| .-. .---------. |
'--->( - )--->| Literal |----'
| '-' '---------' |
| .-. .---------. |
'--->( + )--->| Literal |----'
'-' '---------'
Jedes Literal gilt auch als Ausdruck.
- Begriffshierarchie der Ausdrücke
Ausdruck
^
|
.-----------'-----------.
| |
' '
Literal Vorzeichenausdruck
(einfacher Ausdruck) (komplexer Ausdruck)
^ z.B.: -65
|
.-----------'-----------.
| |
' '
Numerale Zeichenfolgenliteral
^ z.B.: "abc"s
|
.-----------'-----------.
| |
' '
ganzzahliges Numerale Numerale mit Punkten
z.B.: 123 z.B.: 1.23
Typen von Ausdrücken
Jeder Ausdruck hat einen Typ, der Regeln dafür festlegt, an welchen Stellen eines Programms jener Ausdruck verwendet werden kann.
Semantik von Ausdrücken ⃗
Wiederholung und Zusammenfassung:
Während des Ablaufs eines Programms kann ein Ausdruck ausgewertet werden. Die Auswertung eines Ausdrucks ergibt einen Wert. Ein Ausdruck drückt insofern einen Wert aus. Wir sagen auch, daß er einen Wert habe, angebe oder notiere.
- Der Wert eines Numerales kann nach dem Entfernen etwaiger Apostrophe und dem Ersetzen von Punkten durch Kommata direkt abgelesen werden. (Eventuell ist ein »E« als „mal Zehn hoch“ zu interpretieren.)
- Der Wert eines Zeichenfolgenliterals ist die in ihm enthaltene Zeichenfolge.
- Der Wert eines Vorzeichenausdrucks, der aus einem Minuszeichen »-« und einem folgenden Literal besteht, ist das Negative des Wertes jenes Literales.
- Der Wert eines Vorzeichenausdrucks, der aus einem Pluszeichen »+« und einem folgenden Literal besteht, ist der Wert jenes Literales.
Übungsfragen
? Syntax von Ausdrücken
- Ein Ausdruck ist ein Literal oder ein Vorzeichenausdruck
Ausdruck
.---------.
|-|---.------------>| Literal |----.---->|-|
| '---------' |
| .-. .---------. |
'--->( - )--->| Literal |----'
| '-' '---------' |
| .-. .---------. |
'--->( + )--->| Literal |----'
'-' '---------'
Welcher der folgenden Texte ist nach dem Diagramm ein Ausdruck? (Solche Fragen beziehen sich immer auf die Texte zwischen den Chevrons, also zwischen den Zeichen "»" und "«".)
- »-2« Anton
- »2-« Berta