C Control PRO STARTER SET MEGA 128 198484 Benutzerhandbuch

Produktcode
198484
Seite von 200
83
Compiler
© 2005 Conrad Electronic
for(Anweisung1; Ausdruck; Anweisung2) Anweisung3;
Als erstes wird Anweisung1 ausgeführt, die normalerweise eine Initialisierung beinhaltet. Danach
erfolgt die Auswertung des Ausdrucks. Ist der Ausdruck ungleich 
0
 wird Anweisung2 und
Anweisung3 ausgeführt, und die Schleife wiederholt sich. Hat der Ausdruck einen Wert von 
0
kommt es zum Schleifenabbruch. Wie bei anderen Schleifentypen kann bei Anweisung3, statt
einer einzelnen Anweisung, ein 
for(i=
0
;i<
10
;i++)
{
    if(i>a) a=i;
    a--;
}
 Es gilt zu beachten, daß die Variable i, innerhalb der Schleife, die Werte von 0 bis 9 durchläuft,
und nicht 1 bis 10!
Möchte man eine Schleife programmieren, die eine andere Schrittweite hat, so ist Anweisung2
entsprechend zu modifizieren:
for(i=
0
;i<
100
;i=i+
3
)  
// die Variable i inkrementiert sich nun in 3er Schritten
{
    a=
5
*i;
}
break Anweisung
Eine break Anweisung verläßt die Schleife, und  die Programmausführung startet mit der nächsten
Anweisung hinter der for Schleife.
continue Anweisung
continue veranlaßt die sofortige Neuberechnung des Ausdrucks. In Abhängigkeit vom Ergebnis
wird bei ungleich 
0
 Anweisung2 ausgeführt, und die Schleife wiederholt sich. Ein Ergebnis von 
0
bricht die Schleife ab.
Beispiel:
for(i=
0
;i<
10
;i++)
{
    if(i==
5
) continue;
}
5.2.6.4
goto
Auch wenn man es innerhalb von strukturierten Programmiersprachen vermeiden sollte, so ist es
möglich innerhalb einer Prozedur mit goto zu einem label zu springen:
// for Schleife mit goto realisiert
void main(void)
{
    int a;