Kontrollstrukturen, Teil 5 |
|
Die for-Anweisung in C ist eigentlich eine while-Schleife mit eingebautem Initialisierungs- und Reinitialisierungsteil:
for (initialisierung; ausdruck; reinitialisierung)
anweisung;
Der Initialisierungsteil wird nur einmal beim Eintritt in die Schleife ausgeführt. Dieser Teil kann auch mehrere Anweisungen enthalten, welche dann jeweils durch ein Komma voneinander zu trennen sind.
Der Reinitialisierungsteil wird jedesmal nach der Ausführung der Anweisung durchgeführt. Auch dieser Teil kann ohne weiteres mehrere Anweisungen enthalten, auch hier wieder jeweils durch ein Komma getrennt.
Die Schleife wird so lange durchlaufen, bis der Wert des Ausdrucks gleich 0 (unwahr) wird. Man nennt diesen Teil auch Abbruchbedingung.
Klassisches Beispiel:
for (i=0; i<10; i++) printf ("Zaehler = %d\n", i);
Das folgende Beispiel demonstriert die Anwendung der for-Schleife in einem Algorithmus zum Sortieren eines Integer-Arrays mit n Elementen (Bubble-Sort):
int i, j;
int tmp;
for (i=0; i<n; i++) {
for (j=i+1; j<n; j++)
{
if (array[i]
< array[j]) {
tmp = array[i];
array[i]
= array[j];
array[j]
= tmp;
}
}
}
Eine break-Anweisung innerhalb einer for-Schleife beendet die Schleife unmittelbar. Der Reinitialisierungsteil wird nicht mehr ausgeführt.
Eine continue-Anweisung innerhalb einer for-Schleife bewirkt einen unmittelbaren Sprung zum Anfang der Schleife. Der Reinitialisierungsteil wird ausgeführt und die Abbruchbedingung geprüft.
|