Post on 06-Apr-2015
transcript
Informatik IIGrundlagen 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
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 2Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 2
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 3Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 3
Wdh: Sequenzen
• Anweisungen werden nacheinander abgearbeitet und ausgeführt
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 4
Wdh: Selektionen 1
• Bedingte Anweisung if• Syntax:if (ausdruck) anweisung
• Struktogramm
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 5
Wdh: Selektionen 2
• Bedingte Anweisung if … else if (ausdruck) anweisungelse anweisung
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 6
Wdh: Selektionen 3
if(ampel == grün) gehen;else if(ampel == rot) stehen;else // Ampel aus gucken;
alternativswitch(ampel){ case grün: gehen; break; case rot: stehen; break; default: gucken;}
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 7
Wdh: Selektionen 4
• Mehrfachverzweigungen if…else if…else if (ausdruck_1) anweisung_1else if(ausdruck_2) anweisung_2else if(ausdruck_3) anweisung_3... ...else if (ausdruck_n) anweisung_nelse /* kann auch fehlen */ anweisung_else
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 8
Wdh: Selektionen 5
• Syntaxdiagramm
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 9
Wdh: Selektionen 6
• Mehrfache Alternative / Fallunterscheidungswitchswitch(expression){ case const1: statements1;
break; case const2: statements2; break; . . . default: statements_default;}
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 10
Wdh: Selektionen 7
• Syntaxdiagramm
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 11
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 12
Wdh: Iterationen 1
• Iterationen / Schleifen / loops
• 40 Jahre Rubiks Cube (Zauberwürfel)
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 13
Wdh: Iterationen 2
• Abweisende Schleife while, manchmal auch kopfgesteuerte Schleife genannt
• Syntaxwhile (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 14
Wdh: Iterationen 3
• Struktogramm
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 15
Wdh: Iterationen 4
• Nicht-annehmende Schleife do while, machmal auch: fußgesteuerte Schleife
• Syntaxdo anweisungwhile (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 16
Wdh: Iterationen 5
• Struktogramm
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 17
Wdh: Iterationen 6
• Laufanweisung oder abweisende Schleife mit for
• Syntaxfor(ausdruck1; ausdruck2; ausdruck3) anweisung
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 18
Wdh: Iterationen 7
• Schleifensteuerung• break
– 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 19
Wdh: Iterationen 8
• Schleifen betreten und verlassen