next up previous contents
Next: break und continue Up: Kontrollstrukturen Previous: (do) while-Schleifen

for-Schleifen

Wie sich oben bereits andeutete, enthalten Schleifen neben der Abbruchbedingung häufig noch einen Schleifeninitialisierungsteil und möglicherweise Anweisungen, die den Wahrheitsgehalt der Schleifenbedingung beeinflussen und jedesmal während eines Durchlaufes ausgeführt werden.

Bei der Arbeit mit Feldern benötigt man häufig Schleifen, die die Feldelemente einzeln ansprechen. Solch eine Schleife, programmiert mit while, könnte etwa so aussehen:

  const int Size = 20;
  // ..
  int a[Size];
  // ..
  int i=0;               // loop initialization
  while ( i < Size ) {   // loop condition, rejecting if false
    a[i] = i; 
    i++;                 // loop control, performed after each pass  
  }

Zur Abkürzung läßt sich in diesem Falle for(;;) verwenden. Die folgende Konstruktion mit for ist der obigen (bis auf den Sichtbarkeitsbereich der Variablen i) vollständig äquivalent, aber übersichtlicher und kürzer.

  int a[20];
  // ..
  for( int i=0; i < 20; i++ )
    a[i] = i;           // work on elements 0 .. 19

Diese Formulierung besitzt zwei Vorteile. Erstens ist die Schleifenkontrolle in den drei durch Semikolon getrennten Teilen der for-Anweisung gut sichtbar zusammengefaßt und nicht über den Schleifenkörper verstreut. Zweitens ist der Verwendbarkeitsbereich der Variablen i auf die Schleifenkontrollstruktur und den Schleifenkörper beschränkt.



© R.Hilfer et al., ICA-1, Univ. Stuttgart
28.6.2002