Zum Hauptinhalt springen
Dekorationsartikel gehören nicht zum Leistungsumfang.
Grundkurs C
C-Programmierung verständlich erklärt. Aktuell zum Standard C23. Ideal fürs Studium
Taschenbuch von Jürgen Wolf (u. a.)
Sprache: Deutsch

16,90 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

auf Lager, Lieferzeit 1-2 Werktage

Kategorien:
Beschreibung
Die kompakte Einführung in C im praktischen Taschenbuchformat.
Das Buch führt Sie übersichtlich in alle Sprachgrundlagen ein, bevor es um fortgeschrittene Themen wie Zeiger oder dynamische Speicherverwaltung geht. Mit dem aktuellen Standard C23, aber auch für ältere Compiler. Viele Codebeispiele und Tabellen sowie eine Funktionsreferenz machen das Buch zu Ihrem nützlichen Begleiter. Zu jedem Kapitel bieten Aufgaben mit kommentierten Lösungen eine Lernkontrolle und laden dazu ein, selbst Hand anzulegen. Ideal als Vorlesungsbegleiter oder zum Auffrischen.

Aus dem Inhalt:

  • Erste Schritte in C
  • Verzweigungen und Schleifen
  • Funktionen
  • Präprozessor-Direktiven
  • Arrays und Zeichenketten
  • Zeiger
  • Dynamische Speicherverwaltung
  • Dynamische Datenstrukturen
  • Eingabe- und Ausgabe-Funktionen
  • Aktueller ISO-Standard C23
Die kompakte Einführung in C im praktischen Taschenbuchformat.
Das Buch führt Sie übersichtlich in alle Sprachgrundlagen ein, bevor es um fortgeschrittene Themen wie Zeiger oder dynamische Speicherverwaltung geht. Mit dem aktuellen Standard C23, aber auch für ältere Compiler. Viele Codebeispiele und Tabellen sowie eine Funktionsreferenz machen das Buch zu Ihrem nützlichen Begleiter. Zu jedem Kapitel bieten Aufgaben mit kommentierten Lösungen eine Lernkontrolle und laden dazu ein, selbst Hand anzulegen. Ideal als Vorlesungsbegleiter oder zum Auffrischen.

Aus dem Inhalt:

  • Erste Schritte in C
  • Verzweigungen und Schleifen
  • Funktionen
  • Präprozessor-Direktiven
  • Arrays und Zeichenketten
  • Zeiger
  • Dynamische Speicherverwaltung
  • Dynamische Datenstrukturen
  • Eingabe- und Ausgabe-Funktionen
  • Aktueller ISO-Standard C23
Inhaltsverzeichnis
Materialien zum Buch ... 16
Vorwort ... 17
1. Der Einstieg in die Welt von C ... 21

1.1 ... Die Sprache C ... 21
1.2 ... Die C-Standardbibliothek ... 23
1.3 ... Die nötigen Werkzeuge für C ... 28
1.4 ... Übersetzen mit der Entwicklungsumgebung ... 32
1.5 ... Übersetzen mit GCC und Clang ... 35
1.6 ... Listings zum Buch ... 37
1.7 ... Kontrollfragen und Aufgaben im Buch ... 38
1.8 ... Aufgabe ... 38

2. Erste Schritte in C ... 41

2.1 ... Das erste Programm genauer betrachtet ... 41
2.2 ... Die Funktion printf() ... 44
2.3 ... Zeichensätze in C ... 46
2.4 ... Symbole in C ... 49
2.5 ... Kommentare ... 55
2.6 ... Kontrollfragen und Aufgaben ... 56

3. Basisdatentypen in C ... 59

3.1 ... Variablen ... 59
3.2 ... Deklaration und Definition ... 60
3.3 ... Initialisierung und Zuweisung von Werten ... 62
3.4 ... Datentypen für Ganzzahlen ... 63
3.5 ... Datentypen für Zeichen ... 70
3.6 ... Datentypen für Fließkommazahlen ... 74
3.7 ... Boolescher Datentyp ... 78
3.8 ... Speicherbedarf mit sizeof ermitteln ... 80
3.9 ... Die Wertebereiche der Datentypen ermitteln ... 82
3.10 ... Konstanten erstellen ... 88
3.11 ... Lebensdauer und Sichtbarkeit von Variablen ... 89
3.12 ... void -- ein unvollständiger Typ ... 91
3.13 ... Kontrollfragen und Aufgaben ... 91

4. Rechnen mit C und Operatoren ... 93

4.1 ... Werte formatiert einlesen mit scanf() ... 93
4.2 ... Operatoren ... 97
4.3 ... Arithmetische Operatoren ... 101
4.4 ... Der Inkrement- und der Dekrement-Operator ... 103
4.5 ... Bit-Operatoren ... 106
4.6 ... Implizite Typumwandlung ... 112
4.7 ... Explizite Typumwandlung ... 116
4.8 ... Mathematische Funktionen in C ... 117
4.9 ... Kontrollfragen und Aufgaben ... 121

5. Bedingte Anweisungen und Verzweigungen ... 125

5.1 ... Bedingte Anweisungen ... 125
5.2 ... Die alternative Verzweigung ... 131
5.3 ... Der Bedingungsoperator ?: ... 134
5.4 ... Die mehrfache Verzweigung mit if und else if ... 135
5.5 ... Mehrfache Verzweigung mit switch ... 140
5.6 ... Logische Verknüpfungen ... 147
5.7 ... Kontrollfragen und Aufgaben ... 154

6. Schleifen -- Programmteile wiederholen ... 157

6.1 ... Die Zählschleife -- for ... 157
6.2 ... Die kopfgesteuerte while-Schleife ... 162
6.3 ... Die fußgesteuerte do-while-Schleife ... 165
6.4 ... Kontrolliertes Verlassen von Schleifen ... 168
6.5 ... Kontrollfragen und Aufgaben ... 171

7. Funktionen erstellen ... 173

7.1 ... Funktionen definieren ... 174
7.2 ... Funktionen aufrufen ... 175
7.3 ... Funktionsdeklaration (Vorausdeklaration) ... 176
7.4 ... Funktionsparameter ... 179
7.5 ... Rückgabewert von Funktionen ... 181
7.6 ... Exkurs: Funktionen bei der Ausführung ... 185
7.7 ... Inline-Funktionen ... 186
7.8 ... Rekursionen ... 188
7.9 ... Die main()-Funktion ... 190
7.10 ... Programme mit exit() beenden ... 192
7.11 ... Globale, lokale und statische Variablen ... 194
7.12 ... Kontrollfragen und Aufgaben ... 202

8. Präprozessor-Direktiven ... 205

8.1 ... Dateien einfügen mit #include ... 206
8.2 ... Konstanten und Makros mit #define und #undef ... 208
8.3 ... Bedingte Kompilierung ... 215
8.4 ... Programmdiagnose mit assert() ... 222
8.5 ... Generische Auswahl ... 223
8.6 ... Eigene Header-Dateien erstellen ... 225
8.7 ... Kontrollfragen und Aufgaben ... 227

9. Arrays und Zeichenketten (Strings) ... 231

9.1 ... Was genau sind Arrays? ... 231
9.2 ... Mehrdimensionale Arrays ... 245
9.3 ... Strings (Zeichenketten) ... 252
9.4 ... Kontrollfragen und Aufgaben ... 262

10. Zeiger (Pointer) ... 265

10.1 ... Zeiger vereinbaren ... 265
10.2 ... Zeiger verwenden ... 267
10.3 ... Zugriff auf den Inhalt von Zeigern ... 269
10.4 ... Zeiger als Funktionsparameter ... 274
10.5 ... Zeiger als Rückgabewert ... 275
10.6 ... Zeigerarithmetik ... 278
10.7 ... Zugriff auf Array-Elemente über Zeiger ... 279
10.8 ... Arrays und Zeiger als Funktionsparameter ... 283
10.9 ... char-Arrays und Zeiger ... 285
10.10 ... Arrays von Zeigern ... 287
10.11 ... void-Zeiger ... 290
10.12 ... Typqualifizierer bei Zeigern ... 291
10.13 ... Zeiger auf Funktionen ... 296
10.14 ... Kontrollfragen und Aufgaben ... 300

11. Dynamische Speicherverwaltung ... 303

11.1 ... Neuen Speicher zur Laufzeit reservieren ... 304
11.2 ... Speicherblöcke vergrößern oder verkleinern ... 310
11.3 ... Speicherblöcke wieder freigeben ... 314
11.4 ... Kontrollfragen und Aufgaben ... 317

12. Komplexe Datentypen ... 319

12.1 ... Strukturen ... 320
12.2 ... Unions ... 348
12.3 ... Der Aufzählungstyp enum ... 351
12.4 ... Eigene Typen mit typedef deklarieren ... 353
12.5 ... Kontrollfragen und Aufgaben ... 355

13. Dynamische Datenstrukturen ... 359

13.1 ... Einfach verkettete Listen ... 360
13.2 ... Doppelt verkettete Listen ... 373
13.3 ... Kontrollfragen und Aufgaben ... 375

14. Eingabe- und Ausgabefunktionen ... 377

14.1 ... Verschiedene Streams und Standard-Streams ... 377
14.2 ... Dateien ... 380
14.3 ... Dateien öffnen ... 382
14.4 ... Dateien schließen ... 388
14.5 ... Auf Fehler oder das Dateiende prüfen ... 389
14.6 ... Weitere Funktionen für die Ein- und Ausgabe ... 391
14.7 ... Funktionen zur formatierten Ein-/Ausgabe ... 405
14.8 ... Wahlfreier Dateizugriff ... 418
14.9 ... Sicherere Funktionen mit C11 ... 422
14.10 ... Datei löschen oder umbenennen ... 423
14.11 ... Pufferung ... 423
14.12 ... Kontrollfragen und Aufgaben ... 425

15. Zeitroutinen (time.h) ... 429

15.1 ... Die Funktion clock() ... 429
15.2 ... Erweiterte Zeitfunktionen ... 431
15.3 ... Kontrollfragen und Aufgaben ... 441
15.4 ... Schlusswort ... 443

Anhang ... 445

A ... Übersichtstabellen wichtiger Sprachelemente ... 445
B ... Lösungen der Übungsaufgaben ... 455

Index ... 499
Details
Erscheinungsjahr: 2024
Fachbereich: Programmiersprachen
Genre: Informatik, Mathematik, Medizin, Naturwissenschaften, Technik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Inhalt: 496 S.
ISBN-13: 9783367104406
ISBN-10: 336710440X
Sprache: Deutsch
Einband: Kartoniert / Broschiert
Autor: Wolf, Jürgen
Krooß, René
Auflage: 4. Auflage
Hersteller: Rheinwerk Verlag GmbH
Maße: 190 x 125 x 30 mm
Von/Mit: Jürgen Wolf (u. a.)
Erscheinungsdatum: 07.11.2024
Gewicht: 0,564 kg
Artikel-ID: 129668048
Inhaltsverzeichnis
Materialien zum Buch ... 16
Vorwort ... 17
1. Der Einstieg in die Welt von C ... 21

1.1 ... Die Sprache C ... 21
1.2 ... Die C-Standardbibliothek ... 23
1.3 ... Die nötigen Werkzeuge für C ... 28
1.4 ... Übersetzen mit der Entwicklungsumgebung ... 32
1.5 ... Übersetzen mit GCC und Clang ... 35
1.6 ... Listings zum Buch ... 37
1.7 ... Kontrollfragen und Aufgaben im Buch ... 38
1.8 ... Aufgabe ... 38

2. Erste Schritte in C ... 41

2.1 ... Das erste Programm genauer betrachtet ... 41
2.2 ... Die Funktion printf() ... 44
2.3 ... Zeichensätze in C ... 46
2.4 ... Symbole in C ... 49
2.5 ... Kommentare ... 55
2.6 ... Kontrollfragen und Aufgaben ... 56

3. Basisdatentypen in C ... 59

3.1 ... Variablen ... 59
3.2 ... Deklaration und Definition ... 60
3.3 ... Initialisierung und Zuweisung von Werten ... 62
3.4 ... Datentypen für Ganzzahlen ... 63
3.5 ... Datentypen für Zeichen ... 70
3.6 ... Datentypen für Fließkommazahlen ... 74
3.7 ... Boolescher Datentyp ... 78
3.8 ... Speicherbedarf mit sizeof ermitteln ... 80
3.9 ... Die Wertebereiche der Datentypen ermitteln ... 82
3.10 ... Konstanten erstellen ... 88
3.11 ... Lebensdauer und Sichtbarkeit von Variablen ... 89
3.12 ... void -- ein unvollständiger Typ ... 91
3.13 ... Kontrollfragen und Aufgaben ... 91

4. Rechnen mit C und Operatoren ... 93

4.1 ... Werte formatiert einlesen mit scanf() ... 93
4.2 ... Operatoren ... 97
4.3 ... Arithmetische Operatoren ... 101
4.4 ... Der Inkrement- und der Dekrement-Operator ... 103
4.5 ... Bit-Operatoren ... 106
4.6 ... Implizite Typumwandlung ... 112
4.7 ... Explizite Typumwandlung ... 116
4.8 ... Mathematische Funktionen in C ... 117
4.9 ... Kontrollfragen und Aufgaben ... 121

5. Bedingte Anweisungen und Verzweigungen ... 125

5.1 ... Bedingte Anweisungen ... 125
5.2 ... Die alternative Verzweigung ... 131
5.3 ... Der Bedingungsoperator ?: ... 134
5.4 ... Die mehrfache Verzweigung mit if und else if ... 135
5.5 ... Mehrfache Verzweigung mit switch ... 140
5.6 ... Logische Verknüpfungen ... 147
5.7 ... Kontrollfragen und Aufgaben ... 154

6. Schleifen -- Programmteile wiederholen ... 157

6.1 ... Die Zählschleife -- for ... 157
6.2 ... Die kopfgesteuerte while-Schleife ... 162
6.3 ... Die fußgesteuerte do-while-Schleife ... 165
6.4 ... Kontrolliertes Verlassen von Schleifen ... 168
6.5 ... Kontrollfragen und Aufgaben ... 171

7. Funktionen erstellen ... 173

7.1 ... Funktionen definieren ... 174
7.2 ... Funktionen aufrufen ... 175
7.3 ... Funktionsdeklaration (Vorausdeklaration) ... 176
7.4 ... Funktionsparameter ... 179
7.5 ... Rückgabewert von Funktionen ... 181
7.6 ... Exkurs: Funktionen bei der Ausführung ... 185
7.7 ... Inline-Funktionen ... 186
7.8 ... Rekursionen ... 188
7.9 ... Die main()-Funktion ... 190
7.10 ... Programme mit exit() beenden ... 192
7.11 ... Globale, lokale und statische Variablen ... 194
7.12 ... Kontrollfragen und Aufgaben ... 202

8. Präprozessor-Direktiven ... 205

8.1 ... Dateien einfügen mit #include ... 206
8.2 ... Konstanten und Makros mit #define und #undef ... 208
8.3 ... Bedingte Kompilierung ... 215
8.4 ... Programmdiagnose mit assert() ... 222
8.5 ... Generische Auswahl ... 223
8.6 ... Eigene Header-Dateien erstellen ... 225
8.7 ... Kontrollfragen und Aufgaben ... 227

9. Arrays und Zeichenketten (Strings) ... 231

9.1 ... Was genau sind Arrays? ... 231
9.2 ... Mehrdimensionale Arrays ... 245
9.3 ... Strings (Zeichenketten) ... 252
9.4 ... Kontrollfragen und Aufgaben ... 262

10. Zeiger (Pointer) ... 265

10.1 ... Zeiger vereinbaren ... 265
10.2 ... Zeiger verwenden ... 267
10.3 ... Zugriff auf den Inhalt von Zeigern ... 269
10.4 ... Zeiger als Funktionsparameter ... 274
10.5 ... Zeiger als Rückgabewert ... 275
10.6 ... Zeigerarithmetik ... 278
10.7 ... Zugriff auf Array-Elemente über Zeiger ... 279
10.8 ... Arrays und Zeiger als Funktionsparameter ... 283
10.9 ... char-Arrays und Zeiger ... 285
10.10 ... Arrays von Zeigern ... 287
10.11 ... void-Zeiger ... 290
10.12 ... Typqualifizierer bei Zeigern ... 291
10.13 ... Zeiger auf Funktionen ... 296
10.14 ... Kontrollfragen und Aufgaben ... 300

11. Dynamische Speicherverwaltung ... 303

11.1 ... Neuen Speicher zur Laufzeit reservieren ... 304
11.2 ... Speicherblöcke vergrößern oder verkleinern ... 310
11.3 ... Speicherblöcke wieder freigeben ... 314
11.4 ... Kontrollfragen und Aufgaben ... 317

12. Komplexe Datentypen ... 319

12.1 ... Strukturen ... 320
12.2 ... Unions ... 348
12.3 ... Der Aufzählungstyp enum ... 351
12.4 ... Eigene Typen mit typedef deklarieren ... 353
12.5 ... Kontrollfragen und Aufgaben ... 355

13. Dynamische Datenstrukturen ... 359

13.1 ... Einfach verkettete Listen ... 360
13.2 ... Doppelt verkettete Listen ... 373
13.3 ... Kontrollfragen und Aufgaben ... 375

14. Eingabe- und Ausgabefunktionen ... 377

14.1 ... Verschiedene Streams und Standard-Streams ... 377
14.2 ... Dateien ... 380
14.3 ... Dateien öffnen ... 382
14.4 ... Dateien schließen ... 388
14.5 ... Auf Fehler oder das Dateiende prüfen ... 389
14.6 ... Weitere Funktionen für die Ein- und Ausgabe ... 391
14.7 ... Funktionen zur formatierten Ein-/Ausgabe ... 405
14.8 ... Wahlfreier Dateizugriff ... 418
14.9 ... Sicherere Funktionen mit C11 ... 422
14.10 ... Datei löschen oder umbenennen ... 423
14.11 ... Pufferung ... 423
14.12 ... Kontrollfragen und Aufgaben ... 425

15. Zeitroutinen (time.h) ... 429

15.1 ... Die Funktion clock() ... 429
15.2 ... Erweiterte Zeitfunktionen ... 431
15.3 ... Kontrollfragen und Aufgaben ... 441
15.4 ... Schlusswort ... 443

Anhang ... 445

A ... Übersichtstabellen wichtiger Sprachelemente ... 445
B ... Lösungen der Übungsaufgaben ... 455

Index ... 499
Details
Erscheinungsjahr: 2024
Fachbereich: Programmiersprachen
Genre: Informatik, Mathematik, Medizin, Naturwissenschaften, Technik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Inhalt: 496 S.
ISBN-13: 9783367104406
ISBN-10: 336710440X
Sprache: Deutsch
Einband: Kartoniert / Broschiert
Autor: Wolf, Jürgen
Krooß, René
Auflage: 4. Auflage
Hersteller: Rheinwerk Verlag GmbH
Maße: 190 x 125 x 30 mm
Von/Mit: Jürgen Wolf (u. a.)
Erscheinungsdatum: 07.11.2024
Gewicht: 0,564 kg
Artikel-ID: 129668048
Warnhinweis

Ähnliche Produkte

Ähnliche Produkte