E-Book, Deutsch, 264 Seiten, eBook
Lowes / Paulik Programmieren mit C
3. Auflage 1990
ISBN: 978-3-322-92657-9
Verlag: Vieweg & Teubner
Format: PDF
Kopierschutz: 1 - PDF Watermark
Ansi Standard
E-Book, Deutsch, 264 Seiten, eBook
ISBN: 978-3-322-92657-9
Verlag: Vieweg & Teubner
Format: PDF
Kopierschutz: 1 - PDF Watermark
Die Programmiersprache C wurde Anfang der siebziger Jahre (1972) von Dennis M. Ritchie in den Bell Laboratories entwickelt, im Zusammenhang mit der Implementation des Betriebssystems UNIX auf der Rechenanlage DEC PDP-ll. Viele wichtige, in C verwirklichte Ideen entstammen allerdings der Sprache B, die von Ken Thompson (1970) für das erste UNIX-System auf der DEC PDP-7 geschrieben wurde, die wiederum ihren Ursprung in der von Martin Richards entwickelten Sprache BCPL (1967) hat. Fast das gesamte Betriebssystem UNIX ist in C geschrieben. Mittlerweile wird C nicht nur unter UNIX, sondern auch unter anderen Betriebssystemen eingesetzt. Der Grund für die zunehmende Beliebtheit von C sind Portabilität, d.h. die Lauffähigkeit der Programme ohne Änderungen auf den verschiedensten Rechnern, und breite Anwendungsmöglichkeiten, die wiederum die Folge von mehreren Faktoren sind: • C besitzt moderne, hochsprachliche Steuerstrukturen, wie etwa die Sprachen Ada, PL/l und Pascal. • In C kann man Bits, Bytes und Zeichenketten manipulieren, wie mit einem Assembler, aber auch Zeiger und strukturierte Datentypen verwenden. • C ist vom Umfang her eine kleine, leicht erlernbare Sprache (32 Schlüsselwörter, Basic über iSO!). • C ermöglicht weitgehend redundanz-freien Quellcode, d.h. C-Programme sind deut lich kürzer als Programme in anderen Sprachen. Dieses alles sind Forderungen, die man an eine Sprache stellt, in der Betriebssysteme, Compiler oder professionelle Anwenderprogramme geschrieben werden sollen. Daher wird C auch als "die Sprache der Programmierer" bezeichnet.
Zielgruppe
Graduate
Autoren/Hrsg.
Weitere Infos & Material
1 Einführung.- 1.1 Aufbau von C-Programmen.- 1.2 Ein erstes C-Programm.- 1.3 Verarbeitung numerischer Daten.- 1.4 Lesen bis zum Ende.- 1.5 Speicherung von Werten.- 1.6 Strukturierung des Programms.- 1.7 Die Darstellung von Programmen.- 2 Numerische Datentypen und Ausdrücke.- 2.1 Definitionen.- 2.2 Standardtypen.- 2.3 Konstanten.- 2.3.1 Ganzzahlige Konstanten.- 2.3.2 Gleitkommakonstanten.- 2.3.3 Zeichenkonstanten.- 2.3.4 Aufzählungskonstanten.- 2.3.5 Stringkonstanten.- 2.4 Deklaration von Variablen, Anfangswerte.- 2.5 Benennung von Typen.- 2.6 Arithmetische Operatoren.- 2.6.1 Die Grundrechenarten.- 2.6.2 „mixed mode“.- 2.6.3 Kompliziertere Ausdrücke.- 2.6.4 Die Vorzeichenoperatoren.- 2.6.5 Operatoren gleicher Präzedenz.- 2.6.6 Explizite Typumwandlung.- 2.7 Zuweisungsoperatoren.- 2.8 Ikrementierung und Dekrementierung.- 2.9 Nebeneffekte.- 2.10 Konstante Ausdrücke.- 2.11 Overflow und Underflow.- 3 Anweisungen.- 3.1 Ausdruckanweisungen.- 3.2 Zusammengesetzte Anweisungen.- 3.3 Leere Anweisungen.- 3.4 Logische Ausdrücke.- 3.5 Schleifen.- 3.5.1 while- und do-Anweisung.- 3.5.2 for-Anweisung.- 3.5.3 break und continue, Endlosschleifen.- 3.6 Auswahl von Alternativen.- 3.6.1 if-Anweisung.- 3.6.2 Geschachtelte if-Anweisungen.- 3.6.3 Bedingte Ausdrücke.- 3.6.4 switch-Anweisung.- 3.7 Sprünge.- 4 Funktionen und Programmstruktur.- 4.1 Funktionen.- 4.1.1 Vereinbarung von Funktionen.- 4.1.2 Beispiel.- 4.1.3 Prototypen.- 4.1.4 Parameter und Argumente.- 4.2 Die Struktur des Programms.- 4.2.1 Gültigkeitsbereiche von Namen.- 4.2.2 Lokale und globale Größen.- 4.2.3 Das Attribut extern.- 4.3 Verfügbarkeit von Variablen.- 4.3.1 Automatische und statische Variablen.- 4.3.2 Interne Variablen.- 4.4 Rekursion.- 4.5 Synchronisationspunkte.- 5 Felder und Zeiger.- 5.1 Felder.- 5.2 Adressrechnung.- 5.3 Zeiger.- 5.4 Zeigerarithmetik.- 5.5 Felder als Parameter von Funktionen.- 5.6 Strings.- 5.7 Explizite Anfangswerte.- 5.8 Das Attribut const.- 5.9 Zeiger auf Zeiger.- 5.10 Zeiger als Funktionswerte.- 5.11 Dynamische Speicherzuordnung.- 5.12 Zeiger auf Funktionen.- 6 Strukturen und Zeiger.- 6.1 Strukturen.- 6.2 Geschachtelte strukturierte Typen.- 6.3 Zeiger auf Strukturen.- 6.4 Verkettete Listen.- 6.5 Partielle und vollständige Deklaration.- 6.6 Mehr über verkettete Listen.- 6.7 (Binäre) Bäume.- 7 Der Präprozessor.- 7.1 Format der Direktiven.- 7.2 Zugriff auf (andere) Dateien.- 7.3 Macros ohne Parameter.- 7.4 Macros mit Parametern.- 7.5 Bedingte Compilation.- 7.6 Präprozessor-Operatoren.- 7.7 Weitere Direktiven.- 8 Die Standardbibliothek.- 8.1 Übersicht.- 8.2 Elementare Typen ().- 8.3 Testhilfen ().- 8.4 Klassifizierung von Zeichen ().- 8.5 Fehlernummern ().- 8.6 Interne Datenformate ( und ).- 8.7 Länderspezifische Darstellungen und Zeichen ().- 8.8 Mathematische Funktionen ().- 8.9 Sprünge zwischen Funktionen ().- 8.10 Behandlung von Signalen ().- 8.11 Funktionen mit variabler Argumentzahl ().- 8.12 Diverse Hilfsroutinen ().- 8.12.1 Umwandlung von Strings.- 8.12.2 Pseudo-Zufallszahlen.- 8.12.3 Dynamische Speicherverwaltung.- 8.12.4 Beendigung eines Programms.- 8.12.5 Kommunikation mit dem Betriebssystem.- 8.12.6 Sortieren und Suchen.- 8.12.7 Ganzzahlige Arithmetik.- 8.12.8 Verarbeitung erweiterter Zeichensätze.- 8.13 Stringverarbeitung ().- 8.13.1 Kopieren von Strings (und anderen Objekten).- 8.13.2 Konkatenation von Strings.- 8.13.3 Vergleiche von Strings.- 8.13.4 Suchfunktionen.- 8.13.5 Längenbestimmung.- 8.13.6 Füllen von Speicherbereichen.- 8.13.7 Umsetzung von Fehlernummern.- 8.14 Termine und Zeiten ().- 8.14.1 Darstellungsformate.- 8.14.2 Maschinenzeiten.- 8.14.3 Umcodierung von Zeiten.- 8.14.4 Umwandlung in Klarschrift.- 8.14.5 Zeitdifferenzen.- 9 Ein-/Ausgabe.- 9.1 Grundlagen.- 9.1.1 Dateien und Dateien.- 9.1.2 Textdateien und Binärdateien.- 9.1.3 Lesen oder Schreiben?.- 9.1.4 Gepufferte Ein-/Ausgabe.- 9.1.5 Positionierung.- 9.1.6 Der Typ FILE, die Standarddateien.- 9.2 Zuordnung von Dateien.- 9.2.1 Permanente Dateien.- 9.2.2 Temporäre Dateien.- 9.3 Verwaltung der Dateipuffer.- 9.4 Formatierte Eingabe.- 9.4.1 Der Formatierungsstring.- 9.4.2 Formatbeschreiber.- 9.4.3 Beispiele.- 9.5 Formatierte Ausgabe.- 9.5.1 Der Formatierungsstring.- 9.5.2 Formatbeschreiber.- 9.6 Ein-/Ausgabe von Zeichen(folgen).- 9.6.1 Lesen eines einzelnen Zeichens.- 9.6.2 Lesen von Strings.- 9.6.3 Mehrfaches Lesen von Zeichen.- 9.6.4 Schreiben eines einzelnen Zeichens.- 9.6.5 Schreiben von Strings.- 9.7 Binäre Ein-/Ausgabe.- 9.8 Positionierung von Dateien.- 9.9 Behandlung von Fehlern.- 9.10 Verwaltung von Betriebssystem-Dateien.- 10 Was es sonst noch gibt.- 10.1 Weitere Datenattribute.- 10.1.1 Das Attribut register.- 10.1.2 Das Attribut volatile.- 10.2 Verbunde.- 10.3 Verarbeitung von Bits.- 10.3.1 Bitoperatoren.- 10.3.2 Bitfelder.- 10.4 Der Komma-Operator.- Anhang A Der Zeichensatz von C.- Anhang B Schlüsselwörter.- Anhang C Operator-Übersicht.- Anhang D Formatierung.- D.1 Formatierung der Eingabe.- D.2 Formatierung der Ausgabe.- Anhang E Minimale Maxima.- E.1 Schranken für das Quellprogramm.- E.2 Schranken für die Wertebereiche.- Anhang F Die Syntax von C.- F.1 Namen.- F.2 Konstanten.- F.3 Ausdrücke.- F.4 Deklarationen.- F.5 Anweisungen.- F.6 Externdeklarationen.- F.7 Syntax des Präprozessors.- Anhang G Syntaxdiagramme.- G.1 Namen.- G.2 Konstanten.- G.3 Ausdrücke.- G.4 Deklarationen.- G.5 Anweisungen.- G.6 Externdeklarationen.- Anhang H Unterschiede zwischen „altem“ C und ANSI-C.- Anhang I Erste Schritte mit UNIX.- I.1 Ein- und Ausloggen, Passwort.- I.2 Das Dateisystem.- I.3 Verwaltung von Dateien.- I.4 Bearbeitung von Textdateien.- I.5 Übersetzen von C-Programmen.- I.6 Das Programm make.- I.7 Umleitung der Standard-Ein-/Ausgabe.- Literatur.




