Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
c:start [2011/06/06 17:34]
xin [C-Tutorial]
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]] +
-  * [[funccall|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]]+