1           *  V p p r r r C_INH.DFV                                                           HPHVTRPAs @ Γ\p p   r C_LST.BAT
Erstellung einer ausdruckbaren Datei aus allen *.C- und *.H-Dateien. 
C_LST.TXT
Textdatei, fr den Ausdruck erstellt durch C_LST.BAT
C_INH.TXT
Dieser Text.
C_INH.DFV
Druckformatvorlage zu diesem Text.
FF.TXT
Form-Feed-Zeichen fr den Seitenumbruch des Ausdrucks
C_01MIN1.C 
Kleinstes C-Programm im K&R-Stil. 
C_01MIN2.C 
C besteht aus Funktionen und Prprozessoranweisungen       Funktionen bernehmen und bergeben einen Wert void=nichts es mu eine Funktion main() geben, das Hauptprogramm       Auch die Ausgabe ist eine Funktion, printf()               Funktionen mssen nicht einer Variablen zugewiesen werden  Strings in C werden durch "" eingegrenzt                   
C_01MIN3.C 
mehrere Textausgaben 
C_01MIN4.C 
Lngere als einzeilige Textausgaben mit printf 
C_01MIN5.C 
in C knnen die Anweisungen durch beliebig viele SPACES getrennt werden. Man benutzt den Abstand als Mittel     zur Gestaltung                                          
C_01MIN6.C 
Abschreckendes Beispiel fr schlechte Form 
C_02TYP1.C 
Vereinbarung einer lokalen Variablen index 
C_02TYP2.C 
Typenschau 
C_02TYP3.C 
In diesem Beispiel werden weitere Datentypen gezeigt 
C_02TYP4.C 
Darstellung der Zahl 23456 in verschiedenen Formaten
C_03OPE1.C 
Zuweisungen 
C_03OPE2.C 
logische Operationen 
C_03OPE3.C 
Schiebeoperatoren 
C_03OPE4.C 
Das gibts nur in C! 
C_04CTR1.C 
while-Schleife 
C_04CTR2.C 
do-while-Schleife 
C_04CTR3.C 
for-Schleife 
C_04CTR4.C 
if-else-Anweisung 
C_04CTR5.C 
Beispiele fr logische Vergleiche 
C_04CTR6.C 
Abbruch und Fortsetzung von for- while- do-while-Schleifen   mit break und continue
C_04CTR7.C 
switch-Anweisung 
C_04CTR8.C 
gute und schlechte goto's 
C_05DOK1.C 
Gut dokumentiertes Programm 
C_05DOK2.C 
Undokumentierte Programme erschweren das Verstndnis 
C_06ARR1.C 
Eindimensionales Feld 
C_06ARR2.C 
Zweidimensionale Felder 
C_06ARR3.C 
int, float und char-Felder 
C_06ARR4.C 
Aufzhlungstyp enum 
C_07STR1.C 
Zeichenweises Aufbauen eines String 
C_07STR2.C 
Arbeiten mit Strings 
C_08FKT1.C 
Funktion mit Parameterbergabe 
C_08FKT2.C 
Funktion bildet die Summe der Quadrate 
C_08FKT3.C 
Quadrieren einer float-Zahl 
C_08FKT4.C 
Gltigkeitsbereich von Variablen 
C_08FKT5.C 
Funktion mit bergabe einer Matrix 
C_09REK1.C 
Rekursion: von 8 abwrts zhlen 
C_09REK2.C 
Rekursion: Vor- und Zurcklesen eines String 
C_10PRE1.C 
Prprozessoranweisungen 
C_10PRE2.C 
falsche und richtige Prprozessormakros 
C_11PTR1.C 
So werden Pointer benutzt 
C_11PTR2.C 
Wo findet man Pointer und ihren Wert ? 
C_11PTR3.C 
Index kontra Pointer in Strings
C_11PTR4.C 
Parameterbergabe durch Wert und Pointer 
C_12CIO1.C 
gepufferte Zeicheneingabe 
C_12CIO2.C 
ungepufferte Zeicheneingabe 
C_12CIO3.C 
C_12CIO4.C 
Ein- und Ausgabe von Zahlen mit scanf und printf 
C_12CIO5.C 
Stringeingabe mit scanf 
C_12CIO6.C 
Aus- und Eingabe in einen Buffer 
C_13FIO1.C 
Textdatei beschreiben 
C_13FIO2.C 
Textdatei verlngern 
C_13FIO3.C 
Zeichenweises Lesen aus einer Datei 
C_13FIO4.C 
Lesen aus einer Textdatei 
C_13FIO5.C 
Lesen aus einer Datei mit scanf 
C_13FIO6.C 
Lesen aus einer Textdatei mit fgets 
C_13FIO7.C 
Lesen und Anzeigen einer Textdatei, Abfrage des Dateinamens 
C_13FIO8.C 
Ausdrucken eines Textes 
C_13FIO9.C 
Funktion zum Vertauschen von Zeichen in einem String 
C_13FIOA.C 
C_14SCT1.C 
Strukturen sind zusammengehrige Variable verschiedener Typen 
C_14SCT2.C 
Bearbeitung einer Struktur 
C_14SCT3.C 
Struktur als array 
C_14SCT4.C 
Zuweisung bei Strukturen Operator '.'             
C_15UNI1.C 
Verbunde 
C_15UNI2.C 
Verbunde mit Fahrzeugen 
C_16DYN1.C 
Speicherreservierung mit malloc 
C_16DYN2.C 
Dynamische Variable 
C_16DYN3.C 
Struktur mit Zeiger auf nchste Stuktur =verkettete Liste 
C_16DYN4.C 
Speicheradresse verschiedener Variablentypen globale z1,z1aglobale, initialisierte z1blokale, automatisch z2lokale, statisch z2alokale, automatisch, initialisiert z2bdynamisch z3,z4,z5
C_17DOS1.C 
Fehlerbehandlung in C 
C_17DOS2.C 
Dieses Programm liest eine Serie von Wrtern der Kommandozeile  und zeigt alle, mit Ausnahme des letzten Wortes an.             Dieses ist eine Zeichenfolge, die fr Eingabevergleiche.        Ein Zeichen wird von der Tastatur gelesen. Wenn es eines aus    der Vergleichsliste ist, wird dessen Nummer als ERRORLEVEL      zu DOS zurckgegeben. Wenn das Zeichen nicht existiert          wird 0 zurckgegeben. Beispiel folgt:                                                                                           WHATNEXT Welches Modell wollen Sie? ALR%3T                                                                                      Welches Modell wollen Sie?   <---- angezeigt                       a oder A,          errorlevel = 1                               l oder L,    errorlevel = 2                           r oder R,    errorlevel = 3                           %       ,    errorlevel = 4                           3       ,    errorlevel = 5                           t oder T,    errorlevel = 6                           Jede andere Taste, errorlevel = 0                                                                                            Die Frage mu auf einer Zeile Platz haben                       Bis zu neun Tasten knnen benutzt werden                        errorlevel kann in einer Batch-Datei abgefragt werden          
C_17DOS3.C 
Dieses Beispielprogramm zeigt:                                  1. Abfrage von Zeit und Datum von DOS                          2. Kusror am Bildschirm positionieren                          3. Tastencodes lesen und ihre Codes darstellen                 4. Bildschirm rollen                                           5. Programmformatierung fr leichtes Lesen                    
C_18LST1.C 
Dieses Programm liest jede Textdatei und gibt es mit Zeilen-    und Seitennummern am Bildschirm aus                             
C_18LST2.C 
Dieses Programm fgt in jede Datei am Beginn den Dateinamen ein 
C_18LSTF.C 
Funktionen, die durch das programm list.c verwendet werden      und die ganz allgemein fr andere, hnliche Aufgaben            verwendet werden knnten                                        
C_18LSTF.H 
C_19TOP0.C 
Programmgerst zu einem Top-Down-Programmentwurf 
C_19TOP1.C 
Ausprogrammiertes Programm Top-Down. Gleichzeitig Beispiel fr lineare Liste, Bubble-Sort 
C_20HDW1.C 
Dateineingabe von seriellem Port, z.B. Maus. Datenanzeige nur bei Datennderung
C_20HDW2.C 
Bestimmen eines Speicherinhalts ber far-Pointer. Ausgabe eines Interruptvektors. Umlenken des Print-Screen-Interrupts auf interrupt-Funktion. Verndern des Bildschirmattributs der linken oberen Bildecke.
CPPNEU1.CPP 
In C++ sind einzeilige Kommentare erlaubt und beginnen mit //. Diese sollen auch verwendet werden. Es hat den Vorteil, da man diese Kodeteile mit /* .. */ ausblenden kann
In C++ herrscht Prototypenzwang. In C gabs noch eine Warnung, da printf keinen Prototypen hat, in C++ geht nichts mehr.
CPPNEU2.CPP
Fr die Reservierung von Speicherplatz am Heap, gibt es zwei neue Operatoren new und delete. Vorteil gegenber den C-Funktionen malloc() und free():
1. new liefert einen Zeiger mit richtigem Typ und nicht einen void *
2. es mu nur die Anzahl der zu reservierenden Typen und nicht der Platz in Bytes angegeben werden
3. die Operatoren knnen berladen werden
CPPNEU3.CPP
Funktionsparameter knnen einen Anfangswert bekommen. Wenn sie einen haben, dann kann dieser Parameter beim Aufruf entfallen. Achtung: funktioniert nur von rechts nach links
CPPNEU4.CPP
berladen von Funktionen
Funktionsnamen knnen mehrfach verwendet werden, die Anzahl und/oder Type der bergabeparameter mu sie unterscheiden. Der Rckgabewert dient nicht als Unterscheidungsmerkmal.
CPPNEU5.CPP
Referenzen
In C mu mit Pointern gearbeitet werden, wenn die ursprngliche Variable durch eine Funktion verndert werden soll. In C++ ersetzt der Referenzoperator & diese Schreibweise. 
CPPNEU6.CPP
Streams
Die Streams cin und cout ersetzen die Funktionen scanf und printf. Die berladenen Operatoren << und >> geben die Richtung des Datentransportes an. 
CPPNEU7.CPP
berladene Operatoren fr eigene Aufgaben: STRING enthlt Zeichenketten. Der Operator + erhlt die Aufgabe, STRINGS zu verketten. 
CPPNEU7A.CPP
CPPNEU8.CPP
In C verbergen lokale Variable gleichnamige globale Variable. Der Gltigkeitsbereich-Zugriffsoperator :: ermglicht den Zugriff auf globale Variable. (Scope-Resolution-Operator). 
CPPNEU9.CPP
Der Bezeichner inline kennzeichnet eine Funktion, deren Krper ohne Funktionsaufruf in den Kode eingefgt wird, hnlich, wie ein Makro aber mit exakter Typenprfung. 
Der Bezeichner const kennzeichnet eine Konstante, hnlich, wie eine Definition aber mit exakter Typenprfung. 
CPPKLA0.C 
Diese Datei enthlt ein Programmgerst, das whrend des Unterrichts von den Schlern durch den Programmtext des Beispiels CPPKLA1.C gefllt wird. Die folgenden Beispiele CPPKLA2.C bis CPPKLA6.CPP entstehen durch Textsubstitution der jeweiligen Vorgngerdatei. 
CPPKLA1.C 
In C kann man auch objekt-orientiert programmieren. Mit globalen Daten, ohne Parameterbergabe allerdings nur mit einem Objekt. 
CPPKLA2.C
Hier wird gezeigt, wie effizient Funktionen bei Parameterbergabe werden. Aus diesem Programm entsteht durch eine einfache Textsubstitution eine Klasse.
CPPKLA3.CPP
Durch Kapselung der globalen Variablen wurm in einer Klasse wird uerer Zugriff verhindert. Die Klasse enthlt neben dieser Variablen auch noch alle Funktionen, die mit wurm arbeiten.
CPPKLA4.CPP
Konstruktor und Destruktor sind Funktionen, die bei der Deklaration eines Objekts, bzw. bei Verlassen des Gltigkeitsbereichs automatisch aufgerufen werden. 
CPPKLA5.CPP
Abgeleitete Klassen
Es knnen abgeleitete Klassen mit erweiterten oder spezialisierten Eigenschaften gebildet werden. Das Schlsselwort protected ermglicht den Variablenzugriff in abgeleiteten Klassen.
CPPKLA6.CPP
Virtuelle Funktionen
Eine Funktion kann in einer abgeleiteten Klasse a. von der Basisklasse geerbt sein, b. berladen werden (sie tritt an Stelle der Basisklassenfunktion) oder c. virtuell sein (ein BasisKlassen-Pointer-Zugriff auf die abgeleitete Funktion liefert die abgeleitete Funktion zurck
Von einer Klasse knnen mehrere Subklassen abgeleitet werden. Memberfunktionen der Subklassen knnen normal oder virtuell gebildet werden. Von Basisklassen mit virtuellen Funktion kann kein Objekt gebildet werden. 
܀   *        y    w    u   s   q ,  o 7  m [  k  T  T  T  T  T  T  T  T ?A?A?A?A[  c  y   w   u   s   q A  o N  m e  k  T  T  T  T  T  T  T  T ?A?A?A?Ae  r  y   w   u \  s i  q   o   m   k  T  T  T  T  T  T  T  T ?A?A?A?A    y   w   u .  s ;  q q  o ~  m   k  T  T  T  T  T  T  T  T ?A?A?A?A    y   w   u   s   q   o   m   k  T  T  T  T  T  T  T  T ?A?A?A?A    y 3  w @  u O  s \  q p  o }  m   k  T  T  T  T  T  T  T  T ?A?A?A?A    y   w   u $  s 1  q M  o Z  m x  k  T  T  T  T  T  T  T  T ?A?A?A?Ax    y   w   u   s   q   o   m 2  k  T  T  T  T  T  T  T  T ?A?A?A?A2  ?  y U  w b  u   s   q   o   m   k  T  T  T  T  T  T  T  T ?A?A?A?A    y 	  w 	  u ;	  s H	  q k	  o x	  m 	  k  T  T  T  T  T  T  T  T ?A?A?A?A	  	  y 	  w 	  u 
  s 
  q /
  o <
  m f
  k  T  T  T  T  T  T  T  T ?A?A?A?Af
  s
  y 
  w 
  u 
  s 
  q 
  o    m +  k  T  T  T  T  T  T  T  T ?A?A?A?A+  8  y T  w a  u   s   q   q   o   m  T  T  T  T  T  T  T  T ?A?A?A?A    y    w #  u 0  s H  q U  o l  m y  k  T  T  T  T  T  T  T  T A?A?A?A?y    y   w   u   s   q 
  o *
  m 7
  k  T  T  T  T  T  T  T  T A?A?A?A?7
  u
  y 
  w 
  u 
  s 
  q 
  o 
  o :  m  T  T  T  T  T  T  T  T A?A?A?A?:  G  y d  w q  u   s   q   o   m   k  T  T  T  T  T  T  T  T ?A?A?A?A    y   w   u 6  s C  q Y  o f  m   k  T  T  T  T  T  T  T  T ?A?A?A?A    y p  w }  u   s   q   o   m   k  T  T  T  T  T  T  T  T ?A?A?A?A    y $  w 1  u s  s   q D  o Q  m ^  m  T  T  T  T  T  T  T  T ?A?A?A?A^    y   w   u   s X  q e  o 3  m A  k  T  T  T  T  T  T  T  T A?A?A?A?A    y h  y u  w   u Q  u   u   u   s   q  T  T  T  T  T  T  T  T  T A?A?A?A?	    y   w t  w   u   s =   s J   q S   o    o  T  T  T  T  T  T  T  T  T A??A?A?A	      y z!  w !  u !  u J"  s W"  q "  o o#  o {#  m  T  T  T  T  T  T  T  T  T AA?A?A?A	{#  $  y $  w %  u %  s %  q %  o {&  m &  k  T  T  T  T  T  T  T  T  T  TA?A?A?A?&  ''  y 4'  w I'  u (  u (  s $(  q 9)  q *  q *   T  T  T  T  T  T  T  T       A?A?A?A?		 
     w    	  w  m    
  &  )       7      7      *      
            
                 	            (       04.16.9102.25.91)  