Zurück Vor +Ebene Home Inhalt Index Hilfe

Schleifen und Verzweigungen

Befehle zur Schleifenprogrammierung: for, while, do ... while, break, continue

while-Schleife:

while ( Ausdruck)
Anweisung
;}

Ausdruck:
Abbruchkriterium
Anweisung:
innerhalb der Schleife auszuführende Anweisung.


 
Soll mehr als eine Anweisung ausgeführt werden, so sind diese in einem Block () zusammenzufassen.
 
Die Anweisungen innerhalb der while -Schleife werden ausgeführt, solange der Ausdruck logisch wahr ist.
 
Das Abbruchkriterium wird zu Beginn der Schleife überprüft. Ist der Ausdruck bereits vor dem ersten Schleifendurchlauf logisch falsch, so springt das Programm zur ersten Anweisung außerhalb der Schleife und die Schleife wird nicht ein einziges Mal ausgeführt.
 
  float x = 64.0;
  while (x > 1.0) {
     x /= 2.0;
     printf("x = %f",x);
  }

 
do-while -Schleife:

do
Anweisung;
while ( Ausdruck);

Die Schleife wird ausgeführt, bis das Abbruchkriterium erfüllt, also der Ausdruck logisch falsch ist.
 
Die do-while -Schleife wird mindestens einmal ausgeführt, da das Abbruchkriterium erst am Ende der Schleife geprüft wird.
 
for -Schleife:

for ( Ausdruck1; Ausdruck2; Ausdruck3)
Anweisung;

Ausdruck 1:
initialisiert Schleifenvariable
Ausdruck 2:
Abbruch-Kriterium
Ausdruck 3:
verändert die Schleifenvariable


 

int i;
for (i=0; i<10; i++) printf("Nr. %d",i);

 
for -Schleifen sind sehr flexibel handhabbar. So können beispielsweise while -Schleifen simuliert werden: for (x = 64.0 ;x>1.0; )
 
break -Anweisung, führt zur sofortigen Beendigung einer Schleife, unabhängig vom Abbruchkriterium.
 
Es wird - bei verschachtelten Schleifen - nur die Schleifenebene verlassen, in der das break -Kommando gegeben wurde.
 

     for (i=0; i<10; i++)
        for (j=0; j<10; j++)
        {
            if (j == 5 && i == 5) break;
            printf("i,j = %d,%d
",i,j)
        }
Die Paare 5,5 bis 5,9 werden nicht ausgegeben, da die j -Schleife für
i==5 bei j==5 verlassen wird.
 
In einer switch -Konstruktion dient break zur Vermeidung unbeabsichtigter Ausführung von case -Ästen.
 
continue -Anweisung, führt innerhalb von Schleifen zu sofortigem Sprung ans Schleifenende, prüft jedoch das Abbruchkriterium.
 
   for (i=0; i<10; i++)
      for (j=0; j<10; j++)
      {
         if (j == 5 && i == 5) continue;
         printf("i,j = %d,%d
",i,j);
      }
Nur das Paar 5,5 wird nicht ausgegeben!
 
Befehle zur Programmierung bedingter Verzweigungen: if, ifelse, switch

if -Struktur, bedingte Ausführung von Programmteilen.

if ( Ausdruck)
Anweisung1;

Anweisung1 wird nur dann ausgeführt, wenn Ausdruck logisch wahr ist.
 
Anweisung kann ein einzelnes C-Kommando oder ein Programmblock sein.
 
if-else -Struktur:

if ( Ausdruck)
Anweisung1;
else
Anweisung2;

Anweisung2 wird ausgeführt, wenn Ausdruck logisch falsch ist.

switch -Struktur, benötigt für bedingte Verzweigungen mit mehr als zwei Alternativen.

switch (Ausdruck)
{
case Alternative1 :  Anweisung1; break;
case Alternative2 :  Anweisung2; break;
  .
  . 
case Alternativen :  Anweisungen; break;
default : Anweisung};
}

 
Das break -Kommando bewirkt ein sofortiges Verlassen des switch -Blockes nach Ausführung der entsprechenden Anweisungen. Ohne break würden alle anderen Alternativen zusätzlich ausgeführt!

Zurück Vor +Ebene Home Inhalt Index Hilfe

Copyright Verlag Harri Deutsch AG  Stöcker DeskTop Mathematik