63
Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014 http://c-et.rz.hs-fulda.de Peter Klingebiel, HS Fulda, DVZ

Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Embed Size (px)

Citation preview

Page 1: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Informatik IIGrundlagen der Programmierung

Programmieren in C

Annäherung an C

Hochschule Fulda – FB ET

Sommersemester 2014

http://c-et.rz.hs-fulda.de

Peter Klingebiel, HS Fulda, DVZ

Page 2: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 2

Motivation 1

• Frage: Warum müssen Sie programmieren?• Einige wenige Antworten:• moderne Geräte sind software-intensiv und

software- bestimmt• Wertschöpfung in Produkten erfolgt durch

Software• Software erlaubt gänzlich neue Einsatz-

möglichkeiten• Software spart Produktentwicklungskosten• Produktentwicklung fast nur noch software-

gestützt möglich

Page 3: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 3

Motivation 2

• Frage: Warum C?• Einige wenige Antworten:• C ist (trotz einiger Tücken) (relativ) einfach• C ist (immer noch) sehr verbreitet• C hat ein sehr weites Anwendungsspektrum• C erlaubt problemnahe Programmierung• C erlaubt hardwarenahe Programmierung• C ist Ausgangspunkt für höhere Sprachen wie

ParC, C++, C#, Objective C, Java, …• und und und ..

Page 4: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 4

Motivation 3

• "Was ich nicht in C programmieren kann, kann ich überhaupt nicht programmieren!"

• "In C programmieren heisst, den Computer zu verstehen!"

• Zitate: Peter Gietz, Softwareentwickler und Geschäftsführer einer Firma

Page 5: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 5

Motivation 4

• C ist eine imperative Programmiersprache• Anweisungen: Befehle, Daten• C ist

– in Ansätzen eine deklarative Sprache (Rekursion)– keine Skriptsprache

• auch wenn es C-Interpreter gibt

– keine objektorientierte Sprache• auch wenn C Objektorientierung erlaubt

– keine Sprache für die funktionale Programmierung– keine Sprache mit eingebauter Nebenläufigkeit

• auch wenn in C parallel programmiert werden kann (Betriebssystem-Prozesse, -Threads)

Page 6: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 6

Was ist ein Programm?

• Grundsatzerklärung einer Partei• Abfolge von Sendungen in Fernsehen oder

Radio• Abfolge von Vorträgen auf einer Tagung• Abfolge von zu behandelnden Tages-

ordnungspunkten• und und und

• eine Folge von Anweisungen für einen Computer

Page 7: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programm 1

• Ein Programm / C-Programm besteht (vereinfacht dargestellt) aus

Daten Funktionen• Daten

– Eingangsdaten Ergebnisdaten– evtl. (viele) Zwischendaten– Konstante Daten Werte unveränderbar– Variable Daten Werte veränderbar

• Funktionen verarbeiten die Daten

Page 8: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programm 2

Page 9: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programm 3

Page 10: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programm 4

Page 11: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programm 5

Page 12: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programm 6

• Typischer Ablauf eines C-Programms

Page 13: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 13

Wie entsteht ein Programm? 1

• Programme werden formuliert von Menschen• Programme werden ausgeführt von Computern• Problemlösungen werden sofort als Programm

formuliert ???? Besser nicht!• wie komme ich zu einem Programm?• erst: es gibt ein Problem• dann: Verstehen des eigentlichen Problems• ggfs. Zerlegung des Problems in Teilprobleme• dann: Modellierung einer Problemlösung• erst dann: Umsetzen in ein Computerprogramm

Page 14: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 14

Wie entsteht ein Programm? 2

• Problem analysieren undModell entwerfen

• Algorithmus entwickeln• Programm kodieren• Programm übersetzen

(bis syntaktisch fehlerfrei)• Programm testen

(bis semantisch fehlerfrei ?)• Programm produktiv (??)

Page 15: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 15

Wie entsteht ein Programm? 3

• Nach Problemanalyse und dem Entwurfdes Lösungsalgorithmus:

• Entwurf des Programms in Pseudocode, mitHilfe von Programmablaufplänen, Strukto-grammen oder anderen Entwurfsverfahren

• Kodieren des Programmtextes mit Editor(standalone oder in Programmierumgebung)

• Übersetzen des Programmtextes mit einemCompiler und Montieren zu einem ausführbaren Programm

• Programm testen

Page 16: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 16

Wie entsteht ein Programm? 4

• Einfaches Beispiel: Kapitalberechnung• Problem: Berechnung eines fest verzinsten

Kapitals über eine feste Laufzeit in Jahren. Jährliche Ausgabe von Zinsen und Kapital

• Was benötigen wir für die Lösung?– Ausgangsdaten– Berechnungsalgorithmus– Ablauf der Berechnung

• Was brauchen wir noch?– Datenmodellierung (= Datentypen für Daten)– eventuell Hilfsdaten

Page 17: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 17

Wie entsteht ein Programm? 5

• Anfangsdaten - Eingangsdaten

• Berechnungsalgorithmus

Page 18: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 18

Wie entsteht ein Programm? 6

• Ablauf der Berechnung - Programmablauf

Page 19: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 19

Wie entsteht ein Programm? 7

• Benötigte Hilfsdaten - Temporäre Daten

• Modellierung der Daten Datentypen

Page 20: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 20

Wie entsteht ein Programm? 8

• Pseudocode für Kapitalberechnung

Page 21: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 21

Wie entsteht ein Programm? 9

• Realisierung mit C

Page 22: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 22

Wie entsteht ein Programm? 10

• Lauf des Programms kapital.c

Page 23: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 23

Wie entsteht ein Programm? 11

• Das Programm ist sehr einfach gestrickt• Mögliche Erweiterungen / Verbesserungen?

Page 24: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 24

Pseudocode

• Formulierung der Lösung kleinerer Probleme in sog. Pseudocode

• Pseudocode:– Verständliche Anweisungen für Menschen– Ohne strikte Syntax, aber intuitiv– Ähnlich unserer Umgangssprache

• Dann: Übertragung Pseudocode in Programmiersprache

• Ggfs. Zusammenfügen der Codeteile zu einem das Problem lösenden größeren Programm

Page 25: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 25

Sprachmittel

• Sequenz („sodann“)• Auswahl und Verzweigungen

(Fallunterscheidungen)• Wiederholung (Schleifen)• Wiederverwendbare Einheiten (Funktionen)• Kommentare• Sprünge• Zusicherung (Bedingungen, die erfüllt sein

müssen)

Page 26: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 26

Sequenz

• Einfaches Sprachmittel• Anweisung 1 – Anweisung 2 – Anweisung 3• Beispiele:

– Einfaches Rezept– Formel mit Werten berechnen

• Grafische Darstellungen:– Flussdiagrammsymbole nach DIN 66001– Struktogramm

– Beispiel: Ergebnis = 90 Punkte

Page 27: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 27

Fallunterscheidung

• wenn … dann … sonst• falls … dann … sonst … andernfalls … ende

• Beispiel: wenn Punktzahl > 50 dann bestanden sonst nicht bestanden

Page 28: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 28

Schleifen 1

• Beispiele in Pseudocode: • wiederhole … solange• solange … mache … ende solange• von … bis … mache … nächstes• für alle … mache … nächstes• while … do … end while• repeat … until …• for … to … step … next• for all … do … next

Page 29: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 29

Schleifen 2

• Abweisende Schleife (kopfgesteuert)

• Beispiel: solange bierglas nicht voll bier in glas einschenken

Page 30: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 30

Schleifen 3

• Offene Schleife (fußgesteuert)

• Beispiel: bier zapfen solange bestellungen offen

Page 31: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 31

Schleifen 4

• Endlosschleife

• Beispiel: immer auf tastendruck oder mausklick warten und aktion ausführen

Page 32: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 32

Pseudocodebeispiele 1

• Algorithmus: MaxElementInArray• Input: Ein Feld A mit n Integerwerten• Output: Das größte Element im Feld A• Pseudocode: currentMax = A[1]for i = 1 to n do if A[i] > currentMax then currentMax = A[i] endifendforreturn currentMax

Page 33: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 33

Pseudocodebeispiele 2

• Algorithmus: MaxStudentInClass• Input: Reihen von besetzten Stühlen• Output: Maximale Größe oder -1• Pseudocode:

max = -1 // Jeder ist größer als -1for each Reihe im Raum for each Stuhl in Reihe if Stuhl besetzt & Größe Teilnehmer auf Stuhl > max then max = Größe Teilnehmer auf Stuhl endif endforendforreturn max

Page 34: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 34

Programmieren - Alltagsproblem

• Friedemann Weise: Fall asleep optimizing (auf youtube)

Page 35: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 35

Was kennen wir schon von C?

Page 36: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 36

Woher kommt C? 1

• 1971-73 Dennis Ritchie entwickelt bei den Bell Laboratorien C für die Programmierung des neuen UNIX-Betriebssystems

• 1973 Implementierung von UNIX in C

• Vorläufer: B (1969/70) und BCPL (1960er Jahre)

• 1978 Ritchie/Kernighan: „The C Programming Language“ (dt. „Programmieren in C“)

• 1989 Norm ANSI X3.159-1989 Programming Language C

• 1990 ISO Standard C90

• 1995 erweiterter ISO Standard C95

• 1999 ISO/IEC 9899:1999

Page 37: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 37

Woher kommt C? 2

Page 38: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 38

Einsatzgebiete von C

• CAD-, CAE-, Simulationssysteme• Text- und Grafikverarbeitungssysteme• Mathematik-, Numerische Systeme• Betriebssysteme (Unix, Linux, ...)• Systemprogramme (Unix, Linux, Windows, ...)• Sprachinterpreter, -compiler (GNU C++, CC)• Netz-, Webdienste (Apache Webserver, ...)• Steuerungs-, Regelungssysteme• Aber auch: Mathlab C-Code

Page 39: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 39

Wie entsteht ein C-Programm? 1

• Problem analysieren undModell entwerfen

• Algorithmus entwickeln• Programm in C kodieren• Programm mit C-Compiler

übersetzen (bis fehlerfrei)• Programm testen

(bis semantisch fehlerfrei ?)• Programm produktiv (??)

Page 40: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 40

Wie entsteht ein C-Programm? 2

• Übersetzung passiert in mehreren Schritten:• C-Preprozessor (cpp) - reine Textoperationen

(include, define, if, ..) im Quelltext• C-Compiler übersetzt C-Quelltext in

maschinenabhängigen Assemblercode• Assembler erzeugt noch nicht ausführbaren

Maschinencode, sog. Objektcode• Linker montiert den Objektcode mit

Funktionen aus Bibliotheken zu einem dann ausführbarem Programm

Page 41: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 41

Wie wird ein C-Programm entworfen? 1

• Pseudocode, Bsp. Euklidischer Algorithmus euklid(a, b) wenn a = 0 dann liefere b sonst solange b ≠ 0 wenn a > b dann a = a – b sonst b = b – a liefere a

Page 42: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 42

Wie wird ein C-Programm entworfen? 2

• On the fly? Quick and dirty?

Page 43: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 43

Wie wird ein C-Programm entworfen? 3

• Pseudocode als Kommentar in C/* Funktion euklid – euklid. Algorithmus */int euklid(int a, int b){ /* wenn a = 0 dann liefere b */ if(a == 0) return(b); /* sonst solange b ≠ 0 */ while(b != 0) { /* wenn a > b dann a = a – b */ if(a > b) a = a – b;

/* sonst b = b – a */ else b = b –a; } /* liefere a */ return(a);}

Page 44: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 44

Wie wird ein C-Programm entworfen? 4

• Programmablaufplan

• wirklich geeignet?• eher für Assembler• doch oft eingesetzt

Page 45: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 45

Wie wird ein C-Programm entworfen? 5

• Struktogramm

Page 46: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 46

Wie wird ein C-Programm entworfen? 6

Page 47: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 47

Wie wird ein C-Programm ausgeführt? 1

• Ausführung direkt auf dem Prozessor– z.B. Temperaturregelung in Kühltruhe– Programm in ROM, EPROM o.ä. gespeichert– alle Funktionalitäten müssen im Programm in

Maschinencode vorhanden sein

• Ausführung auf einem Betriebssystem– Hardware ist durch das BS gekapselt– Starten/Beenden des Programms über das BS– Unterstützung durch BS bzw. BS-Funktionen,

z.B. IO, Dateien, Timer, Signale, Threads usw.

Page 48: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 48

Wie wird ein C-Programm ausgeführt? 2

• Betriebssystem

• MikrocontrollerHardware / Prozessor

AnwendungsprogrammFunktionsbibliotheken

Systemcalls / Systemaufrufe

Anwendungsprogramm(incl. aller Funktionen)

Hardware / Prozessor

Page 49: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 49

Wie wird ein C-Programm ausgeführt? 3

• Betriebssystem

• Mikrokontroller

Page 50: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 50

Wie ist ein C-Programm aufgebaut? 1

• Beispiel hallo.c/* * hallo.c */

#include <stdio.h>

int main(void){ char *text = „Hallo, Welt!“; puts(text); return(0);}

Page 51: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 51

Wie ist ein C-Programm aufgebaut? 2

• Kommentare, mit /* und */ geklammert, keine Schachtelung möglich!!!

• Zeilenkommentare mit //• Preprozessoranweisungen beginnen mit #• Schlüsselwörter, z.B. return• Bezeichner (Identifier) für Variablen, Funk-

tionsnamen usw. fangen mit Buchstaben oder Unterstrich _ an, enthalten dann weitere Buchstaben, _ und Ziffern.

• Jede Anweisung wird durch ; beendet!

Page 52: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 52

Wie ist ein C-Programm aufgebaut? 3

• Funktionen / Prozeduren• Funktionskopf gibt Typ des Rückgabewerts an,

den Namen der Funktion und in Klammern ggfs. die Parameter mit Typ und Bezeichnername

• Funktionskörper ist mit { und } geklammert,enthält Deklaration von Variablen, Konstanten, den Programmablauf sowie das return

• Jedes C-Programm hat eine Funktion main()

Page 53: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 53

Wie ist ein C-Programm aufgebaut? 4

• Allgemeiner Aufbau eines C-Programms /* Kommentare *//* Preprozessoranweisungen *//* Globale Variablen *//* Funktionen / Unterprogramme */type function1(...){ /* Lokale Variablen */ /* Anweisungen */}/* Hauptprogramm */int main(...){ /* Lokale Variablen */ /* Anweisungen */}

Page 54: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 54

Wie ist ein C-Programm aufgebaut? 5

• Beispiel: Kapitalberechnung

Page 55: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 55

Wie ist ein C-Programm aufgebaut? 6

• Beispiel: Temperaturregelung

Page 56: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 56

Wie soll ein C-Programm nicht aussehen? 1

• Quelle: International Obfuscated C Code Contest

Page 57: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 57

Wie soll ein C-Programm nicht aussehen? 2

• Quelle: main.c des X-Programms xterm

Page 58: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 58

Wie soll ein C-Programm nicht aussehen? 3

Page 59: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 59

Wie soll ein C-Programm nicht aussehen? 4

Page 60: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 60

Wie soll ein C-Programm nicht aussehen? 5

Page 61: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 61

So kann ein C-Programm aussehen! 1

Page 62: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 62

So kann ein C-Programm aussehen! 2

Page 63: Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C Hochschule Fulda – FB ET Sommersemester 2014

Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 63

So kann ein C-Programm aussehen! 3