FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm

Preview:

Citation preview

FOR Anweisung

Aufgabe:

Ausgabe aller ganzen Zahlen von 0 bis 100

auf dem Bildschirm

int main(){ int i; i=0; // wie geht es // weiter ??

for (i=0; i<=100; i=i+1){ printf("%d\n",i);}

Bedingung

Bedingung wahrBedingung falsch

printf("Das wars schon"); return 0;}

InitialisierungSchleifenzähler verändern

Programmverlauf

printf("Das wars schon"); return 0;}

for (i=0; i<=100; i=i+1){ printf("%d\n",i);}

Dynamische Entwicklung

des Inhalts der Variablen

i

printf("Das wars schon");

i 0 1

for (i=0; i<=100; i=i+1){ printf("%d\n",i);}

printf("Das wars schon");

i 0 1

for (i=0; i<=100; i=i+1){ printf("%d\n",i);}

2

.... usw. bis i den Wert 100

hat

printf("Das wars schon");

i 0 1

for (i=0; i<=100; i=i+1){ printf("%d\n",i);}

2 ... 100 101

printf("Das wars schon");

i 0 1

for (i=0; i<=100; i=i+1){ printf("%d\n",i);}

2 ... 100 101

C-Syntax fürFOR - Anweisung

for (Ausdr1; Ausdr2; Ausdr3){ Anweisung(en);}

Bedingung

Initialisierung

Den Schleifenzähler verändern

bei einer Anweisung sind Klammern nicht nötig.

Trotzdem:Immer Klammern machen.

Blockende

kein Semikolon

Warum nur eine Ausgabe ?

{for (i=0; i<=100; i=i+1); printf("%d\n",i);

}

Weil der Compiler dieses Konstrukt als die zwei folgenden Anweisungen auffasst:

Nach for (...) muss eine Anweisung kommen !Diese Anweisung ist die "leere Anweisung" (die nichts macht bzw. bewirkt), die durch den leeren Ausdruck, der mit einem Semikolon

abgeschlossen wird, zu einer Anweisung wird.Diese wird solange ausgeführt, solange i<=100 , also 101 mal.DANACH wird einmal printf("%d\n",i) ausgeführt.

for (i=0; i<=100; i=i+1);

{ printf("%d\n",i); }

Das heißt

wird vom Compiler wie folgt interpretiert:

for (i=0; i<=100; i=i+1);

for (i=0; i<=100; i=i+1) ;

Was wird also ausgegeben ?

101

Aufgabe:Flußdiagramm der

FOR - Anweisung mit beliebigem A1, A2, A3 und beliebigen Anweisung(en)

A, also der folgenden Anweisung …

for (A1; A2; A3){ A;}

Initialisierung (A1)

Bedingung (A2)

falsch

wahr

A

Schleifenzähler verändern (A3)

Struktogramm:

Anweisung(en)

for(Ausdr1; Ausdr2; Ausdr3)

Wie oft wird eine for-Schleife durchlaufen. Nennen Sie die obere bzw. untere Grenze.

0 ... Durchgänge, wobei die Initialisierung (Ausdr1) aber auf jeden Fall genau 1 Mal gemacht wird.

Die for-Schleife nennt man auch Zählschleife, weil durch den Anfangswert und den Endwert der Schleifenvariablen die Anzahl der Schleifendurchgänge festgelegt sind.

Recommended