Grundkurs C - Jürgen Wolf, René Krooß

Jürgen Wolf, René Krooß

Grundkurs C

eBook Ausgabe. 4. Auflage
eBook (epub), 506 Seiten
EAN 9783367104420
Veröffentlicht November 2024
Verlag/Hersteller Rheinwerk Verlag GmbH
13,52 inkl. MwSt.
Sofort Lieferbar (Download)
Teilen
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

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

Technik
Sie können dieses eBook zum Beispiel mit den folgenden Geräten lesen:
• tolino Reader 
Laden Sie das eBook direkt über den Reader-Shop auf dem tolino herunter oder übertragen Sie das eBook auf Ihren tolino mit einer kostenlosen Software wie beispielsweise Adobe Digital Editions. 
• Sony Reader & andere eBook Reader 
Laden Sie das eBook direkt über den Reader-Shop herunter oder übertragen Sie das eBook mit der kostenlosen Software Sony READER FOR PC/Mac oder Adobe Digital Editions auf ein Standard-Lesegeräte. 
• Tablets & Smartphones 
Möchten Sie dieses eBook auf Ihrem Smartphone oder Tablet lesen, finden Sie hier unsere kostenlose Lese-App für iPhone/iPad und Android Smartphone/Tablets. 
• PC & Mac 
Lesen Sie das eBook direkt nach dem Herunterladen mit einer kostenlosen Lesesoftware, beispielsweise Adobe Digital Editions, Sony READER FOR PC/Mac oder direkt über Ihre eBook-Bibliothek in Ihrem Konto unter „Meine eBooks“ -  „online lesen“.
 
Bitte beachten Sie, dass die Kindle-Geräte das Format nicht unterstützen und dieses eBook somit nicht auf Kindle-Geräten lesbar ist.
Hersteller
Rheinwerk Verlag GmbH
Rheinwerkallee 4

DE - 53227 Bonn

E-Mail: Info@rheinwerk-verlag.de