Suchen und Finden
Service
Praktisches Programmieren in C - Grundlagen und Tipps
Andreas Ganzer
Verlag Franzis, 2010
ISBN 9783772352089 , 404 Seiten
Format PDF, OL
Kopierschutz Wasserzeichen
Inhaltsverzeichnis
6
1 Einführung
12
1.1 Voraussetzungen
12
1.2 Die Grenzen dieses Buchs
13
1.3 Einige Begriffe vorweg
14
1.4 Typografie
16
1.5 Die CD zum Buch
18
2 Aus- und Eingabe von Daten
20
2.1 Schreiben in den Bildschirm
20
2.1.1 Einfache Textausgaben
20
2.1.2 Ausgabefunktionen aus der Datei »conio.h«
26
2.1.3 Ausgabe von Zahlen
30
2.2 Arbeiten mit Variablen
33
2.2.1 Was ist eine Variable?
34
2.2.2 Verwenden von Variablen, die Zahlen speichern
35
2.2.3 Variablen für Zeichen und Zeichenketten
37
2.3 Exkurs: Bezeichner
41
2.4 Eingaben über die Tastatur
41
2.4.1 Einlesen von Zeichenketten
42
2.4.2 Einlesen von Zahlen
44
2.4.3 Zeichenketten über scanf() einlesen
46
2.4.4 Eingaben aus einer Zeichenkette lesen
47
3 Arbeiten mit einfachen Datentypen
50
3.1 Die Grunddatentypen in C
50
3.2 Einige Operatoren
55
3.2.1 Arithmetische Operatoren
55
3.3 Typumwandlung
71
3.4 Definieren von benannten Konstanten in C
74
3.4.1 Das Schlüsselwort const
74
3.4.2 Aufzählungen
74
4 Programmstrukturen
78
4.1 Logische Operatoren
78
4.1.1 Einfache Bedingungen
79
4.1.2 Komplexe Bedingungen
81
4.2 Alternativen
81
4.2.1 Die unbedingte Verzweigung
82
4.2.2 Die bedingte Verzweigung
83
4.3 Schleifen
91
4.3.1 Die Endlosschleife
91
4.3.2 Die Zählschleife
91
4.3.3 Eine einfache Schleife mit while
96
4.3.4 Eine einfache Schleife mit do-while
98
4.3.5 Die break-Anweisung in Schleifen
99
4.3.6 Die Anweisung continue
101
5 Komplexe Datentypen
104
5.1 Arbeiten mit Speicheradressen
104
5.2 Felder
112
5.2.1 Eindimensionale Felder
112
5.2.2 Exkurs: Fehlerbehandlung
114
5.2.3 Mehrdimensionale Felder
116
5.2.4 Initialisierung von Feldern
117
5.3 Zeichenketten
119
5.3.1 Zeichenketten definieren
119
5.3.2 Besonderheiten bei der Initialisierung
120
5.3.3 Konstante Zeichenketten
121
5.3.4 cgets() aus »conio.h«
122
5.3.5 Felder aus Zeichenketten
124
5.3.6 Die Informationsdatei »string.h«
126
5.4 Strukturen
132
5.4.1 Definieren eines neuen Datentyps
132
5.4.2 Der Zugriff auf Strukturkomponenten
134
5.4.3 Zeiger auf Strukturen
136
5.4.4 Initialisieren von Strukturen
137
5.4.5 Geschachtelte Strukturen
138
5.5 Unionen
139
5.5.1 Im Vergleich zur Struktur
139
5.5.2 Sparen von Speicherplatz
141
5.5.3 Unbestimmte Datentypen
143
5.5.4 Einfacher Zugriff auf bestimmte Bytes
144
5.5.5 Exkurs: Zahlen im Speicher
146
5.6 Bitfelder
149
5.7 Pseudo-Datentypen über typedef
151
5.7.1 Strukturen oder Unionen über typedef
151
5.7.2 Synonyme für vorhandene Datentypen
152
6 Funktionen
156
6.1 Begriffe bei der Arbeit
156
6.1.1 Prozedur und Funktion
156
6.1.2 Definition und Deklaration
157
6.2 Grundlagen der C-Funktionen
158
6.2.1 Der allgemeine Aufbau einer Funktion
158
6.2.2 Definieren einer Funktion in C
159
6.2.3 Die Parameterliste im Funktionskopf
161
6.2.4 Deklarieren einer Funktion in C
162
6.2.5 Funktionen ohne Rückgaben
164
6.3 Zeiger, Parameter und Rückgaben
181
6.3.1 Wie werden Parameter in C behandelt?
181
6.3.2 Strukturen als Parameter
184
6.3.3 Übergabe von Feldern an Funktionen
186
6.3.4 Ellipsen
191
6.3.5 Sinnvolle Rückgaben
194
6.4 Die Funktion main()
196
6.4.1 Grundlagen
196
6.4.2 Ein praktisches Beispiel
202
6.5 Sichtbarkeit und Gültigkeit
204
6.5.1 Die Problematik im Beispiel
204
6.5.2 Lokale und globale Definitionen
212
6.6 Speicherklassen
214
6.6.1 Speicherklassen für Funktionen
214
6.6.2 Speicherklassen für Variablen
214
6.7 Eingaben von der Tastatur lesen
215
6.7.1 Formulierung der Anforderungen
216
6.7.2 Die Eingabefunktion
218
6.7.3 Erzeugen von Zeichensätzen
222
6.7.4 Eine abschließende Probe
225
7 Der Präprozessor
228
7.1 Makros und Konstanten
228
7.1.1 Die Anweisungen #define und #undef
228
7.1.2 Nützliche Präprozessorkonstanten
231
7.1.3 Makros
234
7.2 Funktionen oder Makros?
236
7.2.1 Gefahren eines Makros
236
7.2.2 Vorteile eines Makros
237
7.3 Arbeiten mit mehreren Dateien
238
7.3.1 Ein erstes Pseudomodul
239
7.3.2 Bedingtes Übersetzen
242
7.4 Systemunabhängige Programme
245
7.4.1 Compiler und Umgebungen erkennen
246
7.4.2 Gleiche Datentypen für jeden Compiler
253
8 Modularisierung
260
8.1 Ein erstes Beispiel
260
8.1.1 Das Hauptmodul
261
8.1.2 Die Informationsdatei »getstr.h«
261
8.1.4 Resümee
264
8.1.3 Das Modul »getstr.c«
263
8.2 Exkurs: make
265
8.2.1 Was ist make?
265
8.2.2 Ziele, Abhängigkeiten und Regeln
266
8.2.3 make verwenden
268
8.2.4 Erweiterte Abhängigkeiten
270
8.2.5 Makros und Direktiven
273
8.2.6 Implizite Regeln
275
8.2.7 Verzeichnisse in einem Makefile
277
8.3 Lotto – ein größeres Projekt
281
8.3.1 Die Anforderungen
282
8.3.2 Die Verzeichnisstruktur
282
8.3.3 Die Module
285
9 Zeiger und Speicher
300
9.1 Zeiger auf Funktionen
300
9.1.1 Die reguläre Definition
301
9.1.2 Funktionszeiger über typedef
304
9.1.3 Eine praktische Anwendung
305
9.2 Zeigerarithmetik
307
9.2.1 Die einfache Arithmetik
308
9.2.2 Besonderheiten bei mehrdimensionalen Feldern
311
9.2.3 Praktische Beispiele
314
9.3 Der Heap
316
9.3.1 Funktionen zur Heap-Verwaltung
317
9.3.2 Felder auf dem Heap
321
10 Dateien und Verzeichnisse
326
10.1 Arbeiten mit Dateien
326
10.1.1 Öffnen, schließen und löschen von Dateien
326
10.1.2 Arbeiten mit Textdateien
328
10.1.3 Arbeiten mit Binärdateien
332
10.1.4 Dateien kopieren, umbenennen und verschieben
339
10.1.5 Prüfen von Dateieigenschaften
341
10.2 Arbeiten mit Verzeichnissen
345
10.2.1 Arbeitsverzeichnis ermitteln und setzen
347
10.2.2 Verzeichnisse erstellen und löschen
352
10.2.3 Rekursives Verarbeiten von Verzeichnissen
356
A Compiler und Umgebungen
364
A.1 Kommandozeilencompiler
364
A.1.1 Linux und MinGW (gcc)
364
A.1.2 Borland (bcc32)
367
A.2 Entwicklungsumgebungen
369
A.2.1 Dev-C++ und wx-DevCpp
369
A.2.2 MinGW Developer Studio
372
A.2.3 Open Watcom 1.4
375
B Operatoren
378
C Literale Konstanten
382
C.1 Numerische Literale
382
C.1.1 Zahlen allgemein
382
C.1.2 Suffixe
382
C.2 Zeichen und Zeichenketten
384
D Formatkennzeichner und Steuerzeichen
386
D.1 Steuerzeichen
386
D.2 Formatkennzeichner
387
D.2.1 printf() und scanf()
387
D.2.2 strftime()
390
E ANSI-Escape-Sequenzen
392
F Literatur
396
Stichwortverzeichnis
398