C von A bis Z Das umfassende Handbuch

C von A bis Z Das umfassende Handbuch

 

 

 

von: Jürgen Wolf

Galileo Press, 2006

ISBN: 9783898426435

Sprache: Deutsch

1115 Seiten, Download: 8380 KB

 
Format:  PDF, auch als Online-Lesen

geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop
Typ: B (paralleler Zugriff)

 

eBook anfordern

Mehr zum Inhalt

C von A bis Z Das umfassende Handbuch



  Auf einen Blick 4  
  Inhalt 6  
  Vorwort 22  
     Vorwort zur 2. Auflage 23  
  Vorwort des Gutachters 26  
  1 Einstieg in C 28  
     1.1 Übersicht zu C 28  
     1.2 Der ANSI C-Standard 29  
     1.3 Der POSIX-Standard 31  
     1.4 Vor- und Nachteile der Programmiersprache C 32  
     1.5 C in diesem Buch 33  
     1.6 Was benötige ich für C? 34  
     1.7 Welcher Compiler und welches Betriebssystem? 36  
  2 Das erste Programm 38  
     2.1 Der beste Lernerfolg 38  
     2.2 »Hallo Welt« in C 38  
     2.3 Analyse des Programms 40  
  3 Zeichensätze 44  
     3.1 Basic- Zeichensatz 44  
     3.2 Ausführungszeichensatz (Steuerzeichen) 44  
  4 Kommentare in C 48  
     4.1 Wann sind Kommentare sinnvoll? 48  
     4.2 Welche Kommentar-Schreibweise: // oder /* */ 49  
  5 Formatierte Eingabe mit scanf() 52  
     5.1 Der Adressoperator »&« 53  
     5.2 Probleme und deren Behandlung mit scanf() 55  
     5.3 Format prüfen 58  
     5.4 Zusammenfassung scanf() 59  
  6 Formatierte Ausgabe mit printf 62  
  7 Elementare Datentypen 64  
     7.1 Der Datentyp int (Integer) 64  
     7.2 Variablen deklarieren 65  
     7.3 C versus C++ bei der Deklaration von Variablen 69  
     7.4 Der Datentyp long 69  
     7.5 Der Datentyp short 70  
     7.6 Die Gleitpunkttypen float und double 71  
     7.7 Numerische Gleitpunktprobleme 77  
     7.8 Der Datentyp char 78  
     7.9 Nationale contra internationale Zeichensätze 83  
     7.10 Vorzeichenlos und vorzeichenbehaftet 84  
     7.11 Limits für Ganzzahl- und Gleitpunktdatentypen 86  
     7.12 Konstanten 89  
     7.13 Umwandlungsvorgaben für formatierte Ein-/ Ausgabe 91  
  8 Operatoren 98  
     8.1 Exkurs zu Operatoren 98  
     8.2 Arithmetische Operatoren 99  
     8.3 Erweiterte Darstellung arithmetischer Operatoren 102  
     8.4 Inkrement- und Dekrement-Operatoren 103  
     8.5 Bit-Operatoren 104  
     8.6 sizeof-Operator 112  
  9 Typenumwandlung 116  
  10 Kontrollstrukturen 118  
     10.1 Verzweigungen mit der if-Bedingung 118  
     10.2 Die Verzweigung mit else if 123  
     10.3 Die Verzweigung mit else 124  
     10.4 Der !-Operator (logischer Operator) 128  
     10.5 Logisches UND (&&) – Logisches ODER (||) 130  
     10.6 Bedingungsoperator ?: 133  
     10.7 Fallunterscheidung: die switch- Verzweigung 135  
     10.8 Die while-Schleife 139  
     10.9 Die do while-Schleife 143  
     10.10 Die for-Schleife 147  
     10.11 Kontrollierte Sprünge 154  
     10.12 Direkte Sprünge mit goto 156  
     10.13 Notationsstil 157  
  11 Funktionen 160  
     11.1 Was sind Funktionen? 160  
     11.2 Wozu Funktionen? 160  
     11.3 Definition von Funktionen 160  
     11.4 Funktionsaufruf 161  
     11.5 Funktionsdeklaration 163  
     11.6 Lokale Variablen 164  
     11.7 Globale Variablen 167  
     11.8 Statische Variablen 168  
     11.9 Schlüsselworte für Variablen – Speicherklassen 169  
     11.10 Typ-Qualifizierer 171  
     11.11 Geltungsbereich von Variablen 172  
     11.12 Speicherklassen-Spezifizierer für Funktionen 173  
     11.13 Datenaustausch zwischen Funktionen 174  
     11.14 Wertübergabe an Funktionen (call-by-value) 175  
     11.15 Rückgabewert von Funktionen 179  
     11.16 Die Hauptfunktion main() 180  
     11.17 Rückgabewert beim Beenden eines Programms 182  
     11.18 Funktionen der Laufzeitbibliothek 183  
     11.19 Getrenntes Compilieren von Quelldateien 184  
     11.20 Rekursive Funktionen 186  
  12 Präprozessor-Direktiven 200  
     12.1 Einkopieren von Dateien mittels #include 200  
     12.2 Makros und Konstanten – #define 204  
     12.3 Bedingte Kompilierung 212  
     12.4 Vordefinierte Präprozessor-Direktiven (ANSI C) 218  
     12.5 Ersetzung eines Makroparameters durch einen String 220  
     12.6 #undef – Makronamen wieder aufheben 221  
     12.7 Ausgeben von Fehlermeldungen – #error 222  
     12.8 #pragma 223  
  13 Arrays 224  
     13.1 Arrays deklarieren 224  
     13.2 Initialisierung und Zugriff auf Arrays 225  
     13.3 Arrays vergleichen 232  
     13.4 Anzahl der Elemente eines Arrays ermitteln 234  
     13.5 Übergabe von Arrays an Funktionen 235  
     13.6 Arrays aus Funktionen zurückgeben 237  
     13.7 Programmbeispiel zu den Arrays 238  
     13.8 Einlesen von Array- Werten 242  
     13.9 Mehrdimensionale Arrays 243  
     13.10 Mehrdimensionale Arrays initialisieren 243  
     13.11 Übergabe von zwei- bzw. mehrdimensionalen Arrays an Funktionen 257  
     13.12 Arrays in Tabellenkalkulation einlesen (*. CSV- Dateien) 259  
     13.13 Strings/Zeichenketten (char Array) 260  
     13.14 Einlesen von Strings 267  
     13.15 Standard-Bibliothek 269  
  14 Zeiger (Pointer) 282  
     14.1 Zeiger deklarieren 282  
     14.2 Zeiger initialisieren 283  
     14.3 Zeigerarithmetik 296  
     14.4 Zeiger, die auf andere Zeiger verweisen 296  
     14.5 Typensicherung bei der Dereferenzierung 299  
     14.6 Zeiger als Funktionsparameter ( call- by- reference) 299  
     14.7 Array und Zeiger 306  
     14.8 Zeiger auf Strings 314  
     14.9 Zeiger auf Zeiger und Stringtabellen 316  
     14.10 Zeiger auf Funktionen 326  
     14.11 void- Zeiger 332  
     14.12 Äquivalenz zwischen Zeigern und Arrays 335  
  15 Kommandozeilenargumente 340  
     15.1 Argumente an die Hauptfunktion 340  
     15.2 Optionen (Schalter) aus der Kommandozeile auswerten 346  
  16 Dynamische Speicherverwaltung 352  
     16.1 Das Speicherkonzept 352  
     16.2 Speicheralloziierung mit malloc() 353  
     16.3 Die Mysterie von NULL 357  
     16.4 Speicherreservierung und ihre Probleme 360  
     16.5 free() – Speicher wieder freigeben 361  
     16.6 Die Freispeicherverwaltung 364  
     16.7 Dynamisches Array 368  
     16.8 Speicher dynamisch reservieren mit realloc und calloc 372  
     16.9 Speicher vom Stack anfordern mit alloca (nicht ANSI C) 376  
     16.10 free – Speicher wieder freigeben 376  
     16.11 Zweidimensionale dynamische Arrays 377  
     16.12 Wenn die Speicheralloziierung fehlschlägt 380  
  17 Strukturen 386  
     17.1 Struktur deklarieren 386  
     17.2 Initialisierung und Zugriff auf Strukturen 387  
     17.3 Strukturen als Wertübergabe an eine Funktion 392  
     17.4 Strukturen als Rückgabewert einer Funktion 394  
     17.5 Strukturen vergleichen 396  
     17.6 Arrays von Strukturen 398  
     17.7 Strukturen in Strukturen (Nested Structures) 405  
     17.8 Kurze Zusammenfassung zu den Strukturen 416  
     17.9 Union 417  
     17.10 Aufzählungstyp enum 422  
     17.11 Typendefinition mit typedef 425  
     17.12 Attribute von Strukturen verändern (nicht ANSI C) 429  
     17.13 Bitfelder 432  
     17.14 Das offsetof-Makro 439  
  18 Ein-/Ausgabe-Funktionen 442  
     18.1 Was ist eine Datei? 442  
     18.2 Formatierte und unformatierte Ein-/Ausgabe 442  
     18.3 Streams 443  
     18.4 Höhere Ein-/Ausgabe-Funktionen 443  
     18.5 Datei (Stream) öffnen – fopen 444  
     18.6 Zeichenweise Lesen und Schreiben – getchar und putchar 450  
     18.7 Zeichenweise Lesen und Schreiben – putc/fputc und getc/ fgetc 454  
     18.8 Datei (Stream) schließen – fclose 460  
     18.9 Formatiertes Einlesen/Ausgeben von Streams mit fprintf und fscanf 463  
     18.10 Standard-Streams in C 468  
     18.11 Fehlerbehandlung von Streams – feof, ferror und clearerr 471  
     18.12 Gelesenes Zeichen in die Eingabe zurückschieben – ungetc 473  
     18.13 ( Tastatur-)Puffer leeren – fflush 475  
     18.14 Stream positionieren – fseek, rewind und ftell 477  
     18.15 Stream positionieren – fsetpos, fgetpos 481  
     18.16 Zeilenweise Ein-/Ausgabe von Streams 482  
     18.17 Blockweise Lesen und Schreiben – fread und fwrite 497  
     18.18 Datei (Stream) erneut öffnen – freopen 507  
     18.19 Datei löschen oder umbenennen – remove und rename 508  
     18.20 Pufferung einstellen – setbuf und setvbuf 511  
     18.21 Temporäre Dateien erzeugen – tmpfile und tmpnam 517  
     18.22 Fehlerausgabe mit strerror und perror 522  
     18.23 Formatiert in einem String schreiben und formatiert aus einem String lesen – sscanf und sprintf 526  
     18.24 Fortgeschrittenes Thema 530  
     18.25 Low-Level-Datei-I/O-Funktionen (nicht ANSI C) 538  
     18.26 Datei öffnen – open 539  
     18.27 Datei schließen – close 546  
     18.28 Datei erzeugen – creat 547  
     18.29 Schreiben und Lesen – write und read 548  
     18.30 File-Deskriptor positionieren – lseek 559  
     18.31 File-Deskriptor von einem Stream – fileno 560  
     18.32 Stream von File-Deskriptor – fdopen 561  
  19 Attribute von Dateien und Arbeiten mit Verzeichnissen ( nicht ANSI C) 564  
     19.1 Attribute einer Datei ermitteln – stat() 564  
     19.2 Prüfen des Zugriffsrechts – access 581  
     19.3 Verzeichnis-Funktionen 584  
  20 Arbeiten mit variablen langen Argumentlisten – < stdarg. h> 598  
     20.1 Makros in – va_list, va_arg, va_start und va_ end 598  
     20.2 Argumentliste am Anfang oder Ende kennzeichnen 599  
     20.3 vprintf, vsprintf und vfsprintf 603  
  21 Zeitroutinen 608  
     21.1 Die Headerdatei 608  
     21.2 Laufzeitmessung (Profiling) 619  
  22 Weitere Headerdateien und ihre Funktionen ( ANSI C) 622  
     22.1 -– Testmöglichkeiten und Fehlersuche 622  
     22.2 – Zeichenklassifizierung und Umwandlung 624  
     22.3 Mathematische Funktionen – 627  
     22.4 629  
     22.5 – Länderspezifische Eigenheiten 646  
     22.6 649  
     22.7 654  
     22.8 – Die mem–-Funktionen zur Speichermanipulation 659  
     22.9 Erweiterter ANSI C-Standard (ANSI C99) 663  
  23 Dynamische Datenstrukturen 672  
     23.1 Lineare Listen (einfach verkettete Listen) 672  
     23.2 Doppelt verkettete Listen 699  
     23.3 Stacks nach dem LIFO (Last-in-First-out)-Prinzip 716  
     23.4 Queues nach dem FIFO-Prinzip 738  
  24 Algorithmen 748  
     24.1 Was sind Algorithmen? 748  
     24.2 Wie setze ich Algorithmen ein? 748  
     24.3 Sortieralgorithmen 749  
     24.4 Suchalgorithmen – Grundlage zur Suche 775  
     24.5 Hashing (Zerhacken) 805  
     24.6 String-Matching 816  
     24.7 Pattern Matching (reguläre Ausdrücke) 827  
     24.8 Backtracking 834  
  25 Sicheres Programmieren 858  
     25.1 Buffer Overflow (Speicherüberlauf) 859  
     25.2 Memory Leaks (Speicherlecks) 877  
     25.3 Tipps zu Sicherheitsproblemen 882  
  26 CGI mit C 884  
     26.1 Was ist CGI? 884  
     26.2 Vorteile von CGIs in C 884  
     26.3 Andere Techniken der Webprogrammierung 885  
     26.4 Das dreistufige Webanwendungsdesign 886  
     26.5 Clientseitige Programmierung 888  
     26.6 Serverseitige Programmierung 888  
     26.7 Der Webserver 889  
     26.8 Das HTTP-Protokoll 902  
     26.9 Das Common Gateway Interface (CGI) 912  
     26.10 HTML-Formulare 921  
     26.11 CGI-Eingabe 928  
     26.12 Ein Gästebuch 937  
     26.13 Ausblick 950  
  27 MySQL und C 952  
     27.1 Aufbau eines Datenbanksystems 952  
     27.2 MySQL installieren 957  
     27.3 Crashkurs (My)SQL 959  
     27.4 Die MySQL C-API 972  
     27.5 MySQL und C mit CGI 1004  
     27.6 Funktionsübersicht 1023  
     27.7 Datentypenübersicht der C-API 1026  
  28 Netzwerkprogrammierung und Cross- Plattform- Entwicklung 1028  
     28.1 Begriffe zur Netzwerktechnik 1028  
     28.2 Headerdateien zur Socketprogrammierung 1034  
     28.3 Client-/Server-Prinzip 1037  
     28.4 Erstellen einer Client-Anwendung 1038  
     28.5 Erstellen einer Server-Anwendung 1049  
     28.6 (Cross-Plattform)TCP-Echo-Server 1055  
     28.7 Cross-Plattform-Development 1062  
     28.8 Weitere Anmerkungen zur Netzwerkprogrammierung 1087  
  29 Wie geht’s jetzt weiter? 1092  
     29.1 GUI-Programmierung – Grafische Oberflächen 1092  
  A Anhang 1096  
     A. 1 Rangfolge der Operatoren 1096  
     A.2 ASCII-Code- Tabelle 1098  
     A.3 Reservierte Schlüsselwörter in C 1099  
     A.4 Standard-Headerdateien der ANSI C-Bibliothek 1099  
     A.5 Weiterführende Links 1099  
     A.6 Weiterführende Literatur 1099  
  Index 1104  

Kategorien

Service

Info/Kontakt

  Info
Hier gelangen Sie wieder zum Online-Auftritt Ihrer Bibliothek