|
|
||
|
|
||
| .. FOR -Schleife | ||
|
|
||
|
Die for
() -Schleife kann nur innerhalb von Funktionen benutzt werden,
auch wenn ihre Syntax mit den geschweiften Klammern, der einer
Funktion ähnlich ist. Ihre Funktion ist folgende..
Beim ersten Eintritt in die for() -Schleife wird eine Laufvariable auf einen Start- oder Anfangswert gesetzt. Dann wird geprüft, ob der Wert der Laufvariablen die Laufbedingung erfüllt .. |
||
| Die Laufbedingungen setzen sich aus Relationen (Vergleichen) und logischen Verknüpfungen (UND &&, ODER ||, NICHT !) zusammen. Siehe auch das Kapitel über logische Bedingungen | ||
| Syntax: | ||
// linearer Programmteil vor der Schleife
for (startwerte ; laufbedingung ; startwertänderung)
{
Anweisungsblock;
}
// linearer Programmteil Fortsetzung
|
||
|
|
||
|
||
| Weitere Wege eine forSchleife zu unterbrechen sind z.B. if () -Abfragen, die das Schlüsselwort 'break' enthalten, oder den Befehl 'return'. Bei 'break' wird die Programmausführung hinter dem Anweisungsblock fortgesetzt, bei 'return' wird die Funktion beendet, welche die forSchleife enthält. Ein letzter Befehl im Zusammenhang mit der forSchleife ist der Befehl 'continue'. Soll vor dem Ende des Anweisungsblocks erneut zum Schleifenkopf gesprungen werden, um die Laufbedingung zu überprüfen, wird dies durch den Befehl 'continue' eingeleitet. continue ist normaler Weise Teil einer if () -Abfrage. | ||
|
|
||
| Varianten: | ||
| // linearer Programmteil for (startwerte; laufbedingung; startwertänderung) nur eine Anweisung und es können die {} Klammern entfallen; // linearer Programmteil Fortsetzung | ||
| Folgt nur eine Anweisung, können die geschweiften Klammern entfallen | ||
| // linearer Programmteil for (startwerte; laufbedingung; startwertänderung) ; // linearer Programmteil Fortsetzung | ||
| Solche Schleifen ohne eine Anweisung werden benutzt um Verzögerungen im Programmablauf zu erzeugen. Allerdings sind diese von der Arbeitsfrequenz des verwendeten Computers abhängig. Besser wäre hier die Abfrage eines Timers. | ||
| // linearer Programmteil for ( ; laufbedingung ; ) ; // linearer Programmteil Fortsetzung | ||
| Zwingend vorgeschrieben ist in der for-Schleife nur die Laufbedingung. Der Startwert und die Startwertänderung sind optional. Trotzdem müssen die Trennzeichen ; gesetzt werden. Der Startwert kann vor dem Eintritt in die Schleife gesetzt werden und seine Änderung wird dann üblicherweise innerhalb des Anweisungsblocks durchgeführt. | ||
|
|
||
|
|
Beispiel: |
|
#include <stdio.h> // für printf()
void main(void)
{
int n; // Variable für Startwert
char c ='-'; // Zeichen zur Ausgabe
for (n=20; n>0; n=n-1)
{
printf("%c",c); // Linie aus 20 Zeichen '-'
}
}
|
||
|
Bemerkung
zum Beispiel
n =
20 - Der Startwert in der Variablen n wird auf 20
gesetzt.
n >
0 - Die Laufbedingung lautet, solange n
größer als 0 ist
n =
n-1 - Die Startwertänderung vermindert n bei jedem
Umlauf um 1. Hier
hätte auch n-- stehen können.
Das Resultat dieses Programms ist eine horizontale Linie aus 20 Zeichen '-' -------------------- |
||
|
|
||
| Zusammenfassende Bemerkungen: | ||
|
||
|
|
.de