Die Multiplikation »…*…« in C
Einführendes Beispiel
Das folgende Programm berechnet das Produkt der Werte »[2]« und »[3]« mit dem Multiplikationsoperator »*«.
main.c
#include <stdio.h>
int main( void )
{ printf
( "%d\n", 2 * 3 ); }- Protokoll
6
In der Mathematik ist es auch üblich, für das Produkt der beiden Zahlen ‹2› und ‹3› zu schreiben: ‹2·3› oder ‹2×3›. In C könnte das erste aber mit »2.3« und das zweite mit »2x3« verwechselt werden.
Eigenschaften des Multiplikationsoperators »*«
Syntax, Typanforderungen, Typergebnisse, Assoziativität und Priorität sind bei dem binären Operator »*« wie bei dem Divisionsoperator »/«. Die Operanden heißen Multiplikand und Multiplikator. Die Semantik ist hingegen die der Multiplikation.
Das neue, erweiterte Syntaxdiagramm
- Syntax
Primaerausdruck
.----------.
---.------------>| Literal |------------.--->
| '----------' |
| .-. .----------. .-. |
'--->( ( )--->| Ausdruck |--->( ) )---'
'-' '----------' '-'Vorzeichenausdruck
.--------------------.
--->.------------>| Primaerausdruck |----.---->
| '--------------------' ^
| .-. .--------------------. |
'--->( - )--->| Vorzeichenausdruck |----'
| '-' '--------------------' |
| .-. .--------------------. |
'--->( + )--->| Vorzeichenausdruck |----'
'-' '--------------------'Multiplikativausdruck
.--------------------.
---.--->| Vorzeichenausdruck |--------------------------------------.--->
| '--------------------' ^
| .--------------------. .-. .--------------------. |
'--->| Vorzeichenausdruck |--->( / )--->| Vorzeichenausdruck |---'
| '--------------------' '-' '--------------------' |
| .--------------------. .-. .--------------------. |
'--->| Vorzeichenausdruck |--->( * )--->| Vorzeichenausdruck |---'
'--------------------' '-' '--------------------'Ausdruck
.------------------------.
--->| Multiplikativausdruck |--->
'------------------------'- N2176 6.5.5 Multiplicative operators
- Syntax
1 multiplicative-expression:
cast-expression
multiplicative-expression * cast-expression
multiplicative-expression / cast-expression
Beispiel Prozentrechnung
Es gibt keinen speziellen Operator für Prozentrechnung, daher ist diese mit Hilfe der Multiplikation auszudrücken.
Das folgende Programm berechnet 11 Prozent von 70.
main.c
#include <stdio.h>
int main( void )
{ printf
( "%g\n", 0.11 * 70 ); }stdout
7.7
Das folgende Programm addiert 11 Prozent zu 70.
main.c
#include <stdio.h>
int main( void )
{ printf
( "%g\n", 1.11 * 70 ); }stdout
77.7
Vorzeichenwechsel
Der Vorzeichenwechsel »-« kann auch als Multiplikation mit »-1« ausgedrückt werden.
main.c
#include <stdio.h>
int main( void )
{ printf
( "%g\n", 1.11 * -1 ); }- Protokoll
-1.11
Übungsaufgaben *
/ Ternärer Operator
Schreiben Sie ein Beispiel für einen Ausdruck auf, der nach dem Syntaxdiagramm des ternären Operators gebildet ist. Dieser Operator besteht aus den beiden lexikalischen Einheiten »?« und »:« und hat insgesamt drei Operanden. Bei dem aufzuschreibenden Ausdruck sollen alle Operanden den Typ »int« haben.
- Syntaxdiagramm (vereinfacht)
Ausdruck
.----------. .-. .----------. .-. .----------.
--->| Ausdruck |--->( ? )--->| Ausdruck |--->( : )--->| Ausdruck |--->
'----------' '-' '----------' '-' '----------'
/ Terme *
Berechnen Sie den Wert des folgenden Terms mit Hilfe der bisher vorgestellten Operatoren.
- Term (Drei Quadrat durch Vier hoch Drei) (Ergebnis: ungefähr »0.140625«)
3²
------
4³
/ Rechnungen *
Berechnen Sie mit C, wieviel Millimeter 20 Zentimeter sind (Ergebnis: zirka 200).
Berechnen Sie mit C, wieviel Euro 25 Cent sind (Ergebnis: zirka 0,25).
Berechnen Sie mit C, den Rechnungsbetrag mit Mehrwertsteuer bei einem Warenwert von 20 Euro.