Vorwort | 6 |
Inhaltsverzeichnis | 7 |
I Grundlagen | 12 |
1 Grundprinzipien der Datenverarbeitung | 13 |
1.1 Historische Entwicklung der Datenverarbeitung | 13 |
1.2 Funktion und Aufbau eines Rechners | 17 |
1.3 Aufgaben | 21 |
2 Das Betriebssystem | 22 |
2.1 Single- und Multitasking | 22 |
2.2 Dateien und Dateisysteme | 26 |
3 Algorithmen und Struktogramme | 29 |
3.1 Algorithmen | 29 |
3.2 Struktogramme | 29 |
3.3 Aufgaben | 36 |
4 Programmiersprachen | 37 |
4.1 Maschinen- und Hochsprachen | 37 |
4.2 Die Hochsprachen-Programmentwicklung | 40 |
II Programmieren in C/C++ | 42 |
5 Über C und C++ | 43 |
6 Grundlagen | 44 |
6.1 Einführende Beispiele | 44 |
6.2 Anweisungen, Wertzuweisungen und Datentypen | 46 |
6.3 Der Aufbau eines C++-Programms | 48 |
6.4 Fehler | 54 |
6.5 Die Entwicklung von C/C++-Programmen | 56 |
6.6 Aufgaben | 57 |
7 Vordefinierte Standard-Datentypen und einfache Operationen | 58 |
7.1 Der Umgang mit Zahlen | 58 |
7.2 Verarbeitung von Einzelzeichen: Der Datentyp char | 70 |
7.3 Logische Ausdrücke | 75 |
7.4 Operatoren und Ausdrücke | 78 |
7.5 Benutzerdefinierte Konstanten | 84 |
7.6 Aufgaben | 85 |
8 Interaktive Ein-/Ausgabe | 87 |
8.1 Standard Ein-/Ausgabe mit C++ | 87 |
8.2 Formatierte Bildschirm-Ausgabe | 93 |
8.3 Standard-Eingabe | 95 |
8.4 Standard Ein-/Ausgabe mit C | 98 |
8.5 Aufgaben | 102 |
9 Programm-Ablaufstrukturen | 104 |
9.1 Die Selektion | 104 |
9.2 Die Iteration | 110 |
9.3 Die Schachtelung von Kontrollstrukturen | 123 |
9.4 Aufgaben | 126 |
10 Modularisierung von Programmen: Functions | 132 |
10.1 Vereinbarungen von Functions | 134 |
10.2 Der Aufbau von Funktionen | 137 |
10.3 Die Parameterübergabe | 139 |
10.4 Die return-Anweisung | 144 |
10.5 Der Geltungsbereich von Vereinbarungen | 146 |
10.6 Rekursionen | 149 |
10.7 Aufgaben | 152 |
11 Höhere Datenstrukturen | 154 |
11.1 Felder | 154 |
11.2 Pointer | 171 |
11.3 Datenverbunde: Strukturen | 178 |
11.4 Aufgaben | 186 |
12 Arbeiten mit Dateien | 188 |
12.1 ASCII-Dateien: Der Dateityp Text | 190 |
12.2 Binärdateien | 194 |
12.3 Aufgaben | 198 |
13 Einführung in die OOP mit C++ | 200 |
13.1 Klassen | 200 |
13.2 Der ObjektOrientierte Ansatz | 204 |
13.3 Konstruktoren und Destruktoren | 205 |
13.4 Dateiorganisation | 212 |
13.5 Friend Funktionen und -Klassen | 215 |
13.6 Überladen von Funktionen | 217 |
13.7 Überladen von Operatoren | 220 |
13.8 Der this- Zeiger | 233 |
13.9 Übergabe von Objekten an Funktionen | 235 |
13.10 Dynamischer Speicher und Klassen | 239 |
13.11 Vererbung | 243 |
13.12 Schrittweise Entwicklung eines einfachen OOP-Projektes | 248 |
13.13 Abschlussbemerkungen | 256 |
13.14 Aufgaben | 256 |
III C/C++ Praktikum | 258 |
14 Einführungs-Praktikum | 259 |
14.1 Erstes Praktikum | 259 |
14.2 Zweites Praktikum | 260 |
14.3 Drittes Praktikum | 261 |
14.4 Viertes Praktikum | 263 |
14.5 Fünftes Praktikum | 264 |
14.6 Sechstes Praktikum | 265 |
14.7 Siebentes Praktikum | 266 |
14.8 Achtes Praktikum | 267 |
14.9 Praktischer Programmiertest | 270 |
15 Fortgeschrittenen-Praktikum | 272 |
15.1 Erstes Praktikum | 272 |
15.2 Zweites Praktikum | 273 |
15.3 Drittes Praktikum | 275 |
15.4 Viertes Praktikum | 277 |
15.5 Fünftes Praktikum | 278 |
15.6 Sechstes Praktikum | 278 |
15.7 Siebentes Praktikum | 280 |
15.8 Achtes Praktikum | 282 |
15.9 Neuntes Praktikum | 283 |
16 Lösungen zum Einführungs-Praktikum | 286 |
16.1 Lösungen zum ersten Praktikum | 286 |
16.2 Lösungen zum zweiten Praktikum | 287 |
16.3 Lösungen zum dritten Praktikum | 290 |
16.4 Lösungen zum vierten Praktikum | 293 |
16.5 Lösungen zum fünften Praktikum | 295 |
16.6 Lösungen zum sechsten Praktikum | 298 |
16.7 Lösungen zum siebenten Praktikum | 299 |
16.8 Lösungen zum achten Praktikum | 302 |
16.9 Lösung zum praktischen Programmiertest | 307 |
17 Lösungen zum Fortgeschrittenen-Praktikum | 309 |
17.1 Lösung zum ersten Praktikum | 309 |
17.2 Lösung zum zweiten Praktikum | 311 |
17.3 Lösung zum dritten Praktikum | 314 |
17.4 Lösung zum vierten Praktikum | 316 |
17.5 Lösung zum fünften Praktikum | 318 |
17.6 Lösung zum sechsten Praktikum | 322 |
17.7 Lösung zum siebten Praktikum | 327 |
17.8 Lösung zum achten Praktikum | 330 |
17.9 Lösung zum neunten Praktikum | 336 |
Anhang A: ASCII-Tabelle | 341 |
ASCII-Tabelle (0–127 sowie erweitert 128–255) | 341 |
Anhang B: Häufige Fehler | 342 |
Sachwortverzeichnis | 344 |