Strukturierte Programmierung in C


Ausarbeitung, 2001

160 Seiten


Leseprobe


Strukturiertes Programmieren in C

Dipl. Inform.med. Winfried Bantel

6. März 2001

 

Inhaltsverzeichnis

I Grundlagen der strukturierten Programmierung ... 5

1 Einleitung ... 6
1.1 Historie Programmiertechniken ... 6
1.2 Programmieren lernen ... 7
1.3 Einfache Lösungen sind die besten Lösungen ... 7

2 Algorithmen und Programme ... 9
2.1 Algorithmen ... 9
2.2 Darstellungsformen ... 11
2.3 Freitext ... 13
2.4 Pseudo-Code ... 13
2.5 Laufzeiten von Algorithmen ... 13

3 Einführung in C ... 14
3.1 Hello World ... 14
3.2 Programmiersprachen ... 14
3.3 Operatoren ... 16
3.4 C-Schlüsselwörter (Keywords) ... 16
3.5 Bezeichner ... 16
3.6 Kommentare ... 16
3.7 Programm-Layout ... 17
3.8 Der Präprozessor ... 18
3.9 Die Standardbibliothek ... 19

4 Einfache Datentypen ... 22
4.1 Einführung ... 22
4.2 Ganze Zahlen ... 23
4.3 Fließkommazahlen ... 26

5 Ausdrücke ... 28
5.1 Einführung ... 28
5.2 Operatoren ... 30
5.3 Funktionen ... 33
5.4 Typisierung ... 33
5.5 Reihenfolge bei der Berechnung von Ausdrücken ... 34
5.6 Übungen ... 34

6 Verzweigungen ... 35
6.1 Einführung ... 35
6.2 Die einfache Verzweigung (if-else) ... 36
6.3 Die mehrfache Verzweigung (switch-case) ... 40
6.4 Der ternäre Operator "? :" ... 41
6.5 Beispiele ... 41
6.6 Aufgaben und Übungen ... 45

7 Schleifen ... 46
7.1 Einführung ... 46
7.2 Die drei Schleifenarten ... 46
7.3 Darstellungsarten ... 47
7.4 Die zählergesteuerte Schleife ... 47
7.5 Die kopfgesteuerte Schleife ... 52
7.6 Die fußgesteuerte Schleife ... 54
7.7 Mischformen - Endlosschleife und Sprünge ... 55
7.8 Tipps zur Schleifenauswahl ... 56
7.9 Beispiele ... 57
7.10 Übungen ... 66

8 Zeiger ... 68
8.1 Zeiger ... 68
8.2 Einführung ... 68
8.3 Operatoren für Zeiger ... 68
8.4 Hauptspeichermodell ... 68

9 Modulare Programmierung ... 70
9.1 Einführung ... 70
9.2 Die Schnittstelle ... 72
9.3 Prototypen ... 73
9.4 Gültigkeitsbereich von Variablen ... 73
9.5 Globale Variablen ... 74
9.6 Call-by-value und Call-by-Reference ... 74
9.7 Module ... 75
9.8 Beispiele ... 76
9.9 Aufgaben ... 81

10 Strukturierte Datentypen ... 82
10.1 Konstanten ... 82
10.2 Aufzählungen ... 83
10.3 Felder ... 83
10.4 Zeichenketten (Strings) ... 85
10.5 Strukturen ... 88
10.6 Zeiger und Strukturen ... 89
10.7 Dynamische Felder ... 89
10.8 Eigene Typen ... 91
10.9 Beispiele ... 92
10.10Übungen ... 93
10.11Minesweeper ... 94
10.12Datums-Check ... 94
10.13Binär-Dezimal-Umwandlung ... 94
10.14Game of life ... 94

11 Sortieren ... 95
11.1 Einführung ... 95
11.2 Bubble-Sort ... 95
11.3 Sortieren durch direktes Tauschen ... 97
11.4 Quicksort ... 99
11.5 Beispiele ... 99

II Algorithmen und Datenstrukturen ... 101

12 Dateiverarbeitung ... 102
12.1 Einführung ... 102
12.2 Ö nen und schließen ... 102
12.3 Dateien mit variabler Satzlänge ... 105
12.4 Dateinamen als Parameter ... 106
12.5 Datenaustausch mit Tabellenkalkulationsprogrammen ... 107
12.6 Beispiele ... 108

13 Rekursion ... 111
13.1 Einführung ... 111
13.2 Einfache Anwendungen ... 113
13.3 Vor- und Nachteile von Rekursion ... 115
13.4 Weitere Anwendungen ... 117
13.5 Backtracking-Algorithmen ... 127
13.6 Übungen ... 136

14 Dynamische Datenstrukturen ... 139
14.1 Einführung ... 139
14.2 Die sortierte lineare Liste ... 140
14.3 Der Kellerspeicher (Stack) ... 144
14.4 Die Schlange (Queue) ... 145


A C-Standard-Bibliothek ... 149
A.1 Einführung ... 149
A.2 stdio.h ... 149
A.3 ctype.h ... 151
A.4 math.h ... 152
A.5 string.h ... 152
A.6 time.h ... 153
A.7 stdlib.h ... 153
A.8 limits.h ... 153
A.9 oat.h ... 154

B C-Syntax ... 155

C Priorität der Operatoren ... 157

D ASCII-Tabelle ... 158

 

Teil I
Grundlagen der strukturierten Programmierung


Kapitel 1
Einleitung

1.1 Historie Programmiertechniken

bis 60er-Jahre Unstrukturierte Programmierung
70er-Jahre Strukturierte Programmierung
80er-Jahre Modulare Programmierung
90er-Jahre Objektorientierte Programmierung


1.1.1 Vor der strukturierten Programmierung

In den 60er-Jahre war das GOTO-Statement (Sprunganweisung) der wichtigste Teil in den Programmen, die gesamte Ablaufsteuerung musste über GOTO programmiert werden. Dies hatte zur Folge, daß die Programme sehr schlecht verständlich waren, schwierig zu warten und Programmierung als "Kunst" verstanden wurde.


1.1.2 Strukturierte Programmierung

Ende der 60er entwickelte sich unter den Informatikern eine Debatte um Sinn und Unsinn des GOTOs. Auslöser war eine Veröentlichung von Dijkstra namens "Goto Statements Considered Harmful" 1968.

Dijkstra: "Jeder Programmierer, der ein fehlerfreies Programm entwerfen möchte muß sich davon überzeugen, daß sein Programm terminiert. In einem Programm, in dem eine unbegrenzte Anzahl von GOTO-Anweisungen eingebracht wurde, ist es sehr schwer zu sagen, an welcher Stelle das Programm bei einem Fehler hängt, bzw. nicht terminiert. Bei der strukturierten Programmierung gibt es nur zwei Möglichkeiten, daß ein Programm nicht abbricht. Entweder bei einer Rekursion oder in einer Wiederholungsschleife. Das macht die Fehlersuche wesentlich einfacher."

Diese Verö entlichung kann als die Geburtsstunde der Strukturierten Programmierung angesehen werden.

Es wurde ein mathematischer Beweis geführt, daß sich jede Programmieraufgabe über eine Abfolge der folgenden drei Ablaufstrukturen lösen lässt:


- Sequenz
- Auswahl
- Wiederholung

Ein zweites Ziel der strukturierten Programmierung war die Top-Down-Entwurfsmethode (vom Groben zum Detail), die durch die strukturierte Programmierung unterstützt wurde (Wirth).

So standen die 70er Jahre im Zeichen der strukturierten Programmierung. Unter dem Ziel des wiederverwendbaren Codes kam in den 80ern die Modulare Programmierung hinzu.

Seit den 90ern heißt das Schlagwort "Objektorientierte Programmierung". Diese erweitert die strukturierte modulare Programmierung nochmals.

Die Programmiersprache Cwurde Anfang der 70 von Brian Kernighan und Dennis Ritchie an den Bell-Laboratories entwickelt und Mitte der 80er von Bjarne Stroustroup um objektorientierte Konzepte zu C++erweitert. Aber auch andere strukturierte Programmiersprachen wie Pascal wurden im Lauf der Zeit zu objektorientierten Sprachen erweitert (Object-Pascal, Delphi).

C hat einen hohen Verbreitungsgrad, ist als Programmiersprache von Kleinst- bis hin zu Groß- rechnern verfügbar und auf allen Betriebssystemen zu Hause. Es eignet sich für Einsteiger zum Erlernen der Strukturierten Programmierung und kann später durch C++zum Erlernen der Objektorientierten Programmierung weitergeführt werden.

[...]

Ende der Leseprobe aus 160 Seiten

Details

Titel
Strukturierte Programmierung in C
Autor
Jahr
2001
Seiten
160
Katalognummer
V101160
ISBN (eBook)
9783638995818
Dateigröße
1038 KB
Sprache
Deutsch
Schlagworte
Programmierung Softwaretechnik Algorithmen Rekursion C
Arbeit zitieren
Winfried Bantel (Autor:in), 2001, Strukturierte Programmierung in C, München, GRIN Verlag, https://www.grin.com/document/101160

Kommentare

  • Noch keine Kommentare.
Blick ins Buch
Titel: Strukturierte Programmierung in C



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden