Die if-Anweisung dient dazu, bestimmte Programmteile nur unter
bestimmten Bedingungen zu durchlaufen. Eine solche Anweisung kann,
muß aber keinen else-Teil enthalten, der durchlaufen wird,
wenn der Bedingungsteil false ist. Der else Teil
kann aus beliebig vielen else if und einem else
bestehen. Sowohl if, else if, als auch
else-Zweige können entweder einzelne Anweisungszeilen
(abgeschlossen durch Semikolon) oder in Klammerpaare {}
gesetzte Anweisungsblöcke sein. Ein else-Block bezieht sich
immer auf die gerade vorstehende, aktuelle if-Anweisung. Im
folgenden Beispiel ist die zweite if-Anweisung ein einzelnes
Statement im else-Teil der ersten.
#include<iostream>
using std::cout;
#include<cmath>
// ...
// solution of quadratic equations x^2 + p x + q = 0
double p= 2., q= 3.; // or other values
double sol1, sol2;
double root_arg = 0.25*p*p - q; // calculate the argument for the root
if ( root_arg > 0. ) { // begin of if-block
sol1 = 0.5*p + sqrt(root_arg);
sol2 = 0.5*p - sqrt(root_arg);
} // end if-block
else if ( root_arg < 0. ) // 'error' condition, 'else' part
cout << "no real solution exists";
else // refers to last if(root_arg < 0.)
sol1 = sol2 = 0.5 * p; // assignment from right to left
if ( sol1 > 0. )
cout << "graph cuts positive x-axis";
// ok, else branch missing