Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
c:start [2011/07/30 13:28] xin [Hintergründe] |
c:start [2022/09/22 19:58] (aktuell) |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Die Programmiersprache "C" ====== | + | ====== C-Programmierung ====== |
| - | **Dieser Bereich ist noch im Aufbau**, das bedeutet, dass noch die Kapitel noch nicht optimal aufeinander abgestimmt sind. Wir arbeiten daran. Du kannst im [[http://www.forum.proggen.org|Forum]] Fragen stellen, aber auch gerne Kritik üben, wo Du Dinge verbessert sehen möchtest. | + | Du kannst im [[https://www.proggen.org/forum|Forum]] Fragen stellen, aber auch gerne Kritik üben, wo Du Dinge verbessert sehen möchtest. |
| **Deine Fragen und Anregungen helfen mit, diesen Bereich und das Tutorial zu verbessern.** | **Deine Fragen und Anregungen helfen mit, diesen Bereich und das Tutorial zu verbessern.** | ||
| - | siehe auch: [[:Template]], [[:Todo]] | + | ===== Einleitendes ===== |
| - | + | ||
| - | ===== Einstieg ===== | + | |
| - | + | ||
| - | * [[why|Gründe für C]] | + | |
| - | * [[how|Strategie]] | + | |
| - | * [[Syntax]] - Grammatik einer Programmiersprache | + | |
| - | + | ||
| - | ===== Den Computer einrichten ====== | + | |
| + | * [[c:why|Gründe, um C zu lernen]] | ||
| * [[Software]] - Was benötige ich, um C zu programmieren? | * [[Software]] - Was benötige ich, um C zu programmieren? | ||
| * [[c:compiler:start|Compiler einrichten]] - Wie richte ich meine Werkzeuge ein? | * [[c:compiler:start|Compiler einrichten]] - Wie richte ich meine Werkzeuge ein? | ||
| - | ====== C-Tutorial ====== | + | ===== Tutorial ===== |
| - | + | ||
| - | * [[c:tutorial:start|Tutorialübersicht]] | + | |
| - | * [[c:tutorial:basics|Die Grundlagen]] - Grundlagen des Programmierens in C | + | |
| - | * [[c:tutorial:advanced|Fortgeschritten]] - Grundlagen der Sprache C | + | |
| - | * [[c:tutorial:expert|Experten]] - Tiefergehendes und Anwendungen von C | + | |
| - | ====== Nachschlagen ====== | + | |
| - | ===== Einfache Datentypen ===== | + | |
| - | + | ||
| - | * [[c:type:start|Übersicht]] | + | |
| - | + | ||
| - | * [[c:type:Integer]] Zählbare Zahlen | + | |
| - | * [[c:type:Floats]] gebrochene Zahlen | + | |
| - | + | ||
| - | ===== Den Computer verstehen ====== | + | |
| - | + | ||
| - | * [[c:hardware:ram|Arbeitsspeicher]] - Wie sieht Arbeitsspeicher für den Programmierer aus? | + | |
| - | * [[c:hardware:cpu|Der Prozessor]] - Wie wird ein Programm ausgeführt? | + | |
| - | + | ||
| - | ===== Was sind Programme und wie repräsentiert man sie in C? ===== | + | |
| - | + | ||
| - | * [[main|Hauptprogramm]] - erste Programme | + | |
| - | * [[c:comment:|Kommentare]] - wie setze ich sie und wie kommentiere ich sinnvoll? | + | |
| - | * [[semicolon|Semikolons]] - Wo kommen sie hin und wo nicht? | + | |
| - | * [[Style|Programmierstil]] - Wie schreibe ich Programme menschenlesbar? | + | |
| - | + | ||
| - | ===== Variablen und Konstanten ===== | + | |
| - | + | ||
| - | * [[c:var:Start|Variablen]] | + | |
| - | * [[c:attr:const|Konstanten]] | + | |
| - | + | ||
| - | ===== Ausdrücke ===== | + | |
| - | + | ||
| - | * [[c:expr:start|Ausdrücke]] - Computerrhetorik | + | |
| - | * [[c:expr:opprio|Operator-Prioritaeten]] - Punkt-vor-Strichrechnung und vieles mehr | + | |
| - | * [[c:expr:incdec|Inkrement-/Dekrementoperatoren]] | + | |
| - | * [[c:expr:conditional|Der bedingte Operator]] | + | |
| - | * [[c:expr:commaoperator|Der Komma-Operator]] | + | |
| - | + | ||
| - | ===== Eine Entscheidung treffen ===== | + | |
| - | + | ||
| - | * [[c:if]] - wenn... dann? | + | |
| - | * [[c:expr:logicaloperators|Logische Operatoren]] - "und" und "oder" | + | |
| - | + | ||
| - | * [[c:expr:ifoperator|if-Operator]] - wenn... dann... sonst... | + | |
| - | + | ||
| - | ===== Aufzählungen ===== | + | |
| - | + | ||
| - | * [[c:type:Enum|Enumerationen]] - Aufzählungen | + | |
| - | * [[c:switch]] - falls... | + | |
| - | + | ||
| - | ===== Unterprogramme ===== | + | |
| - | + | ||
| - | * [[c:printf]] - Guck mal, wer da schreibt | + | |
| - | * [[c:func:Start|Funktionen]] - Unterprogramme | + | |
| - | + | ||
| - | ===== Wiederholungen ===== | + | |
| - | + | ||
| - | * [[c:loops:start|Schleifen und Iterationen]] | + | |
| - | * [[Goto]] | + | |
| - | + | ||
| - | ===== Zeiger ===== | + | |
| - | + | ||
| - | * [[Pointer]] - auf dem Weg zu sinnvollen Programmen | + | |
| - | * [[c:lib:stdlib:malloc|Memory Allocation]] - Speicher allokieren und freigeben | + | |
| - | * [[c:func:parameters|Funktionsparameter]] und deren Kosten bei der Übergabe | + | |
| - | * [[c:func:callByReference|Referenzparameter/Call by reference]] | + | |
| - | * [[c:cast|Castings]] Uminterpretieren von Daten | + | |
| - | + | ||
| - | ===== Arrays ===== | + | |
| - | + | ||
| - | * [[c:type:array|Array]] - aus einem werden viele | + | |
| - | * [[binarySearch|binäre Suche]] - ein Anwendungsfall: schnelle Suche | + | |
| - | + | ||
| - | + | ||
| - | ===== Datensätze ===== | + | |
| - | + | ||
| - | * [[c:type:struct|Datenstrukturen]] - Daten organisieren | + | |
| - | * [[c:type:union|Unions]] - Daten übereinander legen | + | |
| - | * [[c:type:typedef|Typdefinitionen]] - eigene Datentypen erstellen | + | |
| - | + | ||
| - | ===== Nullen und Einsen ===== | + | |
| - | + | ||
| - | * [[bitoperators|Bitoperatoren]] - 3 und 9 sind gleich 1 | + | |
| - | + | ||
| - | ===== Serielle Schnittstelle ===== | + | |
| - | + | ||
| - | * [[c:rs232:start|Theorie]] | + | |
| - | * [[c:rs232:erstesprog|ein kleines Beispielprogramm]] | + | |
| - | ===== Hilfsprogramme ===== | + | {{page>c:tutorial:content}} |
| - | * [[c:pre:start|Der Präprozessor]] | + | {{page>c:article:start&noeditbtn}} |
| - | * [[c:compiler:options|Compileroptionen]] | + | |
| - | * [[make:start|Makefiles]] | + | |
| - | ===== Hintergründe ===== | + | ===== Weiterführendes ===== |
| - | * [[c:virtualmem|Virtueller und Physikalischer Speicher]] | + | * [[start:style:|Programmierstil]] - Wie sollte ein Programm aussehen? |
| - | * [[c:memorylayout|Die Speicherlandschaft eines Prozesses]] | + | |
| - | * [[c:tutorial:stack|Der Stack - oder - Was ist ein Funktionsaufruf]] | + | |
| ===== Standard C-Library und Headers ===== | ===== Standard C-Library und Headers ===== | ||
| Zeile 138: | Zeile 39: | ||
| * [[c:lib:time:start|time.h]] - Funktionen, für Zeitbestimmung und Zeit-String-Konvertierungen | * [[c:lib:time:start|time.h]] - Funktionen, für Zeitbestimmung und Zeit-String-Konvertierungen | ||
| - | ===== Abschließendes ===== | + | ===== Alte C-Startseite ===== |
| - | * [[FAQ|Frequently Asked Questions]] - Die üblichen Fragen am Anfang | + | Der C-Bereich wird derzeit umstrukturiert. Die alte Startseite findet sich [[index|hier]]. |
| - | * [[SourcecodeHighlights]] | + | |