| 
 
 
  | 
  
 | 
  
    | 
     C 
    ENT-PACKT 
		
  
		
  Herbert Schildt
    
     mitp-Verlag
 
EAN: 9783826607325 (ISBN: 3-8266-0732-5)
 608 Seiten, paperback, 18 x 24cm, 2001
EUR 39,95 alle Angaben ohne Gewähr
     
    
 | 
 
 
 | 
 
 
Umschlagtext 
Dieses  Buch  behandelt detailliert alle Aspekte der Sprache C, Befehle, Funktionen und Klassenbibliotheken, Algorithmen und Applikationen.  Zahlreiche Tipps für effizientes und produktives Programmieren sowie viele  Beispiele aus erfahrener Hand machen dieses Werk zu einem unverzichtbaren Begleiter für alle C-Programmierer. Herbert Schildt beantwortet Ihnen alle speziellen Fragen zu C.
  
C Ent-Packt ist in sechs Teile gegliedert: Teil l bietet eine gründliche Diskussion der Schlüsselwörter, Präprozessordirektiven und Features,  die die  Sprache C definieren. Teil II beschreibt im Detail die von C99 hinzugefügten Features. Teil III befasst sich mit der Standard-C-Bibliothek. Teil IV behandelt einige der allgemeineren und wichtigeren Anwendungen, die alle C-Programmierer in Ihrem Werkzeugkasten haben sollten. Teil V untersucht die C-Programmierumgebung,  inklusive solcher Punkte wie Effizienz, Porting und Debugging und in Teil VI schließlich wird die Erstellung eines C-Interpreters erläutert.
  
  
Herbert Schildt, weltweit führender Autor von Fachbüchern für Programmierer und Mitglied des ANSI/ISO Komitees, liefert in diesem Buch die neuesten Entwicklungen des ANSI/ISO-Standards, inklusive C99.
  
  
Aus dem Inhalt:
  
• Die grundlegenden Elemente von C:
  
  Datentypen, Anweisungen, Arrays und Strings, Zeiger, Funktionen, Datei I/O, der Präprozessor und Kommentare
  
• Detaillierte Erläuterungen aller Schlüssel wörter, Datentypen und Operatoren
  
• Beschreibung aller neuen von C99 hinzugefügten Features wie Arrays variabler Länge, beschränkte Zeiger, neue Bibliotheken und Header, der Datentyp long long u a.
  
• Alle Elemente der C- Standardbibliothek
  
• Algorithmen und Anwendungsbeispiele
  
• Die C-Programmierumgebung,  inklusive Effizienz, Porting und Debugging
  
• Entwicklung eines C-Interpreters
  
• Zahlreiche Tipps für effizientes Programmieren
  
  
Alle Quellcode-Beispiele können Sie sich kostenlos aus dem Web downloaden! 
  
Inhaltsverzeichnis 
Vorwort 19 
 
Teil I Die Grundlagen von C 23 
 
Kapitel 1: Ein Überblick über C 25 
Die Ursprünge von C 25 
C ist eine Middle-Level-Sprache 26 
C ist eine strukturierte Sprache 27 
C ist eine Programmierersprache 29 
Compiler und Interpreter 29 
Die Form eines C-Programms 30 
Die Bibliothek und das Linking 32 
Getrennte Kompilierung 32 
Ein Programm kompilieren 32 
Die Speicherabbildung von C 33 
C und C++ 34 
Wiederholung von Begriffen 34 
 
Kapitel 2: Ausdrücke 35 
Die grundlegenden Datentypen 35 
Modifizieren der Grundtypen 36 
Bezeichnernamen 37 
Variablen 38 
Die vier Gültigkeitsbereiche von C 43 
Typ-Qualifier 43 
Speicherklassen-Specifier 45 
static-Variablen 47 
Variableninitialisierungen 51 
Konstanten 51 
Operatoren 53 
Ausdrücke 68 
 
Kapitel 3: Anweisungen 71 
True und false in C 71 
Selektionsanweisungen 72 
Iterationsanweisungen 81 
Sprunganweisungen 90 
Ausdrucksanweisungen 94 
Blockanweisungen 95 
 
Kapitel 4: Arrays und Strings 97 
Eindimensionale Arrays 97 
Einen Zeiger auf ein Array erzeugen 99 
Eindimensionale Arrays an Funktionen übergeben 99 
Strings 100 
Zweidimensionale Arrays 102 
Mehrdimensionale Arrays 106 
Zeiger indizieren 107 
Array-Initialisierung 109 
Arrays variabler Länge 111 
Ein Tic-Tac-Toe-Beispiel 111 
 
Kapitel 5: Zeiger 115 
Was sind Zeiger? 115 
Zeigervariablen 115 
Die Zeigeroperatoren 116 
Zeigerausdrücke 117 
Zeigervergleiche 120 
Zeiger und Arrays 121 
Mehrfache Indirektion 123 
Zeiger initialisieren 125 
Zeiger auf Funktionen 127 
Die dynamischen Belegungsfunktionen von C 129 
restrict-qualifizierte Zeiger 133 
Probleme mit Zeigern 133 
 
Kapitel 6: Funktionen 137 
Die allgemeine Form von Funktionen 137 
Der Gültigkeitsbereich einer Funktion 138 
Funktionsargumente 138 
arge und argv - Argumente für main() 143 
Die return-Anweisung 146 
Was liefert main() zurück? 150 
Rekursion 150 
Funktionsprototypen 152 
Parameterlisten variabler Länge deklarieren 155 
Die implizite int-Regel 155 
Funktionsparameterdeklarationen im alten und im neuen Stil 156 
Das Schlüsselwort inline 157 
 
Kapitel 7: Strukturen, Unions, Aufzählungen und typedef 159 
Strukturen 159 
Arrays aus Strukturen 162 
Strukturen an Funktionen übergeben 168 
Strukturzeiger 170 
Arrays und Strukturen in Strukturen 173 
Unions 174 
Bit-Felder 176 
Aufzählungen 178 
Ein wichtiger Unterschied zwischen C und C++ 180 
Die Verwendung von sizeof zur Sicherung der Portabilität 181 
typedef 182 
KopitelS: Konsolen-l/O 183 
Characters lesen und schreiben 184 
Strings lesen und schreiben 186 
Formatierter Konsolen-I/O 188 
printf() 188 
scanf() 195 
 
Kapitel 9: Datei-l/0 203 
C- und C++-Datei-I/O 203 
Standard-C- und Unix-Datei-I/O 203 
Streams und Dateien 204 
Grundlagen des Dateisystems 205 
fread() und fwrite() 215 
fseek() und I/O im wahlfreien Zugriff 222 
fprintf() und fscanf() 223 
Die Standard-Streams 224 
 
Kapitel 10: Der Präprozessor und Kommentare 229 
Der Präprozessor 229 
tdefine 229 
Funktionen-Makros definieren 231 
#error 232 
#include 232 
Bedingte Kompilierungsdirektiven 232 
#if, #else, #elif und #endif 233 
#undef 236 
Die Verwendung von defined 236 
#line 237 
#pragma 237 
Die Präprozessor-Operatoren # und ## 237 
Vordefinierte Makronamen 238 
Kommentare im C-Stil 239 
 
Teil II Der C99-Standard 241 
 
Kapitel 11: C99 243 
C89 versus C99: Ein Überblick 243 
restrict-qualifizierte Zeiger 245 
inline 245 
Neue eingebaute Datentypen 246 
Verbesserungen bei Arrays 248 
Einzeilige Kommentare 249 
Einstreuung von Code und Deklarationen 249 
Änderungen am Präprozessor 250 
Variablen innerhalb einer for-Schleife deklarieren 251 
Zusammengesetzte Literale 252 
Strukturen mit flexiblen Arrays 253 
Festgelegte Initialwerte 253 
Änderungen an der printf()-und-scanf()-Funktionenfamilie 254 
Neue Bibliotheken in C99 254 
Der vordefmierte Bezeichner__func__ 255 
Erhöhte Übersetzungslimits 255 
Implizites int wird nicht mehr unterstützt 256 
Implizite Funktionsdeklarationen sind abgeschafft 257 
Einschränkungen bei return 257 
Erweiterte Integer-Typen 257 
Änderungen der Promotionsregeln für Integers 258 
 
Teil IM Die C-Standardbibliothek 259 
 
Kapitel 12: Linken, Bibliotheken und Header 261 
Der Linker 261 
Header 264 
 
Kapitel 13: l/0-Funktionen 269 
clearerr 269 
fclose 271 
feof 271 
ferror 272 
fflush 273 
fgetc 273 
fgetpos 274 
fgets 274 
fopen 275 
fprintf 277 
fputc 278 
fputs 278 
fread 279 
freopen 280 
fscanf 281 
fseek 281 
fsetpos 282 
ftell 283 
fwrite 283 
getc 284 
getchar 285 
gets 286 
perror 287 
printf 287 
putc 290 
putchar 291 
puts 291 
remove 292 
rename 292 
rewind 293 
scanf 293 
setbuf 297 
setvbuf 297 
snprintf 298 
sprintf 298 
sscanf 299 
tmpfile 300 
tmpnam 300 
ungetc 301 
vprintf, vfprintf, vsprintf und vsnprintf 302 
vscanf, vfscanf und vsscanf 303 
 
Kapitel 14: String- und Character-Funktionen 305 
isalnum 305 
isalpha 306 
isblank 307 
iscntrl 307 
isdigit 308 
isgraph 309 
islower 309 
isprint 310 
ispunct 311 
isspace 311 
isupper 312 
isxdigit 313 
memchr 313 
memcmp 314 
memcpy 315 
memmove 315 
memset 316 
strcat 317 
strchr 317 
strcmp 318 
strcoll 319 
strcpy 319 
strcspn 320 
strerror 320 
strlen 321 
strncat 321 
strncmp 322 
strncpy 323 
strpbrk 323 
strrchr 324 
strspn 324 
strstr 325 
strtok 326 
strxfrm 326 
tolower 327 
toupper 327 
 
Kapitel 15: Mathematische Funktionen 329 
acos 331 
acosh 331 
asin 332 
asinh 332 
atan 333 
atanh 333 
atan2 334 
cbrt 334 
ceil 335 
copysign 335 
cos 335 
cosh 336 
erf 337 
erfc 337 
exp 337 
exp2 338 
expml 338 
fabs 338 
fdim 339 
floor 339 
fma 340 
fmax 340 
fmin 340 
fmod 341 
frexp 341 
hypot 342 
ilogb 342 
Idexp 342 
Igamma 343 
llrint 343 
llround 343 
log 344 
log1p 344 
log10 345 
Iog2 345 
logb 346 
Irint 346 
Iround 346 
modf 347 
nan 347 
nearbyint 347 
nextafter 348 
nexttoward 348 
pow 348 
remainder 349 
remquo 349 
rint 350 
round 350 
scalbln 350 
scalbn 351 
sin 351 
sink 352 
sqrt 352 
tan 353 
tanh 353 
tgamma 354 
trunc 354 
 
Kapitel 16: Zeit-, Datums-und Lokalisierungsfunktionen 355 
asctime 355 
clock 356 
ctime 357 
difftime 357 
gmtime 358 
localeconv 359 
localtime 361 
mktime 362 
setlocale 362 
strftime 363 
time 366 
 
Kapitel 17: Dynamische Belegungsfunktionen 367 
calloc 367 
free 368 
malloc 369 
realloc 369 
 
Kapitel 18: Utilityfunktionen 371 
abort 371 
abs 372 
assert 372 
atexit 373 
atof 374 
atoi 374 
atol 375 
atoll 376 
bsearch 376 
div 377 
exit 378 
_Exit 
getenv 379 
labs 380 
Habs 380 
Idiv 380 
lldiv 
longjmp 381 
mblen 383 
mbstowcs 383 
mbtowc 384 
qsort 384 
raise . 385 
rand 386 
setjmp 386 
signal 387 
srand 387 
strtod 388 
strtof 389 
strtol 389 
strtold 390 
strtoll 391 
strtoul 391 
strtoull 392 
system 392 
va_arg, va_copy, va_start und va_end 393 
wcstombs 394 
wctomb 395 
 
Kapitel 19: Wide-Charader-Funktionen 397 
Wide-Character-Klassifizierungsfunktionen 397 
Wide-Character-I/O-Funktionen 399 
Wide-Character-String-Funktionen 401 
Wide-Character-String-Konvertierungsfunktionen 402 
Wide-Character-Array-Funktionen 402 
Multibyte/Wide-Character-Konvertierungsfunktionen 403 
 
Kapitel 20: Von C99 eingeführte Bibliotheksstrukturen 405 
Die Complex-Bibliothek 405 
Die Fließkomma-Umgebungsbibliothek 408 
Der Header  409 
Integer-Format-Konvertierungsfunktionen 410 
Typ-generische mathematische Makros 411 
Der Header  412 
 
Teil IV Algorithmen und Anwendungsbeispiele 413 
 
Kapitel 21: Sortieren und Suchen 415 
Sortieren 415 
Klassen von Sortieralgorithmen 416 
Bewerten von Sortieralgorithmen 416 
Der Bubble Sort 417 
Sortieren durch Auswählen 420 
Sortieren durch Einfügen 421 
Verbesserte Sortierfunktionen 422 
Die richtige Sortierfunktion wählen 426 
Andere Datenstrukturen sortieren 426 
Plattendateien sortieren 429 
Suchen 432 
 
Kapitel 22: Queues, Stacks, verkettete Listen und Bäume 435 
Queues 436 
Die ringförmige Queue 440 
Stacks 442 
Verkettete Listen 446 
Einfach verkettete Listen 447 
Doppelt verkettete Listen 451 
Das Adressenlisten-Beispiel 455 
Binäre Bäume 461 
 
Kapitel 23: Dünnbesetzte Arrays 469 
Die Aufgabe eines dünnbesetzten Arrays 469 
Ein dünnbesetzter Array mit einer verketteten Liste 470 
Ein dünnbesetzter Array mit einem binären Baum 473 
Ein dünnbesetzter Array als Zeiger-Array 475 
Hashing 478 
Die richtige Lösung wählen 482 
 
Kapitel 24: Ausdrücke analysieren und auswerten 483 
Ausdrücke 483 
Ausdrücke zerlegen 485 
Ausdruck analysieren 487 
Ein einfacher Parser für Ausdrücke 488 
Der Parser mit Variablen 493 
 
Kapitel 25: Problemlösungen mit künstlicher Intelligenz 503 
Repräsentation und Terminologie 503 
Kombinatorische Auflösungen 504 
Suchverfahren 507 
Suchverfahren bewerten 507 
Die grafische Repräsentation 508 
Das Suchverfahren Tiefe-zuerst 509 
Das Suchverfahren Breite-zuerst 518 
Heuristische Methoden hinzufügen 519 
Das Suchverfahren Bergsteigen 521 
Analyse des Bergsteigens 525 
Das Suchverfahren Niedrigste-Kosten 526 
Suchverfahren bewerten 528 
Mehrere Lösungen finden 528 
Die »optimale« Lösung finden 535 
Zurück zu den verlorenen Schlüsseln 540 
 
Teil V Softwareentwicklung mit C 545 
 
Kapitel 26: Eine Windows 2000-Anwendung aufbauen 547 
Grundlagen der Windows 2000-Programmierung 547 
Die Win32-API 549 
Elemente eines Fensters 550 
Wie die Interaktion zwischen Windows und Ihrem Programm stattfindet 550 
Einige wichtige Grundlagen einer Anwendung unter Windows 2000 551 
Ein Windows 2000-Rumpfprogramm 553 
Die Definitionsdatei wird überflüssig 560 
Namenskonventionen 561 
 
Kapitel 27: Software-Engineering mit C 563 
Top-down-Entwurf 563 
Narrensichere Funktionen 565 
MAKE 567 
Die integrierte Entwicklungsumgebung 571 
 
Kapitel 28: Effizienz, Portierung und Debugging 573 
Effizienz 573 
Programme portieren 579 
Debugging 580 
 
Teil VI Ein Interpreter für C 589 
 
Kapitel 29: Ein Interpreter für C 591 
Spezifikationen des Little C-Interpreters 592 
Interpretation einer strukturierten Sprache 595 
Etwas C-Theorie 595 
Der Parser für Ausdrücke 598 
Der Little C-Interpreter 615 
Die Bibliotheksfunktionen von Little C 639 
Kompilieren und Linken des Little C-Interpreters 642 
Demonstration von Little C 642 
Little C verbessern 646 
Little C erweitern 647 
 
Stichwortverzeichnis 649 
        
        
        
        
        
         
Weitere Titel aus der Reihe die ENT-PACKTE Referenz   |   
 | 
 |