\verb|4:| &\verb|a / c / b| &\verb|1.25|&\verb|double| \\
\verb|5:| &\verb|-1.0f - a * 2E-1 + a / 2| &\verb|0|&\verb|double| \\
\verb|6:| &\verb|1.0 + (a *= (2 / - b - (c += .0E2 )))| &\verb|-14|&\verb|double| \\
\bottomrule
\end{tabular}
\endgroup
\end{table}
\end{table}\parabreak
Begründungen:
\begin{enumerate}[font=\texttt, label=\arabic*: ]
\setcounter{enumi}{1}
\item\begin{itemize}
\item{\itshape Wert:} Das unäre \verb|-| hat eine höhere Priorität als das \verb|*|, somit werten wir zunächst \verb|- 12.0f| aus, daraufhin dann \verb|-(-12.0f)|, usw., bis dann das letzte \verb|-| als binäres \verb|-| bleibt, welches allerdings eine geringere Priorität als das binäre \verb|*|, wodurch wir also als Zwischenergebnis \verb|a*b - (-12.0f)| stehen haben, und dann nach der Multiplikation die Subtraktion (bzw. Addition) haben.
\item{\itshape Datentyp:} Die Rangfolge der Datentyp-Konvertierung durch Operatoren ist von niedrig nach hoch. Da \verb|a| und \verb|b| integer sind, aber ein \verb|float| im Ausdruck vorkommt, ist \verb|float| der kleinste oberste Datentyp.
\end{itemize}
\item In diesem Ausdruck stehen zwei binäre \verb|/| Operatoren, die aufgrund gleicher Priorität von links nach rechts ausgewertet werden. Da \verb|a / b| eine Operation auf zwei integern ist, ist das Zwischenergebnis dieser Operation ebenfalls ein integer, und zwar \verb|2| (der Rest wird verworfen). \verb|c| ist ebenfalls 2, also rechnen wir am Ende \verb|2 / 2.0|, was \verb|1.0| ergibt, und aufgrund obiger Erklärung diesmal im \verb|double| Format ist.
\item Gleiche Reihenfolge wie in \verb|3:|, doch diesmal sind \verb|c| und \verb|b| vertauscht. Dies führt dazu, dass wir direkt auf den Datentyp \verb|double| springen, und die Division 5/2 diesmal nicht mehr ganzzahlig abläuft. Unser Zwischenergebnis ist also \verb|5 / 2.0 = 2.5|. Das nochmal durch 2 geteilt führt zum Ergebnis von \verb|1.25|, auch wieder im Datenformat \verb|double|
\item\begin{enumerate}[label=\arabic*) ]
\item Unäres \verb|-| bei \verb|-1.0f|
\item Multiplikation von \verb|a * 2E-1 = a * 0.2 = 1.0|, Division von \verb|a / 2 = 2|