Wolf / Krooß | Grundkurs C | Buch | 978-3-367-10440-6 | sack.de

Buch, Deutsch, 506 Seiten, Format (B × H): 125 mm x 190 mm, Gewicht: 564 g

Reihe: Rheinwerk Computing

Wolf / Krooß

Grundkurs C

C-Programmierung verständlich erklärt. Aktuell zum Standard C23. Ideal fürs Studium
4. aktualisierte und erweiterte Auflage 2024
ISBN: 978-3-367-10440-6
Verlag: Rheinwerk Verlag GmbH

C-Programmierung verständlich erklärt. Aktuell zum Standard C23. Ideal fürs Studium

Buch, Deutsch, 506 Seiten, Format (B × H): 125 mm x 190 mm, Gewicht: 564 g

Reihe: Rheinwerk Computing

ISBN: 978-3-367-10440-6
Verlag: Rheinwerk Verlag GmbH


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

Wolf / Krooß Grundkurs C jetzt bestellen!

Weitere Infos & Material



  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



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.