Informatik II Grundlagen der Programmierung Programmieren in C Wiederholung Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014 http://c-et.rz.hs-fulda.de Peter Klingebiel, HS Fulda, DVZ
Wdh: Kontrollstrukturen Alle Programme können mit drei Arten von Kontrollstrukturen ausgedrückt werden Sequenzen Anweisungen werden der Reihe nach abgearbeitet Selektionen, bedingte Verzweigungen if if / else if / else if / else if / else switch Iterationen, Schleifen, Wiederholungen, while do / while for Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 2
Wdh: Sequenzen Anweisungen werden nacheinander abgearbeitet und ausgeführt Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 3
Wdh: Selektionen 1 Bedingte Anweisung if Syntax: if (ausdruck) anweisung Struktogramm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 4
Wdh: Selektionen 2 Bedingte Anweisung if … else if (ausdruck) anweisung else anweisung Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Wdh: Selektionen 3 if(ampel == grün) gehen; else if(ampel == rot) stehen; else // Ampel aus gucken; alternativ switch(ampel){ case grün: gehen; break; case rot: stehen; break; default: gucken; } Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 6
Wdh: Selektionen 4 Mehrfachverzweigungen if…else if…else if (ausdruck_1) anweisung_1 else if(ausdruck_2) anweisung_2 else if(ausdruck_3) anweisung_3 ... ... else if (ausdruck_n) anweisung_n else /* kann auch fehlen */ anweisung_else Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Wdh: Selektionen 5 Syntaxdiagramm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Wdh: Selektionen 6 Mehrfache Alternative / Fallunterscheidung switch switch(expression){ case const1: statements1; break; case const2: statements2; break; . . . default: statements_default; } Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Wdh: Selektionen 7 Syntaxdiagramm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Wdh: Selektionen 8 switch(ampel) { case grün: fahren; break; case rot: anhalten; break; case gelb: gas_geben; break; case dunkelgelb; vollgas_geben; break; default: was_nun??? } Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 11
Wdh: Iterationen 1 Iterationen / Schleifen / loops 40 Jahre Rubiks Cube (Zauberwürfel) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 12
Wdh: Iterationen 2 Abweisende Schleife while, manchmal auch kopfgesteuerte Schleife genannt Syntax while (ausdruck) anweisung Bedingung ausdruck wird vor Ausführung vom Schleifenkörper anweisung geprüft Schleifenkörper wird nur ausgeführt, wenn Bedingung ausdruck wahr ist Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Wdh: Iterationen 3 Struktogramm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Wdh: Iterationen 4 Nicht-annehmende Schleife do while, machmal auch: fußgesteuerte Schleife Syntax do anweisung while (ausdruck) Bedingung ausdruck wird erst am Ende des Schleifenkörperts geprüft Somit wird die Schleife mindestens einmal durchlaufen Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Wdh: Iterationen 5 Struktogramm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Wdh: Iterationen 6 Laufanweisung oder abweisende Schleife mit for Syntax for(ausdruck1; ausdruck2; ausdruck3) anweisung Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Wdh: Iterationen 7 Schleifensteuerung break continue bricht die Ausführung einer Schleife oder einer switch-Anweisung ab und verlässt diese continue bricht den aktuellen Schleifendurchlauf ab und setzt mit Ausführung des Schleifenkopfes fort Endlosschleife (i.d.R. intern beendet) while(1) ... for(;;) ... Programmieren in C - Peter Klingebiel - HS Fulda - DVZ
Wdh: Iterationen 8 Schleifen betreten und verlassen Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 19