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