C programmieren Jürgen Wolf
Vorwort 11 Kapitel 1: Schnelleinstieg 13 Was sollten Sie bereits können? 14 Was lernen Sie mit diesem Buch? 14 Was benötigen Sie noch? 14 Überblick zu den einzelnen Kapiteln in diesem Buch 15 Kapitel 2: So wird aus einer einfachen Textdatei ein ausführbares Programm 17 Welche Sprache versteht der Computer? 18 Wie sage ich es meinem Computer? 19 Was ist ein Programm? 21 C und/oder C++? 22 Fensterprogramme, Konsolenprogramme und GUIs 24 Wie lange dauert es, bis ich eigene Programme schreiben kann? 26 Kapitel 3: Eigene Programme erstellen 27 Verwendung des Microsoft Visual C++ ExpressCompilers 28 Programme ausführen..34 Verwenden des gcccompilers unter Linux oder des clangcompilers unter Mac OS X 35 Und was ist mit anderen Compilern bzw. Entwicklungsumgebungen? 38 5
main() Inhaltsverzeichnis Kapitel 4: Wir schreiben Ihr erstes CProgramm 39 Das klassische»hallo Welt«in C 40 Headerdateien und Laufzeitbibliothek 40 Die Hauptfunktion 44 Anweisungen und Anweisungsblöcke 45 Formatierte Ausgabe mit printfo 45 Ein Semikolon am Ende einer Anweisung 46 Das Programm ordentlich beenden 46 Den Code kommentieren 47 Quellcode mit Stil und Verstand anordnen 48 Anweisungen bei der Programmausführung 49 Wissen Sie es? 50 Kapitel 5: Mit Zahlen und Zeichen arbeiten 51 Variablen und Datentypen 52 Datentypen für Ganzzahlen 53 Variablen bekannt machen 55 Werte an Variablen übergeben und wieder ausgeben 57 Vorzeichenbehandlung von Ganzzahlen 61 Datentypen für Fließkommazahlen 62 Die arithmetischen Rechenoperatoren und wie man damit rechnet 66 Mathematische Funktionen der Laufzeitbibliothek. 70 Datentyp in einen anderen Typ konvertieren 76 Konstanten 79 Einzelne Zeichen mit dem Datentyp char 79 Übersicht über alle Datentypen 82 Wissen Sie es? 84 6
Kapitel 6: Daten formatiert einlesen und ausgeben 85 Ausgabe formatieren mit printfo 86 Formatbezeichner richtig verwenden 87 Unterschiedliche Zahlensysteme 88 Formatbezeichner für Fließkommazahlen 91 Weitere Umwandlungsvorgaben 94 Nicht druckbare Steuerzeichen 97 Eingabe formatieren mit scanf() 99 Der Adressoperator 100 Eingabefelder formatieren 103 Was tun bei Problemen mit scanf()? 108 Wissen Sie es? III Kapitel 7: Kontrollstrukturen den Programmfluss steuern 113 Die ifverzweigung und Vergleichsoperatoren 114 Die alternative elseverzweigung 119 Die eise ifverzweigung 121 Die Fallunterscheidung mit der switchverzweigung 124 Variablen schrittweise erhöhen bzw. vermindern 129 Die fußgesteuerte dowhileschleife 133 Die do whileschleife 139 DieforSchleife 143 Schleifen abbrechen 147 Wissen Sie es? 153 7
Kapitel 8: Funktionen erstellen 155 Der Sinn von Funktionen 156 Funktionen definieren 156 Funktionen aufrufen 158 Datenaustausch zwischen Funktionen 160 Variablen mit lokalem bzw. globalem Bezug 171 Wissen Sie es? 172 Kapitel 9: Arrays und Strings 173 Zugriff auf einzelne ArrayElemente.176 Arrays an Funktionen übergeben 180 Strings (chararray) 184 Spezielle Sonderzeichen für Strings 188 Einlesen von Strings 189 Einen String an einen anderen anhängen 192 Die Stringlänge ermitteln 196 Zwei Strings miteinander vergleichen 198 Zahlen mit sprintf() in einen String umwandeln 200 String mit sscanfo in eine Zahl umwandeln 201 Wissen Sie es? 202 Kapitel 10: Zeiger der Umgang mit Speicheradressen 203 Der Sinn von Zeigern 204 Zeiger deklarieren 204 Zeiger initialisieren und dereferenzieren 206 Zeiger an Funktionen übergeben 212 Wissen Sie es? 216 8
Kapitel 11: Strukturen kombinierte Datentypen 217 Der Sinn von Strukturen 218 Strukturen deklarieren 218 Auf Strukturelemente zugreifen 221 Arrays von Strukturen 225 Strukturen innerhalb von Strukturen verwenden 230 Synonyme für Strukturtypen erstellen 235 Wissen Sie es? 236 Kapitel 12: Speicheranforderung zur Laufzeit des Programms 237 Dynamische Speicherreservierung 238 Die Speicherbereiche eines Programms 238 Der Speicherbereich, der uns zur Verfügung steht 239 Speicher mit malloco reservieren 239 Der sizeofoperator 242 Den Speicher mit free() wieder freigeben 246 Wissen Sie es? 248 Kapitel 13: Verkettete Listen dynamische Was sind dynamische Datenstrukturen 249 Datenstrukturen? 250 Eine einfach verkettete Liste 250 Neue Elemente zur Liste hinzufügen 251 Elemente der Liste ausgeben 257 Element aus der Liste löschen 261 Element sortiert in Liste einfügen 267 Element suchen und ausgeben 275 Weitere Datenstrukturen 278 Wissen Sie es? 280 9
Kapitel 14: Arbeiten mit Dateien 281 Streams (Datenströme) und Standardstreams 282 Eine Datei öffnen 283 In eine Datei schreiben 286 Aus einer Datei lesen 291 Laden und Speichern für das Lagerverwaltungs programm 293 Wissen Sie es? 301 Kapitel 15: PräprozessorDirektiven 303 Einkopieren von Dateien mit #include 304 Makros und Konstanten mit #define 305 Vordefinierte Makros der Standardbibliothek 309 Programmcode auslagern 310 Wissen Sie es? 314 Anhang 315 Rangfolge der Operatoren 316 ASCIICodeTabelle 318 Reservierte Schlüsselwörter in C 318 StandardHeaderdateien der ANSICBibliothek 319 Fachwörterbuch 320 Antworten 326 Stichwortverzeichnis 334 10