Strukturierte Programmierung in C


Élaboration, 2001

160 Pages


Extrait


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.

[...]

Fin de l'extrait de 160 pages

Résumé des informations

Titre
Strukturierte Programmierung in C
Auteur
Année
2001
Pages
160
N° de catalogue
V101160
ISBN (ebook)
9783638995818
Taille d'un fichier
1038 KB
Langue
allemand
Mots clés
Programmierung Softwaretechnik Algorithmen Rekursion C
Citation du texte
Winfried Bantel (Auteur), 2001, Strukturierte Programmierung in C, Munich, GRIN Verlag, https://www.grin.com/document/101160

Commentaires

  • Pas encore de commentaires.
Lire l'ebook
Titre: Strukturierte Programmierung in C



Télécharger textes

Votre devoir / mémoire:

- Publication en tant qu'eBook et livre
- Honoraires élevés sur les ventes
- Pour vous complètement gratuit - avec ISBN
- Cela dure que 5 minutes
- Chaque œuvre trouve des lecteurs

Devenir un auteur