- Verlag: Addison-Wesley Verlag
- Autor: André Willms
- E-Book ISBN: 9783827326744
- Erscheinungsjahr: 2008
- Seiten: 369
- Auflage: 1
C++ Programmierung lernen
Anfangen, Anwenden, Verstehen
André Willms wendet sich in diesem Buch gezielt an Programmieranfänger und Umsteiger von C. Es vermittelt auf anschauliche Weise und anhand vieler Beispiele die Programmiersprache C++, ohne Kenntnisse in C vorauszusetzen. Übungen, Kontrollfragen und die ausführliche Besprechung der Lösungen ermöglichen es Ihnen, praktische Erfahrungen zu sammeln und das erworbene Wissen gleich zu überprüfen. Das Buch schließt mit einem Ausblick auf fortgeschrittene Themen der C++-Programmierung.
Inhaltsverzeichnis
1
C++ Programmierung lernen - Anfangen, Anwenden, Verstehen
6
Inhalt
6
Erläuterungen zu den verwendeten Kästen
6
1 Grundelemente eines Programms
6
2 Die Variablentypen int und bool
6
3 Die Grundrechenarten
6
4 Funktionen
7
5 Entscheidungen
7
6 Schleifen
7
7 Fallunterscheidung
8
8 Fließkommavariablen
8
9 Der Variablentyp char
8
10 Variablenfelder
8
11 Strings 1
9
12 Strukturen
9
13 Die bitweisen Operatoren
9
14 Objektorientierte Programmierung
9
15 Klassen
10
16 Dynamische Speicherverwaltung
10
17 Vererbung
10
18 Strings 2
10
19 File-Handling
10
20 Ein größeres Projekt
10
Glossar
10
Index
12
Erläuterungen zu den verwendeten Kästen
14
1 Grundelemente eines Programms
15
1.1 Am Anfang war der Algorithmus
15
1.2 Vom Algorithmus zum Programm
16
1.3 Variable Algorithmen
16
Entscheidungen
17
Variable Gröflen
17
Wiederholungen
17
1.4 Das erste Programm
19
ANSI-C++
20
1.5 Die Ausgabe
21
ANSI-C++
21
cout
22
1.6 Die #include-Direktive
23
1.7 Namensbereiche
24
1.8 Kommentare
26
1.9 Formatierte Ausgabe
29
1.10 Grafische Darstellung von Algorithmen
32
1.11 Kontrollfragen
34
2 Die Variablentypen int und bool
34
2.1 Einführende Gedanken
35
2.2 Varianten der ganzzahligen Variablen
36
2.3 Das Arbeiten mit Variablen
36
Definition
37
Ausgabe
37
Zuweisung und Initialisierung
38
2.4 Vereinfachungen in der Schreibweise
39
2.5 Die Eingabe
41
2.6 Eingaben auflerhalb des Bereichs
42
2.7 Boole’sche Werte
43
2.8 Formatierte Ausgabe
43
Ganzzahlen
48
Bool-Variablen
49
2.9 Kontrollfragen
50
3 Die Grundrechenarten
50
3.1 Die Operatoren +, –, *, /, (, )
53
3.2 Der %-Operator
53
3.3 Die Operatoren +=, –=, *=, /=, %=
55
3.4 Ausgabe von Ausdrücken
56
3.5 Die Operatoren ++ und --
59
3.6 Kontrollfragen
59
3.7 Übungen
62
4 Funktionen
63
4.1 Einführende Gedanken
64
4.2 Zerlegung in Teilaufgaben
66
Übersichtlichkeit
67
4.3 Das Bilden von Funktionsnamen
68
4.4 Prototypen
71
4.5 Funktionen in Module zusammenfassen
73
#ifndef, #endif und #define
73
4.6 Bezugsrahmen von Variablen
74
Lokale Variablen
77
Globale Variablen
79
Bezugsrahmenoperator
80
Statische Variablen
83
Globale Variablen bei mehreren Modulen
83
Globale statische Variablen
83
Zusammenfassung der Speicherklassen
85
4.7 Parameterübergabe
86
Übergabe mehrerer Parameter
87
4.8 Wertrückgabe
89
4.9 Prototypen von Funktionen mit Funktionsparametern
90
4.10 Die Wichtigkeit von return
91
4.11 Überladen von Funktionen
92
4.12 Default-Werte von Funktionsparametern
93
4.13 Referenzen
94
Referenzen als normale Variablen
95
4.14 inline-Funktionen
97
4.15 Kontrollfragen
98
4.16 Übungen
100
5 Entscheidungen
101
5.1 Einführende Gedanken
101
5.2 Entscheidungen im Programm
104
5.3 Die Vergleichsoperatoren
110
5.4 Die logische Negation
111
5.5 Der alternative Pfad
115
5.6 Logisches Verknüpfen von Bedingungen
115
Der logische UND-Operator
117
Der logische ODER-Operator
118
Verknüpfen von AND und OR
119
5.7 Kommutativität von UND und ODER
120
5.8 Bedingungen als Wert
122
5.9 »wahr« und »falsch« als Rückgabewert
123
5.10 Der Bedingungsoperator
124
5.11 Vorzeichenwechsel
125
5.12 Kontrollfragen
126
5.13 Übungen
128
6 Schleifen
128
6.1 Einführende Gedanken
129
6.2 Der Grundtyp einer Schleife
134
Mehrere Anweisungen in for
134
Der Verzicht auf die Initialisierung
135
Gleichzeitige Definition und Initialisierung
136
6.3 Schleifen mit Eintrittsbedingung
138
Simulation von for mit while
138
while ohne Anweisungsblock
139
6.4 Schleifen mit Austrittsbedingung
143
Simulation von for mit do-while
144
6.5 continue
146
6.6 Kontrollfragen
147
6.7 Übungen
148
7 Fallunterscheidung
148
7.1 switch
151
7.2 break
153
7.3 Zielgleiche case-Anweisungen
154
7.4 default
158
7.5 Kontrollfragen
158
7.6 Übung
160
8 Fließkommavariablen
161
8.1 Die Varianten der Fließkommavariablen
161
8.2 Ein komplexeres Beispiel
163
8.3 Typentscheidung bei gemischten Ausdrücken
163
8.4 Typumwandlung
165
8.5 Die Funktionen von cmath
166
Compiler ohne Namespaces
166
Die Funktionen
170
8.6 Berechnung von logxa
170
8.7 Transzendente Funktionen im Gradmaß
171
8.8 Formatierte Ausgabe
172
8.9 Kontrollfragen
172
8.10 Übungen
174
9 Der Variablentyp char
174
9.1 Definition von char
175
9.2 char und die Ganzzahlen
176
9.3 char und case
177
9.4 Einige nützliche Funktionen
181
Verschiedene Sprachumgebungen
181
9.5 Das Sedezimalsystem
183
9.6 Das Dualsystem
184
9.7 Kontrollfragen
184
9.8 Übung
186
10 Variablenfelder
186
10.1 Einführende Gedanken
187
10.2 Definition eines Feldes
189
10.3 Zeiger
189
Adressoperator &
191
Dereferenzierungsoperator *
194
Adressen als Funktionsparameter
195
Adressen als Rückgabewert
195
10.4 Felder als Funktionsparameter
198
10.5 Mehrdimensionale Felder
200
10.6 Verwaltung von Feldern
201
10.7 In-/Dekrementierung von Zeigern
203
10.8 Kontrollfragen
203
10.9 Übungen
206
11 Strings 1
206
11.1 Einführende Gedanken
207
11.2 Ein- und Ausgabe von Strings
210
11.3 Die cstring-Funktionen
214
11.4 Das Arbeiten mit Strings
215
Strings als Funktionsparameter
217
11.5 Die Parameter von main
220
11.6 Kontrollfragen
220
11.7 Übungen
222
12 Strukturen
222
12.1 Einführende Gedanken
224
12.2 Definition einer Struktur
226
Strukturen als Funktionsparameter
227
12.3 Zeiger auf Strukturen
228
12.4 Felder von Strukturen
229
12.5 Verschachtelte Strukturen
230
12.6 Unions
232
12.7 Der Aufzählungstyp enum
234
12.8 Eigene Typen mit typedef
235
12.9 Kontrollfragen
236
13 Die bitweisen Operatoren
237
13.1 Der AND-Operator
237
Bits ausmaskieren
238
13.2 Der inclusive-OR-Operatori
238
Bits setzen
239
13.3 Der exclusive-OR-Operator
239
13.4 Der NOT-Operator
240
13.5 Die Verschiebeoperatoren
240
Linksverschiebung
240
Rechtsverschiebung
241
13.6 Bitfelder
242
13.7 Kontrollfragen
243
13.8 Übungen
244
14 Objektorientierte Programmierung
244
14.1 Einführende Gedanken
245
Abstraktion
246
14.2 Die prozedurale Sichtweise
249
14.3 Die objektorientierte Sichtweise
251
14.4 Objekte, Instanzen, Klassen
252
14.5 Vererbung
254
14.6 Kontrollfragen
256
15 Klassen
257
15.1 Einführende Gedanken
257
15.2 Klassen und Attribute
258
15.3 Öffentliche und private Attribute
260
15.4 Methoden
267
Modulare Programmierung
268
inline
268
15.5 Konstruktoren und Destruktoren
271
Private Konstruktoren
271
Überladene Konstruktoren
272
15.6 Die Elementinitialisierungsliste
274
15.7 Statische Attribute
276
15.8 this
276
15.9 Konstante Klassen und Methoden
280
15.10 Freunde
282
15.11 Kontrollfragen
282
15.12 Übungen
284
16 Dynamische Speicherverwaltung
284
16.1 Einführende Gedanken
285
16.2 Reservieren von Speicherblöcken
286
16.3 Stacks
291
16.4 Explizite Konstruktoren
292
16.5 Kontrollfragen
292
16.6 Übung
294
17 Vererbung
294
17.1 Einführende Gedanken
296
17.2 Listen
298
17.3 Einfache Vererbung
300
17.4 Geschützte Elemente
302
17.5 Verschiedene Vererbungstypen
303
17.6 Polymorphismus
304
17.7 Virtuelle Funktionen
308
Dynamische Typüberprüfung
308
Rein virtuelle Funktionen
310
17.8 Zugriffsdeklarationen
312
17.9 Kontrollfragen
314
18 Strings 2
314
18.1 Einführende Gedanken
315
18.2 Erzeugen von Strings
316
18.3 Zuweisen und Verknüpfen von Strings
316
Strings anhängen
317
Strings addieren
317
Strings einfügen
317
Lesen und Schreiben einzelner Zeichen
318
18.4 String-Informationen
318
Vergleiche
318
Suchen
320
19 File-Handling
320
19.1 Textdateien
320
Daten speichern
322
Daten laden
322
19.2 Binärdateien
326
20 Ein größeres Projekt
328
1. Schritt
329
2. Schritt
332
3. Schritt
335
4. Schritt
338
5. Schritt
340
6. Schritt
346
Glossar
352
Index
352
!
352
A
352
B
353
C
353
D
353
E
354
F
354
G
354
H
354
I
354
K
355
L
355
M
355
N
355
O
356
P
356
Q
356
R
356
S
357
T
357
U
357
V
358
W
358
Z
369
© Copyright

