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

14,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 C18, 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 C18

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 C18, 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 C18
Über den Autor
Jürgen Wolf ist seit über 16 Jahren Autor und seit mehr als 10 Jahren passionierter Digitalfotograf. Seine Buchthemen sind Bildbearbeitung, Fotografie, Webentwicklung, Betriebssysteme und Programmierung. Und egal welches Thema: Bei jedem Buch ist es sein Ziel, auch komplexe Zusammenhänge klar und verständlich zu erklären.
Zusammenfassung
Mit Codebeispielen, Übungen und Lösungen zum Selbstlernen
Inhaltsverzeichnis
Vorwort ... 17
1. Einstieg in die Welt von C ... 21

1.1 ... Die Sprache C ... 21

1.2 ... Die C-Standardbibliothek ... 22

1.3 ... Die nötigen Werkzeuge für C ... 26

1.4 ... Übersetzen mit der Entwicklungsumgebung ... 29

1.5 ... Übersetzen mit GCC und Clang ... 33

1.6 ... Listings zum Buch ... 35

1.7 ... Kontrollfragen und Aufgaben im Buch ... 36

2. Erste Schritte in C ... 37

2.1 ... Das erste Programm in C ... 37

2.2 ... Die Funktion printf() ... 40

2.3 ... Zeichensätze in C ... 42

2.4 ... Symbole in C ... 45

2.5 ... Kommentare ... 50

2.6 ... Kontrollfragen und Aufgaben ... 52

3. Basisdatentypen in C ... 55

3.1 ... Variablen ... 55

3.2 ... Deklaration und Definition ... 56

3.3 ... Initialisierung und Zuweisung von Werten ... 58

3.4 ... Datentypen für Ganzzahlen ... 59

3.5 ... Datentypen für Zeichen ... 65

3.6 ... Datentypen für Fließkommazahlen ... 68

3.7 ... Boolescher Datentyp ... 72

3.8 ... Speicherbedarf mit sizeof ermitteln ... 73

3.9 ... Wertebereiche der Datentypen ermitteln ... 75

3.10 ... Konstanten erstellen ... 81

3.11 ... Lebensdauer und Sichtbarkeit von Variablen ... 82

3.12 ... void -- ein unvollständiger Typ ... 84

3.13 ... Kontrollfragen und Aufgaben ... 84

4. Rechnen mit C und Operatoren ... 85

4.1 ... Werte formatiert einlesen mit scanf() ... 85

4.2 ... Operatoren ... 89

4.3 ... Arithmetische Operatoren ... 93

4.4 ... Inkrement- und Dekrementoperator ... 95

4.5 ... Bitoperatoren ... 98

4.6 ... Implizite Typumwandlung ... 102

4.7 ... Explizite Typumwandlung ... 106

4.8 ... Mathematische Funktionen in C ... 107

4.9 ... Kontrollfragen und Aufgaben ... 112

5. Bedingte Anweisung und Verzweigung ... 115

5.1 ... Bedingte Anweisungen ... 115

5.2 ... Die alternative Verzweigung ... 121

5.3 ... Der Bedingungsoperator ?: ... 124

5.4 ... Die mehrfache Verzweigung mit if und else if ... 125

5.5 ... Mehrfache Verzweigung mit switch ... 130

5.6 ... Logische Verknüpfungen ... 136

5.7 ... Kontrollfragen und Aufgaben ... 143

6. Schleifen -- Programmteile wiederholen ... 147

6.1 ... Die Zählschleife -- for ... 147

6.2 ... Die kopfgesteuerte while-Schleife ... 152

6.3 ... Die fußgesteuerte do-while-Schleife ... 154

6.4 ... Kontrolliertes Verlassen von Schleifen ... 157

6.5 ... Kontrollfragen und Aufgaben ... 161

7. Funktionen erstellen ... 163

7.1 ... Funktionen definieren ... 164

7.2 ... Funktionen aufrufen ... 165

7.3 ... Funktionsdeklaration (Vorausdeklaration) ... 166

7.4 ... Funktionsparameter ... 169

7.5 ... Rückgabewert von Funktionen ... 171

7.6 ... Exkurs: Funktionen bei der Ausführung ... 175

7.7 ... Inline-Funktionen ... 176

7.8 ... Rekursionen ... 177

7.9 ... Die main()-Funktion ... 179

7.10 ... Programme mit exit() beenden ... 182

7.11 ... Globale, lokale und statische Variablen ... 183

7.12 ... Kontrollfragen und Aufgaben ... 191

8. Präprozessor-Direktiven ... 193

8.1 ... Dateien einfügen mit #include ... 194

8.2 ... Konstanten und Makros mit #define und #undef ... 195

8.3 ... Bedingte Kompilierung ... 202

8.4 ... Programmdiagnose mit assert() ... 209

8.5 ... Generische Auswahl ... 211

8.6 ... Eigene Header erstellen ... 213

8.7 ... Kontrollfragen und Aufgaben ... 215

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

9.1 ... Was genau sind Arrays? ... 219

9.2 ... Mehrdimensionale Arrays ... 232

9.3 ... Strings (Zeichenketten) ... 239

9.4 ... Kontrollfragen und Aufgaben ... 249

10. Zeiger (Pointer) ... 251

10.1 ... Zeiger vereinbaren ... 251

10.2 ... Zeiger verwenden ... 252

10.3 ... Zugriff auf den Inhalt von Zeigern ... 255

10.4 ... Zeiger als Funktionsparameter ... 260

10.5 ... Zeiger als Rückgabewert ... 261

10.6 ... Zeigerarithmetik ... 264

10.7 ... Zugriff auf Array-Elemente über Zeiger ... 265

10.8 ... Arrays und Zeiger als Funktionsparameter ... 268

10.9 ... char-Arrays und Zeiger ... 271

10.10 ... Arrays von Zeigern ... 272

10.11 ... void-Zeiger ... 275

10.12 ... Typqualifizierer bei Zeigern ... 276

10.13 ... Zeiger auf Funktionen ... 281

10.14 ... Kontrollfragen und Aufgaben ... 285

11. Dynamische Speicherverwaltung ... 289

11.1 ... Neuen Speicher zur Laufzeit reservieren ... 290

11.2 ... Speicherblöcke vergrößern oder verkleinern ... 295

11.3 ... Speicherblöcke wieder freigeben ... 300

11.4 ... Kontrollfragen und Aufgaben ... 302

12. Komplexe Datentypen ... 305

12.1 ... Strukturen ... 306

12.2 ... Unions ... 333

12.3 ... Der Aufzählungstyp enum ... 336

12.4 ... Eigene Typen mit typedef deklarieren ... 338

12.5 ... Kontrollfragen und Aufgaben ... 340

13. Dynamische Datenstrukturen ... 343

13.1 ... (Einfach) verkettete Listen ... 343

13.2 ... Doppelt verkettete Listen ... 357

13.3 ... Kontrollfragen und Aufgaben ... 358

14. Eingabe- und Ausgabefunktionen ... 361

14.1 ... Verschiedene Streams und Standard-Streams ... 361

14.2 ... Dateien ... 364

14.3 ... Dateien öffnen ... 365

14.4 ... Dateien schließen ... 371

14.5 ... Fehler oder Dateiende prüfen ... 372

14.6 ... Weitere Funktionen für die Ein- und Ausgabe ... 374

14.7 ... Funktionen zur formatierten Ein-/Ausgabe ... 387

14.8 ... Wahlfreier Dateizugriff ... 400

14.9 ... Sicherere Funktionen mit C11 ... 404

14.10 ... Datei löschen oder umbenennen ... 405

14.11 ... Pufferung ... 405

14.12 ... Kontrollfragen und Aufgaben ... 407

15. Zeitroutinen (time.h) ... 411

15.1 ... Die Funktion clock() ... 411

15.2 ... Erweiterte Zeitfunktionen ... 413

A. Übersichtstabellen wichtiger Sprachelemente ... 427

A.1 ... Operatorpriorität (Operator Precedence) ... 427

A.2 ... Reservierte Schlüsselwörter in C ... 429

A.3 ... Header-Dateien der Standardbibliothek ... 430

A.4 ... Kommandozeilenargumente ... 432

A.5 ... Weiterführende Ressourcen ... 435

B. Lösungen der Übungsaufgaben ... 437

B.1 ... Antworten und Lösungen zu Kapitel 2 ... 437

B.2 ... Antworten und Lösungen zu Kapitel 3 ... 438

B.3 ... Antworten und Lösungen zu Kapitel 4 ... 438

B.4 ... Antworten und Lösungen zu Kapitel 5 ... 440

B.5 ... Antworten und Lösungen zu Kapitel 6 ... 443

B.6 ... Antworten und Lösungen zu Kapitel 7 ... 446

B.7 ... Antworten und Lösungen zu Kapitel 8 ... 448

B.8 ... Antworten und Lösungen zu Kapitel 9 ... 451

B.9 ... Antworten und Lösungen zu Kapitel 10 ... 456

B.10 ... Antworten und Lösungen zu Kapitel 11 ... 461

B.11 ... Antworten und Lösungen zu Kapitel 12 ... 465

B.12 ... Antworten und Lösungen zu Kapitel 13 ... 469

B.13 ... Antworten und Lösungen zu Kapitel 14 ... 474

B.14 ... Antworten und Lösungen zu Kapitel 15 ... 476

Index ... 481
Details
Erscheinungsjahr: 2020
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Seiten: 487
Reihe: Rheinwerk Computing
Inhalt: 487 S.
ISBN-13: 9783836276894
ISBN-10: 3836276895
Sprache: Deutsch
Herstellernummer: 459/07689
Einband: Kartoniert / Broschiert
Autor: Wolf, Jürgen
Krooß, René
Auflage: 3. aktualisierte und überarbeitete Auflage 2020
Hersteller: Rheinwerk
Rheinwerk Verlag GmbH
Maße: 190 x 126 x 30 mm
Von/Mit: Jürgen Wolf (u. a.)
Erscheinungsdatum: 30.09.2020
Gewicht: 0,537 kg
preigu-id: 118910928
Über den Autor
Jürgen Wolf ist seit über 16 Jahren Autor und seit mehr als 10 Jahren passionierter Digitalfotograf. Seine Buchthemen sind Bildbearbeitung, Fotografie, Webentwicklung, Betriebssysteme und Programmierung. Und egal welches Thema: Bei jedem Buch ist es sein Ziel, auch komplexe Zusammenhänge klar und verständlich zu erklären.
Zusammenfassung
Mit Codebeispielen, Übungen und Lösungen zum Selbstlernen
Inhaltsverzeichnis
Vorwort ... 17
1. Einstieg in die Welt von C ... 21

1.1 ... Die Sprache C ... 21

1.2 ... Die C-Standardbibliothek ... 22

1.3 ... Die nötigen Werkzeuge für C ... 26

1.4 ... Übersetzen mit der Entwicklungsumgebung ... 29

1.5 ... Übersetzen mit GCC und Clang ... 33

1.6 ... Listings zum Buch ... 35

1.7 ... Kontrollfragen und Aufgaben im Buch ... 36

2. Erste Schritte in C ... 37

2.1 ... Das erste Programm in C ... 37

2.2 ... Die Funktion printf() ... 40

2.3 ... Zeichensätze in C ... 42

2.4 ... Symbole in C ... 45

2.5 ... Kommentare ... 50

2.6 ... Kontrollfragen und Aufgaben ... 52

3. Basisdatentypen in C ... 55

3.1 ... Variablen ... 55

3.2 ... Deklaration und Definition ... 56

3.3 ... Initialisierung und Zuweisung von Werten ... 58

3.4 ... Datentypen für Ganzzahlen ... 59

3.5 ... Datentypen für Zeichen ... 65

3.6 ... Datentypen für Fließkommazahlen ... 68

3.7 ... Boolescher Datentyp ... 72

3.8 ... Speicherbedarf mit sizeof ermitteln ... 73

3.9 ... Wertebereiche der Datentypen ermitteln ... 75

3.10 ... Konstanten erstellen ... 81

3.11 ... Lebensdauer und Sichtbarkeit von Variablen ... 82

3.12 ... void -- ein unvollständiger Typ ... 84

3.13 ... Kontrollfragen und Aufgaben ... 84

4. Rechnen mit C und Operatoren ... 85

4.1 ... Werte formatiert einlesen mit scanf() ... 85

4.2 ... Operatoren ... 89

4.3 ... Arithmetische Operatoren ... 93

4.4 ... Inkrement- und Dekrementoperator ... 95

4.5 ... Bitoperatoren ... 98

4.6 ... Implizite Typumwandlung ... 102

4.7 ... Explizite Typumwandlung ... 106

4.8 ... Mathematische Funktionen in C ... 107

4.9 ... Kontrollfragen und Aufgaben ... 112

5. Bedingte Anweisung und Verzweigung ... 115

5.1 ... Bedingte Anweisungen ... 115

5.2 ... Die alternative Verzweigung ... 121

5.3 ... Der Bedingungsoperator ?: ... 124

5.4 ... Die mehrfache Verzweigung mit if und else if ... 125

5.5 ... Mehrfache Verzweigung mit switch ... 130

5.6 ... Logische Verknüpfungen ... 136

5.7 ... Kontrollfragen und Aufgaben ... 143

6. Schleifen -- Programmteile wiederholen ... 147

6.1 ... Die Zählschleife -- for ... 147

6.2 ... Die kopfgesteuerte while-Schleife ... 152

6.3 ... Die fußgesteuerte do-while-Schleife ... 154

6.4 ... Kontrolliertes Verlassen von Schleifen ... 157

6.5 ... Kontrollfragen und Aufgaben ... 161

7. Funktionen erstellen ... 163

7.1 ... Funktionen definieren ... 164

7.2 ... Funktionen aufrufen ... 165

7.3 ... Funktionsdeklaration (Vorausdeklaration) ... 166

7.4 ... Funktionsparameter ... 169

7.5 ... Rückgabewert von Funktionen ... 171

7.6 ... Exkurs: Funktionen bei der Ausführung ... 175

7.7 ... Inline-Funktionen ... 176

7.8 ... Rekursionen ... 177

7.9 ... Die main()-Funktion ... 179

7.10 ... Programme mit exit() beenden ... 182

7.11 ... Globale, lokale und statische Variablen ... 183

7.12 ... Kontrollfragen und Aufgaben ... 191

8. Präprozessor-Direktiven ... 193

8.1 ... Dateien einfügen mit #include ... 194

8.2 ... Konstanten und Makros mit #define und #undef ... 195

8.3 ... Bedingte Kompilierung ... 202

8.4 ... Programmdiagnose mit assert() ... 209

8.5 ... Generische Auswahl ... 211

8.6 ... Eigene Header erstellen ... 213

8.7 ... Kontrollfragen und Aufgaben ... 215

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

9.1 ... Was genau sind Arrays? ... 219

9.2 ... Mehrdimensionale Arrays ... 232

9.3 ... Strings (Zeichenketten) ... 239

9.4 ... Kontrollfragen und Aufgaben ... 249

10. Zeiger (Pointer) ... 251

10.1 ... Zeiger vereinbaren ... 251

10.2 ... Zeiger verwenden ... 252

10.3 ... Zugriff auf den Inhalt von Zeigern ... 255

10.4 ... Zeiger als Funktionsparameter ... 260

10.5 ... Zeiger als Rückgabewert ... 261

10.6 ... Zeigerarithmetik ... 264

10.7 ... Zugriff auf Array-Elemente über Zeiger ... 265

10.8 ... Arrays und Zeiger als Funktionsparameter ... 268

10.9 ... char-Arrays und Zeiger ... 271

10.10 ... Arrays von Zeigern ... 272

10.11 ... void-Zeiger ... 275

10.12 ... Typqualifizierer bei Zeigern ... 276

10.13 ... Zeiger auf Funktionen ... 281

10.14 ... Kontrollfragen und Aufgaben ... 285

11. Dynamische Speicherverwaltung ... 289

11.1 ... Neuen Speicher zur Laufzeit reservieren ... 290

11.2 ... Speicherblöcke vergrößern oder verkleinern ... 295

11.3 ... Speicherblöcke wieder freigeben ... 300

11.4 ... Kontrollfragen und Aufgaben ... 302

12. Komplexe Datentypen ... 305

12.1 ... Strukturen ... 306

12.2 ... Unions ... 333

12.3 ... Der Aufzählungstyp enum ... 336

12.4 ... Eigene Typen mit typedef deklarieren ... 338

12.5 ... Kontrollfragen und Aufgaben ... 340

13. Dynamische Datenstrukturen ... 343

13.1 ... (Einfach) verkettete Listen ... 343

13.2 ... Doppelt verkettete Listen ... 357

13.3 ... Kontrollfragen und Aufgaben ... 358

14. Eingabe- und Ausgabefunktionen ... 361

14.1 ... Verschiedene Streams und Standard-Streams ... 361

14.2 ... Dateien ... 364

14.3 ... Dateien öffnen ... 365

14.4 ... Dateien schließen ... 371

14.5 ... Fehler oder Dateiende prüfen ... 372

14.6 ... Weitere Funktionen für die Ein- und Ausgabe ... 374

14.7 ... Funktionen zur formatierten Ein-/Ausgabe ... 387

14.8 ... Wahlfreier Dateizugriff ... 400

14.9 ... Sicherere Funktionen mit C11 ... 404

14.10 ... Datei löschen oder umbenennen ... 405

14.11 ... Pufferung ... 405

14.12 ... Kontrollfragen und Aufgaben ... 407

15. Zeitroutinen (time.h) ... 411

15.1 ... Die Funktion clock() ... 411

15.2 ... Erweiterte Zeitfunktionen ... 413

A. Übersichtstabellen wichtiger Sprachelemente ... 427

A.1 ... Operatorpriorität (Operator Precedence) ... 427

A.2 ... Reservierte Schlüsselwörter in C ... 429

A.3 ... Header-Dateien der Standardbibliothek ... 430

A.4 ... Kommandozeilenargumente ... 432

A.5 ... Weiterführende Ressourcen ... 435

B. Lösungen der Übungsaufgaben ... 437

B.1 ... Antworten und Lösungen zu Kapitel 2 ... 437

B.2 ... Antworten und Lösungen zu Kapitel 3 ... 438

B.3 ... Antworten und Lösungen zu Kapitel 4 ... 438

B.4 ... Antworten und Lösungen zu Kapitel 5 ... 440

B.5 ... Antworten und Lösungen zu Kapitel 6 ... 443

B.6 ... Antworten und Lösungen zu Kapitel 7 ... 446

B.7 ... Antworten und Lösungen zu Kapitel 8 ... 448

B.8 ... Antworten und Lösungen zu Kapitel 9 ... 451

B.9 ... Antworten und Lösungen zu Kapitel 10 ... 456

B.10 ... Antworten und Lösungen zu Kapitel 11 ... 461

B.11 ... Antworten und Lösungen zu Kapitel 12 ... 465

B.12 ... Antworten und Lösungen zu Kapitel 13 ... 469

B.13 ... Antworten und Lösungen zu Kapitel 14 ... 474

B.14 ... Antworten und Lösungen zu Kapitel 15 ... 476

Index ... 481
Details
Erscheinungsjahr: 2020
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Seiten: 487
Reihe: Rheinwerk Computing
Inhalt: 487 S.
ISBN-13: 9783836276894
ISBN-10: 3836276895
Sprache: Deutsch
Herstellernummer: 459/07689
Einband: Kartoniert / Broschiert
Autor: Wolf, Jürgen
Krooß, René
Auflage: 3. aktualisierte und überarbeitete Auflage 2020
Hersteller: Rheinwerk
Rheinwerk Verlag GmbH
Maße: 190 x 126 x 30 mm
Von/Mit: Jürgen Wolf (u. a.)
Erscheinungsdatum: 30.09.2020
Gewicht: 0,537 kg
preigu-id: 118910928
Warnhinweis

Ähnliche Produkte

Ähnliche Produkte