27
FOR Anweisung

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

Embed Size (px)

Citation preview

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

FOR Anweisung

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

Aufgabe:

Ausgabe aller ganzen Zahlen von 0 bis 100

auf dem Bildschirm

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

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

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

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

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

Programmverlauf

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

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

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

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

Dynamische Entwicklung

des Inhalts der Variablen

i

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

printf("Das wars schon");

i 0 1

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

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

printf("Das wars schon");

i 0 1

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

2

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

.... usw. bis i den Wert 100

hat

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

printf("Das wars schon");

i 0 1

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

2 ... 100 101

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

printf("Das wars schon");

i 0 1

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

2 ... 100 101

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

C-Syntax fürFOR - Anweisung

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

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

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

Warum nur eine Ausgabe ?

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

}

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

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

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

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); }

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

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) ;

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

Was wird also ausgegeben ?

101

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

Aufgabe:Flußdiagramm der

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

A, also der folgenden Anweisung …

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

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

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

Initialisierung (A1)

Bedingung (A2)

falsch

wahr

A

Schleifenzähler verändern (A3)

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

Struktogramm:

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

Anweisung(en)

for(Ausdr1; Ausdr2; Ausdr3)

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

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

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

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

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

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