Buy used
€4.83
€4.40 delivery 28 November - 2 December. Details
Used: Very Good | Details
Sold by MEDIMOPS
Condition: Used: Very Good
Comment: Von Europas Nr.1 für gebrauchte Bücher und Medien. Gelesene Ausgabe in hervorragendem Zustand.
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet or computer – no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the authors

Something went wrong. Please try your request again later.

C für PCs. Mit CD-ROM. Hardcover – 1 Jan. 2002

3.9 3.9 out of 5 stars 17 ratings

Popular paperback recommendations of the month
Browse through our selection of popular books from different genres, such as crime fiction, thrillers, historical novels or romance novels Browse here
Safety and product resources
Images and contacts

Safety and product resources

Images and contacts

Product description

From the Author

In der 3. Auflage von "C für PCs" haben wir die Entwicklungen, die mit dem neuen Standard ANSI C99 eingeführt wurden, in das Buch eingearbeitet.

Auf Wunsch vieler Leser haben wir außerdem vier zusätzliche Kapitel über die Windows-Programmierung mit C aufgenommen. Diese umfassen die Grundlagen der Graphik-Programmierung sowie das Erstellen von Dialog-Boxen und Menüs.

Weiterhin sind die Kapitel über Graphik- und hardwarenahe Programmierung für 16-Bit-Systeme im Buch enthalten, da diese Verfahren heute bei der Programmierung von "Embedded Systems" und "Prozess-Steuerungen" eingesetzt werden.

From the Inside Flap

Dieses Buch ist die 3., vollständig überarbeitete Auflage des Standardwerks "C für PCs". Die Sprachbeschreibung basiert auf dem neuen Standard ANSI C99. Das Lehrbuch wendet sich an jeden Leser, der die Programmiersprache C lernen oder vertiefen möchte, gleich ob Anfänger oder Fortgeschrittener.

Die Autoren führen Schritt für Schritt von elementaren Sprachkonzepten hin zur Entwicklung professioneller C-Programme. Der Leser erhält eine fundierte Einführung in C und wird mit einem breiten Anwendungsspektrum vertraut gemacht. Die Entwicklung professioneller Anwendungen ist das Ziel dieses Lehrbuches.

Jedes Kapitel bietet dem Programmierer Gelegenheit, anhand von Übungen mit Musterlösungen seine Kenntnisse zu überprüfen und zu vertiefen. Damit die erstellten Programme unmittelbar getestet werden können, sind auf der Buch-CD der Microsoft C/C++ Compiler (Book Edition) und der GNU C/C++-Compiler mit integrierter Entwicklungsumgebung beigefügt.

Die komplette ANSI-Standardbibliothek und zahlreiche Tabellen/Übersichten machen das Buch zu einem unentbehrlichen Nachschlagewerk.

Product details

  • Publisher ‏ : ‎ moderne industrie Buch; 3. edition (1 Jan. 2002)
  • Language ‏ : ‎ German
  • Hardcover ‏ : ‎ 700 pages
  • ISBN-10 ‏ : ‎ 3826607848
  • ISBN-13 ‏ : ‎ 978-3826607844
  • Customer reviews:
    3.9 3.9 out of 5 stars 17 ratings

About the authors

Follow authors to get new release updates, plus improved recommendations.

Customer reviews

3.9 out of 5 stars
17 global ratings

Top reviews from Germany

Reviewed in Germany on 26 July 2003
Wie auch beim "Buch "C++ Lernen und Professionel anwenden" ist bei diesem Buch die Lernstruktur leicht zu erkennen.
Das Buch ist in Lernkapiteln aufgeteilt. Besonders gut dabei die Aufteilung der Seiten. Auf der linken ist immer eine Grafik, ein Diagramm oder ein Beispiel gegeben und auf der rechten Seite wird darauf in Textform eingegangen.
Am Ende jedes Kapitels sind Beispielaufgaben mit Lösungen gegeben um das gelernte umzusetzen.
Für Leute die Programmieren lernen wollen ist es sehr zu empfehlen, für diejenigen die schon weiter fortgeschritten sind ist dieses Buch ein gutes Nachschlagewerk!
Im allgemeinen sind die Bücher von Kirch-Prinz sehr zu empfehlen.
Auf der beiligenden CD sind Lösungen zu den im Buch gestellten Aufgaben, sowie ein Compiler enthalten (GNU Compiler)!
Mir hat dieses Buch in meiner Weiterbildung schon sehr geholfen!!!
9 people found this helpful
Report
Reviewed in Germany on 10 August 2020
Hallo,
dies ist ein durchaus gutes Buch mit hohem Lehrwert. Dennoch vergebe ich nur 4 Punkte aus folgendem Grund.
Die Kapitel sind durchaus wohlgeordnet, jedoch ist die deutsche Übersetzung von Fachbegriffen teilweise sogar unbeholfen. Von einem Programmierer kann eigentlich erwartet werden, das sie/er zumindest Grundlagen in Englisch beherrscht. Hier jedoch werden sämtliche englische Fachbegriffe teilweise haarestreubend übersetzt. Zum Beispiel der englische Fachbegriff array wird übersetzt mit Vektor. Wenn man bedenkt das ursprünglich Informatik ein Mathematikstudium mit Vertiefung in IT war, ist diese Übersetzung einfach grundlegend falsch. Wenn man denn schon überhaupt eine deutsche Übersetzung wählt, warum nicht mit Feld, was sinnlich richtig wäre. Gerade bei so einem essenziellen Thema wie array's. Ich selbst plädiere aber für den generellen Einsatz der englischen Fachbegriffe, da diese in der Fachwelt verwendet werden.
Deswegen dem Buch aber weniger als 4 Punkte zu geben wäre ungerecht.

MfG
Marko Petsch
Reviewed in Germany on 23 March 2010
Dieses Buch beginnt bei 0, so können Anfänger problemlos das Programmieren mit C ohne jegliches Vorwissen lernen. Die Aufteilung mit einem Beispiel auf der linken Seite und Erklärungen auf der rechten sind eine sehr schöne Form, um nicht den Faden zu verlieren und genau zu sehen, wie das erlernte angewendet werden kann. Alles wird ausführlich erläutert und durch die vielen Beispiele werden Befehle und der Syntax wiederholt. Liest man sich dieses Buch mit Interesse durch und probiert auch mal die Beispiele am PC auszuführen, so lernt man C, ohne Umwege auf andere Quellen.
One person found this helpful
Report
Reviewed in Germany on 25 November 2012
Das Werk des teilweise habilitierten Autorenpaars wird dem Titel eindeutig nicht gerecht,
professionelle Anwendungen kann niemand allein mit diesem Buchwissen schreiben.
Maximal sind Programme auf "hello world"-Niveau als (Windows)GUI-Anwendungen denkbar.
Außerdem enthält das Buch eine Reihe von Fehlern, die dem Anspruch des Buches nach C99-Konformität
und auch der langen Historie dieses Werkes und seiner Autoren eindeutig NICHT gerecht werden.
Das Buch ist nur mit sehr großen Einschränkungen überhaupt zu empfehlen.

Das Buch richtet sich lt. Autoren an Anfänger und Fortgeschrittene, die das Schreiben professioneller C-Programme erlernen wollen.
Dieses Ziel erreicht dieses Buch eindeutig nicht, professionelle Programme schreibt niemand nach Lektüre eines Buches, schon gar nicht dieses Buches, hier erwecken die Autoren (wohl aus Marketinggründen) einen falschen Anschein.

Zu Beginn schon äußert sich das Unverständnis der Autoren bei der ausschließlichen Verwendung von "ANSI C99", was der C-Historie eindeutig nicht gerecht wird. Das ANSI Komitee hat erst 2000 den ISO C-Standard von 1999 übernommen, also wenn dann wäre ANSI C2000 korrekt, besser noch wäre die allseits verbreitete Formulierung C99 oder ISO C99.

Auch die durchgängig merkwürdige Schreibweise von Lay-out statt Layout gibt dem Leser Rätsel auf.

- "C ist an der Architektur der heutigen Rechner orientiert" -> kann niemals der Fall sein, denn zu Entstehungszeit von C 1972 konnte niemand die "heutigen" Rechnerarchitekturen kennen
- "hardwareabhängige Bestandteile von C wurden reduziert" -> Unsinn, da der C-Sprachstandard gerade keine Hardware und deren Eigenheiten kennt oder voraussetzt, im Gegenteil, es ist gerade ein Vorteil von C, aufgrund des geringen Sprach- und Bibliotheksumfanges sehr portabel und plattformunabhängig zu sein

Die Autoren weisen zwar darauf hin, dass sich mit C99 eine Erweiterung des bisherigen (C89)-Standards ergeben hat und sie jeweils in dem Buch darauf hinweisen werden, falls diese Neuerungen verwendet werden, scheitern aber schon beim 1.Beispiel daran ( Einzeilenkommentare "//" gibt es erst ab C99, worauf die Autoren nicht hinweisen )

Auch 'verzichten' die Autoren vollständig auf wichtige Fachbegriffe aus dem C-Standard, wie undefiniertes/unspezifiziertes/implementierungsabhängiges Verhalten.
Wertebereiche der Integer- und Gleitkomma-Basistypen werden falsch angegeben, diese sind gemäß C-Standard implementierungs- d.h. compilerabhängig und nicht fest, wie die Autoren schreiben.

Wenig Detailkenntnis offenbaren die Autoren auch bei der Behauptung, "char hat 8 Bit", -> falsch, gemäß Standard hat char genau CHAR_BIT Bits, und CHAR_BIT kann dabei >= 8 sein.
- "wchar_t = unsigned short" -> ist ebenso falsch weil implementierungsabhängig
- "int-Länge entspricht der Bit-Länge eines Maschinenregisters" -> auch hier wieder falsch, auch das ist wieder implementierungsabhängig und eben NICHT hardwareabhängig, z.B. erzeugt ein 32-Bit Compilersystem üblicherweise int-Werte mit 32-Bit Länge, die auf einem 64-Bit Rechner nach wie vor 32-Bit bleiben
- "sizeof(float) == 4" ist ebenso falsch, da der C-Standard den IEEE-754 Standard zur Fließkommabehandlung nicht definiert, und somit die 32-Bit floats aus IEEE nicht für C-Compiler gelten müssen
- den wichtigen Datentyp 'size_t' (z.B. als Rückgabewert von sizeof,strlen,...) 'vermeiden' die Autoren im ganzen Buch zu nennen
- "bei externen Bezeichnern sind die ersten 8 Zeichen signifikant" -> falsch, C89 sieht hier 6 vor, C99 hingegen 31
- "nicht initialisierte lokale Variablen haben undefinierten Anfangswert" -> falsch, lokale statische Variablen haben 0 als (impliziten) Initialwert
- printf("%d",sizeof(x)); verwendet, was UB (undefined behavior) bedeutet, ohne Hinweis auf C99, wo für size_t das Format "%zu" eingeführt wurde
- "Funktionsaufruf ohne vorige Deklaration -> Rückgabetyp int wird angenommen": ohne Hinweis, dass mit C99 solcher Aufruf nicht mehr konform ist
- "die Standardheader iso646.h und wchar.h wurden mit C99 eingeführt" -> falsch, zusammen mit wctype.h schon in C95

Bei konkreten Beispielcodes offenbaren sich dann weitere Unverständnisse der Autoren:
- #include <stdlib.h>
void srand(unsigned seed);
-> die in diesem Beispiel explizit erneut deklarierte Standardfunktion ist schlecht, prinzipiell sollte man nie irgendwas aus den Standardheadern 'verbessern' oder gar ändern
- fflush(stdin) wird häufig in Beispielen verwendet und explizit nochmal ausführlich erklärt, dass man so den Eingabepuffer löschen kann -> falsch, UB
- int ch;
scanf("%c",&ch);
-> falsch, Zeiger auf char erwartet, Zeiger auf int übergeben, die müssen gemäß Standard NICHT kompatibel sein -> UB
- Verwendung von "void main()" -> nicht standardkonform
- ".. unter den Betriebssystemen WINDOWS/DOS und UNIX kann ein dritter Parameter in main verwendet werden..."
int main(int argc,char**argv,char**envp)
Das ist kein C-Standard, sondern implementierungs- also compilerabhängig und NICHT BS-abhängig.
- (int*)malloc -> unnötiger Cast in C
- free(ptr) "...MUSS zuvor mit malloc/calloc/realloc reserviert worden sein..." : kein Hinweis, dass hier auch NULL möglich ist
- Verwendung von gets (zwar mit Hinweis, dass fgets besser ist, besser wäre dann aber gleich die Verwendung von fgets im Beispiel)
- while( scanf("%1[JNjn]",a)==0 )
fflush(stdin);
hier sind gleich 3 Fehler vorhanden
- fflush auf stdin ist UB
- liefert scanf hier EOF (d.h. -1), dann würde das Programm dies als gültige Eingabe interpretieren (und falsch weiterarbeiten)
- nach Ende von while ist der Einpuffer ungelöscht
- der übliche Fehler bei Callback-Funktion für das Sortieren von int mit qsort wird gemacht:
*(int*)a - *(int*)b;
was bei Werten in der Nähe von den int-Grenzen zu Fehlern führt
- fcloseall beschrieben: keine Standardfunktion
- exit(); und return aus main beschrieben ohne EXIT_SUCCESS/EXIT_FAILURE aus dem Standard zu nennen
- im Beispiel zu einer String-Ersetzungsfunktion void replace_all(char *old,char *new)
hätte sich gut eine Erklärung zum Unterschied zw.
char s[]="hello world";
und
char *s="hello world";
angeboten
- scanf("%80s", stringvar); ohne Hinweis auf den Abbruch beim 1. Whitespace dieser Variante
- NULL-Zeiger: "...ist als 0 definiert..." -> falsch, der Standard definiert NULL als Integerkonstante mit Wert 0, d.h. neben 0 wäre auch 0L oder (void*)0 denkbar; dies ist dem jeweiligen Compilerhersteller überlassen, also implementierungsabhängig und nicht etwa fest vorgegeben, wie hier beschrieben
- "Die Zeigerversion ist in der Regel der Indexversion vorzuziehen..." wenig verständlich in der heutigen Zeit der hochoptimierden Compiler ist das Compilat häufig sehr ähnlich wenn nicht gar identisch; lesbarer und einfacher ist die Arrayvariante, da kein extra Zeiger zum Iterieren definiert werden muss sondern ausschließlich das Array selbst referenziert wird
- durchgängige Verwendung von Vektor statt Array; schlechte Abgrenzung zum vector in C++, was dort etwas ganz anderes bedeutet ( die Autoren schreiben auch Bücher über C++ und hätten das erkennen müssen )
- unsinnige Empfehlung: "Vektoren mit größerem Speicherbereich sollten global definiert werden"; ohne Hinweis auf dynamischen Speicher, der einige Kapitel später vorgestellt wird; hier offenbart sich der mangelnde Überblick der Autoren über ihr eigenes Werk
- Vektorname ist identisch zur Adresse des 1.Elements -> ohne die im Standard definierten Ausnahmen zu nennen;
wenn das so wäre, wäre z.B. auch
int array[10];
array = NULL;
möglich, denn wenn array IMMER ein Zeiger wäre, würde hier kein Fehler auftreten, array wäre einfach ein Zeiger und als Lvalue möglich
- Entscheidungsoperator "?:" wird im Operator-Kapitel nicht genannt (findet man erst 2 Kapitel weiter in "Kontrollstrukturen", wo er nicht hingehört, da Operator und keine Kontrollstruktur )

Bei "Typ ganzzahliger Konstanten" ohne Suffix für Dezimalkonstanten beschreiben die Autoren nur "int, long, long long" ohne Hinweis, dass dies nur C99 relevant ist und C89 etwas anderes vorschreibt: 'int, long, unsigned long'.

Im gesamten Buch fehlt eine Übersicht über die Vorrangregeln aller Operatoren, der Leser muss sie einzeln in den Kapitel suchen (arithmetische,Vergleich,Bit,...).
Bei der Vorstellung der logischen Operatoren fehlt der Hinweis auf deren short-circuiting.
"In einem DOS-Editor (wie z.B. EDIT)..." legt den Schluss nahe, dass dieses Buch schon eine lange Historie hat, wahrscheinlich schon seit Beginn 90er ("C für PCs", dort wahrscheinlich mit noch mehr Fehlern als in diesem (neuesten) Buch).
Das Kapitel 25 "Hardware-nahe Programmierung unter DOS" mit Interrupts, 16-Bit Speichersegmentierung, 1MB Adressraum, EGA/VGA Bildschirmspeicher lässt ebenso den Schluss zu, dass hier völlig veraltete Beispiele gewählt wurden, die nichts mehr mit aktuellen "professionellen" Anwendungen zu tun haben.
Das trifft auch auf die Kapitel zur Windows-GUI-Programmierung zu, in denen die ebenfalls veralteten Funktionsaufrufe der Windows-API zur Window/GDI/Font... Programmierung relativ ausführlich vorgestellt werden.

Einen wesentlichen Umfang im Buch nimmt die Beschreibung der Bibliotheksfunktionen ein, immerhin fast 300 S. von 858 S. werden hiervon belegt.
Immerhin ist diese Referenz alphabetisch aufgebaut, C99 Hinweise liegen vor und manchmal auch ein Codebeispiel.
Wer eine umfangreiche, deutschsprachige Referenz über die C-Bibliothek sucht, kann diese hier finden.

Dieses stark Windows-lastige Werk genügt keinesfalls zum Aufbau von professionellem C-Wissen, die Autoren versprechen hier etwas Falsches.
Die teilweise veralteten Beispiele, die nicht vorhandene Operator-Vorrangtabelle, das ständige UB "fflush(stdin)" führen dazu, dass dieses Buch für Einsteiger und Fortgeschrittene nur sehr, sehr eingeschränkt zu empfehlen ist.
Von einem teilweise habilitierten Autorenpaar kann man in einer '2. aktualisierten und erweiterten Auflage 2007' und bei der langjährigen Historie des Buches bis in die 90er Jahre hinein erwarten, dass keine Anfängerfehler und UB mehr vorkommen.
11 people found this helpful
Report
Reviewed in Germany on 15 May 2018
Das Buch ist sehr gut geschrieben, die Anzahl der Fehler erfreulich gering und der didaktische Aufbau sehr ordentlich.
Gut geeignet, wenn man C erlenen möchte.

Leider (?) ist das letzte Drittel sehr auf PCs fokussiert und im Zeitalter der 32 bit oder gar 64 Bit Betriebssysteme recht veraltet.
Ein Neueinsteiger in C würde und sollte sich mit small, large oder huge Speichermodellen nicht mehr belasten.

Wenn Sie das Buch günstig gebraucht erwerben können ist es eine gute Einführung in die Sprache C.
Als Geschenk oder bei nigel-nagel-neu Anschaffung würde ich aber ein anderer Werk nehmen.
One person found this helpful
Report
Reviewed in Germany on 15 February 2016
Hab das Buch vor kurzem erworben, sozusagen als Ergänzung zu anderen Büchern des Themenbereichs C Programmierung und muss sagen trotzt des Alters (2002) absolut kein Fehlgriff Peter Prinz hat hier eine Top-Leistung abgeliefert ein sehr gutes Buch für EInsteiger in die C Programmierung aber auch eine hilfreiche Unterstützung für schon fortgeschrittene C Programmierer zudem ein Genuss im vergleich zu den C Büchern eines Jürgen Wolf
One person found this helpful
Report
Reviewed in Germany on 27 April 2017
Hat mir den Einstieg sehr erleichtert und inzwischen auch bei der weiteren Vertiefung sehr geholfen.
Kann ich nur weiter empfehlen.
Reviewed in Germany on 7 August 2013
Wenn ich fünf Ster ne ver gebe muss das reichen. Ich kriege die Zeit hier schließ lich nicht be zahlt.