Copyright © 1992, 1997 by Axel T. Schreiner, 1998 by Bernd Kühl, . All Rights Reserved.

Informatik B: Programmieren in ANSI-C


Bernd Kühl, Fachbereich Mathematik-Informatik, Universität Osnabrück.

Eine Einführung in die Programmierung mit ANSI-C, insbesondere auf UNIX-Systemen.

Vorlesung im Sommersemester 1998.


Von hier aus sind Kopien der OH-Folien sowie die Programmbeispiele erreichbar, die teilweise in der Vorlesung verwendet werden. Die Texte sind kein komplettes Manuskript der Vorlesung. Zum Selbststudium müßte zusätzlich ein Buch über die Programmiersprache C nach dem ANSI-Standard konsultiert werden.

Die Folien beruhen auf Kernighan und Ritchie's The C Programming Language, Second Edition [ Prentice-Hall 1988, deutsch bei Hanser 1990] und auf anderen Büchern über C und UNIX. Nicht alle hier enthaltenen Beispiele werden in der Vorlesung behandelt.

aufgaben

Jede Woche gibt es ein Aufgabenblatt. Am Ende des Semesters folgt dann auch noch eine Klausur...

code

Die Programmbeispiele sind nach Themen in Katalogen zusammengefaßt, die auf Web-Seiten erklärt und erschlossen werden.

ftp

Für verschiedene Plattformen wurden Werkzeuge wie C-Compiler oder PDF-Betrachter vom Netz zusammengetragen und auf Web-Seiten erschlossen. In diesem Bereich sind auch archivierte Kopien der Programmbeispiele und OH-Folien zu finden.

Alle Daten unterhalb von ftp können nur im Netz der Universität Osnabrück per File-Transfer-Protokoll abgeholt werden

pdf

OH-Folien und Programmbeispiele wurden mit Adobe Acrobat in das Portable Document Format gewandelt. Die kompletten Unterlagen als Archiv finden Sie hier.

Je nach Plattform sind dafür spezielle Betrachter erforderlich, die zuvor installiert werden müssen.


1998

April 21 Einführung, Online-Daten, OPENSTEP, hallo0.c
23 hallo1.c, Konstanten, Arithmetik, Funktionsdefinition
28 Arithmetik, qgl, Funktionsdeklaration
30 Zeilen-Eingabe, qgl5.c, euklid, newton
Mai 5 Kontrollstrukturen, int-Typen, Bit-Operationen int0.c, Preprozessor int2.c
7 int-Umwandlungen. Zeichenorientierte Ein- und Ausgabe, cat
12 Filterprogramme: cat5.c, wc0.c, wc1.c, wc2.c. Endlicher Automat, switch
14 Filterprogramme, Kommandozeile: wc3.c. Vektoren, [] als Operator, max0.c
19 Vektoren, max1.c. Matrizenmultiplikation, mat0.c, mat1.c, Strukturen
21 Christi Himmelfahrt
26 Strukturen und Unions, person.c.
28 Größe von Strukturen und Unions, liste.c. mat2.c, Dynamischer Speicherplatz, mat3.c, mat4.cc. proc-Dateisystem unter Linux.
Juni 2 Pfingstferien
4 Pfingstferien
9 Sortieralgorithmen, sort0 Modulare Programmierung, Quicksort, Shell-Sort, sort0
11 sort0, Sichtbarkeit, static, time, Profiling (prof und gprof), make, cc -MM
16 dynamisch, unbegrenztes Datenmodul sort0/int2.c, realloc, Ersatzdarstellungen, static && lokale Variablen, Sortierfilter, sort1/int.c.
18 sort1, Zeilenspeicher, Optionen, Zeiger auf Funktionen, sort2, Makros, #define, ##, line.c.
23 Vereinbarungen von Zeigern, etc., Funktionszeiger, extern, Stack-Maschine, ctype.h, ungetc, Vereinbarungsrätsel mit dcl und undcl.
25 Arithmetik mit Zeigern, etc., Typ-Spezifikationen, Zeiger-Umwandlungen, cast.c, Adressen als Parameter, swap.c, proc-Dateisystem unter Linux.
30 matrix.c, String-Funktionen.
Juli 2 Verarbeitung der Kommandozeile, Main-Makros, variable Paramterliste.
7 Flächenfüllende Kurven, plot, Bibliotheken, ar, ranlib, psplot.c.
9 Debugger: gdb und xxgdb
13(Übungen) Debugger: ddd
14 Unix-Systemprogrammierung.
16 Klausur

Copyright © 1992, 1997 by Axel T. Schreiner, 1998 by Bernd Kühl, . All Rights Reserved.