Solars C++ Kurs
Programmieren leicht erlernt
Funktionen

for-Schleifen

Die for-Schleife funktioniert ähnlich wie die while-Schleife, kann jedoch einiges mehr.

Bei der for-Schleife kann man in der runden Klammer gleich drei Angaben machen, welche aber allesamt auch Leer gelassen werden können. Die drei Angaben sind durch Semikolons getrennt:
for ( ; ; )
{
  ...
}

Viel Sinn macht diese Schleife so jedoch nicht, da dies eine Endlosschleife wäre, aus welche man nie wieder herauskäme ohne das Programm abzubrechen.

Die mittlere Angabe entspricht der, die in auch in der while-Schleife gemacht wird. Desshalb bedeutet
for ( ; nZahl1 < nZahl2 ; )
{
  ...
}
das Gleiche wie
while ( nZahl1 < nZahl2 )
{
  ...
}

Was im ersten Feld steht wird vor dem ersten Aufruf der Schleife ausgeführt.
for ( nZahl1 = 0; nZahl1 < nZahl2 ; )
{
  ...
}
ist also das Gleiche wie
nZahl1 = 0;
while ( nZahl1 < nZahl2 )
{
  ...
}

Wenn mehrere Variablen vor dem Beginn der Schleife gesetzt werden sollen, kann man sie an dieser Stelle alle Angeben. Die einzelnen Variablen werden dabei mit einem Komma getrennt.
for ( nZahl1 = 0, nZahl2 = 4; nZahl1 < nZahl2 ; )
{
  ...
}
entspricht also als while-Schleife folgendem:
nZahl1 = 0;
nZahl2 = 4;
while ( nZahl1 < nZahl2 )
{
  ...
}

für die letzte Angabe gelten die selben Regeln wie für die Erste. Allerdings wird die Anweisung, welche hier steht nach jedem Schleifendurchgang ausgeführt.
Deshalb bedeutet
for ( nZahl1 = 0, nZahl2 = 4; nZahl1 < nZahl2 ; nZahl1 ++, nZahl2 -- )
{
  ...
}
das gleiche wie
nZahl1 = 0;
nZahl2 = 4;
while ( nZahl1 < nZahl2 )
{
  ...
  nZahl1 ++;
  nZahl2 --;
}

Wenn es darum geht einen Teil des Programme einfach mehrmals auszuführen ist die for-Schleife einfach ideal:
for ( nZahl = 0; nZahl < 5; nZahl ++ )
{
  cout << nZahl;
}
würde so z.B. die Zahlen 1 bis 5 schreiben.

Die for-Schleife scheint zwar gerade für den Anfänger komplizierter zu sein als die while-Schleife, ist jedoch extrem praktisch. Deshalb wird sie auch viel häufiger eingesetzt als die while-Schleife.

Hier das vollständige Beispielsprogramm zur for-Schleife:

main.cpp
#include <iostream.h>

void nScppkSchreibeMultipikation( int n1, int n2 )
{
  int nErgebnis;
  
  nErgebnis = n1 * n2;
  cout << n1 << " * " << n2 << " = " << nErgebnis << "\n";
}

int main()
{
  int nZahl;
  int i;

  cout << "Das Einmaleins welcher Zahl? ";
  cin >> nZahl;

  for ( i = 1; i <= 10; i ++ )
  {
    nScppkSchreibeMultipikation( nZahl, i );
  }

  return 0;
}

Wenn man die for-Schleifen ersteinmal verstanden hat, sind sind sie erstaunlich einfach zu benutzen. Ob man lieber while- oder for-Schleifen verwendet ist eigendlich Geschmackssache. Persönlich ziehe ich die for-Schleife vor, weil sie oft übersichtlicher ist als die while-Schleife.