C als erste Programmiersprache



Ähnliche Dokumente
Manfred Dausmann Ulrich BröckI Dominik Schoop Joachim Goll C als erste Programmiersprache

С als erste Programmiersprache

ISO-SiMMlarcl. als erste Programmiersprache. Von Prof. Dr. Joachim Goll Uwe Grüner Prof. Herbert Wiese 2., durchgesehene Auflage

Manfred Dausmann, Ulrich Bröckl, Joachim Goll. C als erste Programmiersprache

Manfred Dausmann Ulrich Bröckl Dominik Schoop Joachim Goll. C als erste Programmiersprache

als erste Programmiersprache

als erste Programmiersprache Von Prof. Dr. Joachim Goll Uwe Grüner Prof. Herbert Wiese 2., durchgesehene Auflage

1 EINFÜHRUNG IN DIE PROGRAMMIERSPRACHE C Das erste Programm Ursprung und Ziele von C Standardisierung von C...

Programmieren in. Brian W. Kernighan Dennis M. Ritchie ANSIC. Mit dem C-Reference Manual in deutscher Sprache. Zweite Ausgabe

Java als erste Programmiersprache

C für Java-Programmierer

C für Java- Programmierer

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

Java als erste. Programmiersprache. Java 2 Plattform. Von Prof. Dr. Joachim Goll Cornelia Weiß Peter Rothländer. 2., durchgesehene Auflage

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

Programmieren lernen mit C

Informatik für Ingenieure

C als erste Programmiersprache

Programmieren in C+ Einführung in den Sprachstandard C++ Springer-Verlag Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona Budapest

Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden. ffl mitp

Effektiv Programmieren in С und C++

Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung

Java als erste Programmiersprache

Inhaltsverzeichnis. Vorwort.11

Grundkurs Software- Entwicklung mit C++

Java als erste Programmiersprache

Java als erste Programmiersprache

Inhaltsverzeichnis. 7.9 Aufgaben...207

Eine praktische Einführung in die Programmierung mit der Programmiersprache C

Arrays (Felder/Vektoren)

Ralf Kirsch Uwe Schmitt. Programmieren inc. Eine mathematikorientierte Einführung. Mit 24 Abbildungen und 13 Tabellen. Springer

Informatik I Programmieren in C

Übersicht über die C/C++ Bibliotheksfunktionen

Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp

Vorwort zur zweiten Auflage 1. Vorwort zur ersten Auflage 2

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

TURBO PASCAL VERSION 5.5

Inhaltsverzeichnis I Grundlagen...1 II Programmieren in C/C

Programmiersprachen Einführung in C

Kapitel 2 Elementare Datentypen, Konstanten und Variablen Elementare Datentypen

Inhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren

Laborübung aus Systemnahe Programmierung

Einleitung Grundlagen 23

Inhaltsverzeichnis Grundbegriffe der Programmierung Strukturelle Programmierung

Inhaltsverzeichnis. 1 Grundlagen 1. 2 Einfache Programme 21

Informatik. Pointer (Dynamisch) Vorlesung. 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1

Typ : void* aktuelle Parameter Pointer von beliebigem Typ

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Inhaltsverzeichnis. Vorwort

Programmieren in Lua

Inhalte. Einführung. Algorithmus, Programmiersprache, Compiler und Linker. Kontrollstrukturen. Präprozessoranweisungen. Libraries

Java-Grundkurs für Wirtschaftsinformatiker

Praxis der Programmierung

C-Programmierung lernen

Informatik Vorkurs - Vorlesung 2

Teil II. Literatur zur C-Programmierung:

2. Programmierung in C

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Programmiersprachen Einführung in C

Programmierung und Angewandte Mathematik

Inhalt. Einführung in die Strukturierte Programmierung 15

Inhaltsverzeichnis. Wilhelm Haager. Computeralgebra mit Maxima. Grundlagen der Anwendung und Programmierung. ISBN (Buch):

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

2. Programmierung in C

Programmierung in C/C++

Programmieren lernen mit Perl

Inhaltsverzeichnis. 4.9 Aufgaben... 63

Ulrich Kaiser C/C++ Von den Grundlagen zur professionellen Programmierung. Galileo Press

Deklarationen in C. Prof. Dr. Margarita Esponda

Ingenieurinformatik. Einführung in die Programmiersprache C

Objektorientiertes Programmieren in C++

Martin Unold INFORMATIK. Geoinformatik und Vermessung

einlesen n > 0? Ausgabe Negative Zahl

Vorlesung Programmieren

Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung

Inhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe

Handbuch für die Programmierung mit LabVIEW

4.2 Programmiersprache C

Teil 5: Zeiger, Felder, Zeichenketten Gliederung

Java-Grundkurs für rtschaftsinformatiker

C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue

Betriebssysteme, Rechnernetze und verteilte Systeme 1. Crashkurs C (2)

Wilhelm Haager. Computeralgebra. mit Maxima. Grundlagen der Anwendung und Programmierung. Fachbuchverlag Leipzig. im Carl Hanser Verlag

INE1 Arrays, Zeiger, Datenstrukturen

Inhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme?

Objektorientierte Programmierung mite**

Einleitung Grundlagen Erweiterte Grundlagen Zusammenfassung Literatur. C: Funktionen. Philip Gawehn

Kapitel 2. Einfache Beispielprogramme

C++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18

Ulrich Kaiser Christoph Kecher C/C++ Von den Grundlagen zur professionellen Programmierung. в.. Galileo Computing

C++ Teil 5. Sven Groß. 16. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 16

Inhalt. Vorwort des Herausgebers Die Sprache OpenOffice.org Basic/StarBasic... 15

Grundlagen der Informatik (I+II)

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Systempraktikum im Wintersemester 2009/2010 (LMU): Vorlesung vom Foliensatz 2

Transkript:

Manfred Dausmann, Ulrich Bröckl, Joachim Goll C als erste Programmiersprache Vom Einsteiger zum Profi 6., überarbeitete Auflage Teubner

Inhaltsverzeichnis 1 Grundbegriffe der Programmierung 2 1.1 Das erste Programm 2 1.2 Vom Problem zum Programm 3 1.3 Nassi-Shneiderman-Diagramme 12 1.4 Vom Algorithmus zum Programm 18 1.5 Zeichen 20 1.6 Variablen 21 1.7 Datentypen 23 1.8 Unterprogramme 27 1.9 Programmerzeugung und -ausführung 32 1.10 Übungsaufgaben 40 2 Einführung in die Programmiersprache C 42 2.1 Ursprung von C 42 2.2 Standardisierung von C 42 2.3 Eigenschaften von C 43 2.4 C und C++ 44 2.5 Einordnung der Programmiersprache C 44 2.6 Abstraktionsgrad in Programmiersprachen 46 3 Einfache Beispielprogramme 52 3.1 Programm zur Ausgabe von Quadratzahlen 52 3.2 Programm zur Zinsberechnung 56 3.3 Euklid'scher Algorithmus als Programm 59 3.4 Definition eigener Funktionen 60 3.5 Struktur einer Quelldatei 64 3.6 Übungsaufgaben 70 4 Lexikalische Konventionen 76 4.1 Zeichenvorrat von C 76 4.2 Lexikalische Einheiten 77 4.3 Übungsaufgaben 93 5 Datentypen und Variablen 96 5.1 Typkonzept 96 5.2 Einfache Datentypen 96 5.3 Variablen 106 5.4 Typ-Attribute const und volatile 111

X Inhaltsverzeichnis 5.5 Typen in C 111 5.6 Klassifikation von Datentypen 112 5.7 Übungsaufgaben 113 6 Einführung in Pointer und Arrays 116 6.1 Pointertypen und Pointervariablen 116 6.2 Pointerauf void 123 6.3 Eindimensionale Arrays 124 6.4 Übungsaufgaben 130 7 Anweisungen, Ausdrücke und Operatoren 134 7.1 Operatoren und Operanden 134 7.2 Ausdrücke und Anweisungen 136 7.3 Nebeneffekte 137 7.4 Auswertungsreihenfolge 138 7.5 L-Werte und R-Werte 141 7.6 Zusammenstellung der Operatoren 143 7.7 Implizite Typumwandlung 167 7.8 Sequenzpunkte bei Nebeneffekten 174 7.9 Übungsaufgaben 176 8 Kontrollstrukturen 182 8.1 Blöcke- Kontrollstrukturen für die Sequenz 182 8.2 Selektion 183 8.3 Iteration 189 8.4 Sprunganweisungen 200 8.5 Übungsaufgaben 204 9 Blöcke und Funktionen 208 9.1 Struktur eines Blockes 208 9.2 Gültigkeit, Sichtbarkeit und Lebensdauer 210 9.3 Definition und Aufruf von Funktionen 214 9.4 Deklaration von Funktionen 222 9.5 Gültigkeitsbereiche von Namen 226 9.6 Alte Funktionsdefinition und -deklaration nach Kernighan und Ritchie 227 9.7 Die Ellipse... -ein Mittel für variable Parameteranzahlen 228 9.8 Rekursive Funktionen 230 9.9 Übungsaufgaben 241

Inhaltsverzeichnis XI 10 Fortgeschrittene Programmierung mit Pointern 250 10.1 Arrays 250 10.2 Übergabe von Arrays und Zeichenketten 264 10.3 Vergleich von char-arrays und Pointern auf Zeichenketten 266 10.4 Das Schlüsselwort const bei Pointern und Arrays 267 10.5 Kopieren von Zeichenketten 269 10.6 Standardfunktionen zur Stringverarbeitung und Speicherbearbeitung 271 10.7 Vektoren von Pointern und Pointerauf Pointer 282 10.8 Pointer auf Funktionen 287 10.9 Übungsaufgaben 292 11 Strukturen, Unionen und Bitfelder 300 11.1 Strukturen 300 11.2 Unionen 312 11.3 Bitfelder- Komponenten von Strukturen und Unionen 317 11.4 Übungsaufgaben 324 12 Komplexere Datentypen, eigene Typnamen und Namensräume 332 12.1 Komplexere Vereinbarungen 332 12.2 Komplexere Typen 334 12.3 typedef zur Vereinbarung eigener Typnamen 334 12.4 Namensräume 336 13 Speicherklassen 340 13.1 Adressraum eines Programms 340 13.2 Programme aus mehreren Dateien -Adressen 342 13.3 Programme aus mehreren Dateien - die Speicherklasse extern 343 13.4 Programme aus mehreren Dateien - die Speicherklasse static 348 13.5 Speicherklassen bei lokalen Variablen 350 13.6 Initialisierung 354 13.7 Interne und externe Bindung von Namen 355 13.8 Tabellarischer Überblick über die Speicherklassen 356 13.9 Übungsaufgaben 357 14 Ein- und Ausgabe 360 14.1 Speicherung von Daten in Dateisystemen 360 14.2 Dateien unter UNIX-das Streamkonzept 361 14.3 Schichtenmodell für die Ein- und Ausgabe 362 14.4 Das Ein-/Ausgabe-Konzept von C 363

XII Inhaltsverzeichnis 14.5 Standardeingabe und -ausgäbe 365 14.6 C-Bibliotheksfunktionen zur Ein- und Ausgabe 368 14.7 High-Level-Funktionen für die Standardeingabe und -ausgäbe 369 14.8 High-Level-Dateizugriffsfunktionen 394 14.9 Übungsaufgaben 420 15 Übergabeparameter und Rückgabewert eines Programms 428 15.1 Übergabe von Parametern beim Programmaufruf 428 15.2 Beendigung von Programmen 430 16 Dynamische Speicherzuweisung, Listen und Bäume 436 16.1 Reservierung von Speicher 438 16.2 Freigabe von Speicher 442 16.3 Dynamisch erzeugte Arrays 444 16.4 Verkettete Listen 445 16.5 Baumstrukturen 453 16.6 Übungsaufgaben 470 17 Sortieren und Suchen 476 17.1 Interne Sortierverfahren 477 17.2 Einfache Suchverfahren 487 17.3 Suchen nach dem Hashverfahren 490 17.4 Rekursives Suchen mit Backtracking 508 17.5 Übungsaufgaben 513 18 Präprozessor 516 18.1 Aufgaben des Präprozessors 516 18.2 Einfügen von Dateien in den Source-Code 517 18.3 Symbolische Konstanten und Makros mit Parametern 518 18.4 Bedingte Kompilierung 522 18.5 Informationen über den Übersetzungskontext 525 18.6 Weitere Präprozessor-Direktiven 526 19 Software Engineering in C 528 19.1 Structured Design 528 19.2 Modular Design 528 19.3 Umsetzung des Modular Designs in C 532 19.4 Realisierung eines Stacks mit Modular Design in C 536 19.5 Übungsaufgaben 544

Inhaltsverzeichnis XIII Anhang A Standardbibliotheksfunktionen 545 A.1 Fehlersuche (assert.h) 545 A.2 Klassifizierung und Konvertierung von Zeichen (ctype.h) 545 A.3 Länderspezifische Darstellungen und Zeichen (locale.h) 546 A.4 Mathematische Funktionen (math.h) 546 A.5 Globale Sprünge (setjmp.h) 547 A.6 Signalbehandlungen (signal.h) 547 A.7 Behandlung einer variablen Parameterliste (stdarg.h) 547 A.8 Ein- und Ausgabe (stdio.h) 547 A.9 Zahlenkonvertierung, Speicherverwaltung, Zufallszahlengenenerung und Beenden von Programmen (stdlib.h) 549 A.10 String- und Speicherbearbeitung (string.h) 550 A.11 Datum und Uhrzeit (time.h) 551 Anhang B Low-Level-Dateizugriffsfunktionen 553 B.1 Dateioperationen 554 B.2 Ein-/Ausgabe 558 B.3 Positionieren in Dateien 559 B.4 Beispiel zur Dateibearbeitung mit Low-Level-Funktionen 560 Anhang C Wandlungen zwischen Zahlensystemen 562 C.1 Vorstellung der Zahlensysteme 562 C.2 Umwandlung von Dual/Hexadezimal in Dezimal 563 C.3 Umwandlung von Dezimal in Dual/Hexadezimal 563 C.4 Umwandlung von Dual in Hexadezimal und von Hexadezimal in Dual... 566 Anhang D Der ASCII-Zeichensatz 568 Literaturverzeichnis 571 Index 572 Tabellen für den schnellen Zugriff 581