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

Taschenbuch
16,90 €
inkl. MwSt. zzgl. Versandkosten

Reduzierte Artikel in dieser Kategorie

Preisbindung aufgehoben3
9,99 € 44,90 €3
Preisbindung aufgehoben3
4,99 € 14,90 €3

Produktdetails  
Verlag Rheinwerk Verlag
Auflage 4. Auflage, 07.11.2024
Seiten 506
Format 12,5 x 2,8 x 19,1 cm
Großformatiges Paperback. Klappenbroschur
Gewicht 563 g
ISBN-10 336710440X
ISBN-13 9783367104406
Bestell-Nr 36710440A

Produktbeschreibung  

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


Inhalt:



  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

Mehr Angebote zum Thema