Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Grundkurs C: C-Programmierung verständlich erklärt - Jürgen Wolf

Grundkurs C: C-Programmierung verständlich erklärt

(Autor)

Buch | Softcover
404 Seiten
2010
Rheinwerk (Verlag)
978-3-8362-1546-6 (ISBN)
CHF 13,85 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
Kompaktes C-Wissen im praktischen Taschenbuch-Format. Alle Sprachgrundlagen werden kurz und übersichtlich dargestellt; Übersichtstabellen und eine Funktionsreferenz machen das Buch zum praktischen Begleiter. Auch Einsteiger lernen schnell, ihre ersten Programme zu schreiben, Übungsaufgaben in drei Schwierigkeitsstufen helfen bei der Lernkontrolle. Das Buch eignet sich hervorragend für Studenten der Informatik und anderer technischer Fächer.

Aus dem Inhalt:

Das erste Programm in C
Basisdatentypen
Typumwandlung
Verzweigungen
Schleifen
Funktionen
Sichtbarkeit, Gültigkeitsbereich und Lebensdauer
Präprozessor-Direktiven
Arrays und Zeichenketten (Strings)
Zeiger (Pointer)
Dynamische Speicherverwaltung
Fortgeschrittene Datentypen
Dynamische Datenstrukturen
Eingabe- und Ausgabe-Funktionen

Galileo Press heißt jetzt Rheinwerk Verlag.

Jürgen Wolf ist Softwareentwickler, Digitalfotograf und Autor aus Leidenschaft. C/C++, Perl, Linux und die Bildbearbeitung mit Photoshop Elements und GIMP sind seine Themen. Sein Traum: ein ruhiges Leben im Westen Kanadas. Und Bücher auf der Veranda schreiben.



... Vorwort ... 15


1 ... Einstieg in die Welt von C ... 16
... 1.1 ... Es war einmal ... ... 16
... 1.2 ... Der ANSI-C-Standard ... 17
... 1.3 ... Was brauche ich für C? ... 18
... 1.4 ... Welches Betriebssystem ...? ... 20
... 1.5 ... Listings zum Buch ... 20
... 1.6 ... Schreibkonventionen im Buch ... 21
... 1.7 ... Aufgaben im Buch ... 22


2 ... Die ersten Schritte ... 23
... 2.1 ... Das erste Programm in C ... 23
... 2.2 ... Die Funktion »printf« ... 25
... 2.3 ... Zeichensätze ... 28
... 2.4 ... Symbole von C ... 30
... 2.5 ... Kommentare ... 34
... 2.6 ... Aufgaben ... 35


3 ... Grundlegendes zu den Basisdatentypen ... 37
... 3.1 ... Deklaration und Definition ... 37
... 3.2 ... Initialisieren einer Variablen ... 38
... 3.3 ... Datentypen für Ganzzahlen ... 39
... 3.4 ... Die Funktion scanf ... 44
... 3.5 ... Fließkommazahlen ... 45
... 3.6 ... Rechnen mit Zahlen ... 52
... 3.7 ... Datentyp für Zeichen ... 69
... 3.8 ... Boolescher Datentyp (C99) ... 73
... 3.9 ... Aufgaben ... 74


4 ... Typenumwandlung (Casts) ... 76
... 4.1 ... Implizite Umwandlung des Compilers ... 76
... 4.2 ... Explizite Umwandlung durchführen ... 84
... 4.3 ... Aufgaben ... 85


5 ... Verzweigungen ... 88
... 5.1 ... Bedingte Anweisung ... 88
... 5.2 ... Der Bedingungsoperator ?: ... 98
... 5.3 ... Logische Verknüpfungen ... 100
... 5.4 ... Die Fallunterscheidung -- switch ... 105
... 5.5 ... Aufgaben ... 110


6 ... Schleifen -- Programmteile wiederholen ... 114
... 6.1 ... Die Zählschleife -- for ... 114
... 6.2 ... Die kopfgesteuerte while-Schleife ... 118
... 6.3 ... Die fußgesteuerte do-while-Schleife ... 120
... 6.4 ... Kontrollierte Sprünge aus Schleifen ... 122
... 6.5 ... Endlosschleifen ... 125
... 6.6 ... Fehlervermeidung bei Schleifen ... 126
... 6.7 ... Aufgaben ... 128


7 ... Funktionen erstellen ... 131
... 7.1 ... Funktionen definieren ... 131
... 7.2 ... Funktionen aufrufen ... 132
... 7.3 ... Funktionsdeklaration (Vorwärts-Deklaration) ... 133
... 7.4 ... Funktionsparameter (call-by-value) ... 134
... 7.5 ... Rückgabewert von Funktionen ... 136
... 7.6 ... Exkurs: Funktion bei der Ausführung ... 139
... 7.7 ... Inline-Funktionen (C99) ... 140
... 7.8 ... Rekursionen ... 142
... 7.9 ... main-Funktion ... 143
... 7.10 ... Aufgaben ... 146


8 ... Sichtbarkeit, Gültigkeitsbereich und Lebensdauer ... 150
... 8.1 ... Lokale und globale Variablen ... 150
... 8.2 ... Gültigkeitsbereich ... 154
... 8.3 ... Lebensdauer ... 155
... 8.4 ... Speicherklassen-Spezifizierer ... 156
... 8.5 ... Typ-Qualifizierer ... 160
... 8.6 ... Aufgaben ... 163


9 ... Präprozessor-Direktiven ... 165
... 9.1 ... Dateien einfügen mit »#include« ... 165
... 9.2 ... Konstanten und Makros mit »#define« und »#undef« ... 167
... 9.3 ... Bedingte Kompilierung ... 173
... 9.4 ... Weitere Präprozessor-Direktiven ... 176
... 9.5 ... Aufgaben ... 179


10 ... Arrays und Zeichenketten (Strings) ... 183
... 10.1 ... Arrays verwenden ... 183
... 10.2 ... Mehrdimensionale Arrays ... 193
... 10.3 ... Strings (Zeichenketten) ... 199
... 10.4 ... Aufgaben ... 205


11 ... Zeiger (Pointer) ... 208
... 11.1 ... Zeiger deklarieren ... 208
... 11.2 ... Zeiger initialisieren ... 209
... 11.3 ... Zugriff auf dem Inhalt von Zeigern ... 212
... 11.4 ... Speichergröße von Zeigern ... 216
... 11.5 ... Zeiger-Arithmetik ... 216
... 11.6 ... Zeiger als Funktionsparameter (callbyreference) ... 217
... 11.7 ... Zeiger als Rückgabewert ... 218
... 11.8 ... Arrays bzw. Strings und Zeiger ... 221
... 11.9 ... Zeiger-Arrays ... 225
... 11.10 ... Zeiger auf Arrays ... 228
... 11.11 ... Zeiger auf Zeiger (Zeigerzeiger) ... 229
... 11.12 ... void-Zeiger ... 230
... 11.13 ... Typ-Qualifizierer bei Zeigern ... 232
... 11.14 ... Zeiger auf Funktionen ... 235
... 11.15 ... Aufgaben ... 238


12 ... Dynamische Speicherverwaltung ... 242
... 12.1 ... Neuen Speicherblock reservieren ... 243
... 12.2 ... Speicherblock vergrößern oder verkleinern ... 247
... 12.3 ... Speicherblock freigeben ... 250
... 12.4 ... Die Heap-Fragmentierung ... 254
... 12.5 ... Zweidimensionale dynamische Arrays ... 257
... 12.6 ... Aufgaben ... 259


13 ... Fortgeschrittene Datentypen ... 262
... 13.1 ... Strukturen ... 262
... 13.2 ... Union ... 281
... 13.3 ... Bitfelder ... 285
... 13.4 ... Das offsetof-Makro ... 289
... 13.5 ... Der Aufzählungstyp »enum« ... 289
... 13.6 ... Eigene Typen mit »typedef« ... 291
... 13.7 ... Aufgaben ... 292


14 ... Dynamische Datenstrukturen ... 295
... 14.1 ... Verkettete Liste ... 295
... 14.2 ... Doppelt verkettete Listen ... 306
... 14.3 ... Aufgaben ... 307


15 ... Eingabe- und Ausgabe-Funktionen ... 309
... 15.1 ... Verschiedene Streams und Standard-Streams ... 309
... 15.2 ... Dateien ... 311
... 15.3 ... Dateien öffnen ... 311
... 15.4 ... Dateien schließen ... 315
... 15.5 ... Lesen und Schreiben ... 316
... 15.6 ... Funktionen zur unformatierten Ein-/Ausgabe ... 316
... 15.7 ... Funktionen zur formatierten Ein-/Ausgabe ... 326
... 15.8 ... Wahlfreier Dateizugriff ... 335
... 15.9 ... Fehlerbehandlung ... 339
... 15.10 ... Datei löschen oder umbenennen ... 342
... 15.11 ... Pufferung ... 342
... 15.12 ... Aufgabe ... 343


A ... Rangfolge der Operatoren ... 346
... A.1 ... Operatoren-Priorität ... 346
... A.2 ... ASCII-Code-Tabelle ... 348
... A.3 ... Reservierte Schlüsselwörter in C ... 349
... A.4 ... Standard-Headerdateien der ANSI-C-Bibliothek ... 349


B ... Kommandozeilenargumente ... 350


C ... Lösungen der Übungsaufgaben ... 353
... C.1 ... Lösungen zum Kapitel 2 ... 353
... C.2 ... Lösungen zum Kapitel 3 ... 354
... C.3 ... Lösungen zum Kapitel 4 ... 356
... C.4 ... Lösungen zum Kapitel 5 ... 358
... C.5 ... Lösungen zum Kapitel 6 ... 361
... C.6 ... Lösungen zum Kapitel 7 ... 365
... C.7 ... Lösungen zum Kapitel 8 ... 368
... C.8 ... Lösungen zum Kapitel 9 ... 369
... C.9 ... Lösungen zum Kapitel 10 ... 373
... C.10 ... Lösungen zum Kapitel 11 ... 377
... C.11 ... Lösungen zum Kapitel 12 ... 382
... C.12 ... Lösungen zum Kapitel 13 ... 387
... C.13 ... Lösungen zum Kapitel 14 ... 391
... C.14 ... Lösungen zum Kapitel 15 ... 395


... Index ... 398

Erscheint lt. Verlag 1.9.2010
Reihe/Serie Galileo Computing
Galileo Computing
Verlagsort Bonn
Sprache deutsch
Maße 125 x 190 mm
Gewicht 500 g
Einbandart Paperback
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Schlagworte Buch • C lernen • C programmieren • C (Programmiersprache); Einführung • C Programmierung • Erlenkötter • Ingenieur • Programmieren lernen • Programmiersprache • Taschenbuch
ISBN-10 3-8362-1546-2 / 3836215462
ISBN-13 978-3-8362-1546-6 / 9783836215466
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Das Handbuch für Webentwickler

von Philip Ackermann

Buch | Hardcover (2023)
Rheinwerk (Verlag)
CHF 69,85
Grundlagen und praktische Anwendungen von Transpondern, kontaktlosen …

von Klaus Finkenzeller

Buch (2023)
Hanser (Verlag)
CHF 125,95
das umfassende Handbuch

von Marc Marburger

Buch | Hardcover (2024)
Rheinwerk (Verlag)
CHF 69,85