Programmieren in C und Datei:Geany.png: Unterschied zwischen den Seiten

Aus Datenschutz
(Unterschied zwischen Seiten)
Zur Navigation springen Zur Suche springen
 
 
Zeile 1: Zeile 1:
== Programmieren in C auf dem eigenen Computer ==
 
[[Datei:Raspi400.jpg|mini|rechts|Der Raspberry Pi 400 für knapp 100.- € zum Anschluss an den Fernseher (hier mit englischem Netzteil!)]]
 
* Um ein Programm in einer Programmiersprache zu schreiben, braucht man ein passendes Übersetzungsprogramm für diese Sprache.
 
* Solche Übersetzungsprogramme übersetzen eine Programmiersprache in die universelle Sprache aller Computer.
 
* Solcher Übersetzungsprogramme heißen '''Compiler'''.
 
* Man benötigt also für C einen C-Compiler und
 
* einen Editor (Textverarbeitung für Programmierer) zum Erfassen des Programms.
 
* Am besten alles zusammen: eine "Integrierte Entwicklungsumgebung (IDE)".
 
* Zum Beispiel diese [https://github.com/Embarcadero/Dev-Cpp/releases hier] (Windows, MacOS).
 
* Auf einem Raspberry Pi kann man einfach [https://de.wikipedia.org/wiki/Geany Geany] benutzen.
 
  
== Grundsätzliches Wissen für angehende Programmierer/-innen ==
 
* Jede Anwendung eines persönlichen Computers, jede Website, jede App ist ein '''Computerprogramm'''.
 
* Computerprogramme sind Listen von '''Anweisungen''', die vom Computer der Reihe nach abgearbeitet werden.
 
* Diese Listen werden in ein Textprogramm eingegeben, in Bits und Bytes übersetzt und dann ausgeführt.
 
* Anweisungen in Programmen bestehen aus '''Schlüsselwörtern und Parametern''', die die Anweisungen genauer spezifizieren.
 
* Ein Beispiel "aus dem richtigen Leben" wäre
 
<pre>"Starte das Auto"</pre>
 
* wobei "Starte" das Schlüsselwort und "das Auto" der Parameter ist.
 
* Ein Schlüsselwort sagt dem Computer, '''was''' zu tun ist.
 
* Ein Parameter erklärt, '''womit''' etwas zu tun ist.
 
 
== Funktionen ==
 
* Ein Problem wird zur Lösung in viele kleine Probleme zerlegt.
 
* Beispiel: "Kuchen backen" kann in "Mische Mehl, Eier...", "Heize den Backofen", "Knete den Teig" etc. aufgeteilt werden.
 
* Programme können in kleine Abschnitte eingeteilt werden, die einzelne Unter-Aufgaben erfüllen ('''Funktionen''').
 
* Diese Funktionen haben einen festgelegten '''Namen''', '''Parameter''' und können '''Werte''' an das Hauptprogramm zurück geben.
 
* Den '''Typ des Rückgabewertes''' steht vor der Funktion (hier: int = integer = ganze Zahlen).
 
* main ist die ''erste'' Funktion, die in jedem Programm aufgerufen wird. Hier startet also immer das Programm.
 
* In C-Programmen muss es wenigstens ''eine'' Funktion mit dem Namen '''main''' geben.
 
* Von main aus werden andere Funktionen des selben Programms '''aufgerufen''', sofern welche existieren.
 
* Die Hauptfunktion, das ganze Programm, gibt nach der Abarbeitung des Programms einen Wert an den Computer zurück.
 
* Ein einfaches Programm sieht also jetzt so aus ("//" leitet einen Kommentar ein):
 
<pre>
 
int main ()
 
{
 
  // Hier startet das Hauptprogramm
 
  printf ("Zahlenraten - ich denke mir eine Zahl und Du errätst sie. \n");
 
}
 
</pre>
 
 
== Variable ==
 
* Variable sind '''benannte Speicherstellen''', in denen Zwischenergebnisse gespeichert werden können.
 
* Variable müssen dem C-Compiler '''erklärt''' werden, damit sie verwendet werden können: sie werden '''deklariert'''.
 
* Da Programme linear (von oben nach unten) ablaufen, sind '''Variablen erst ab der Deklaration''' nutzbar.
 
* Der Compiler muss wissen, was in den Variablen stehen soll: der '''Variablentyp'''.
 
* Typen für Variable in C: Ganzzahlen (int), Fließkommazahlen (float), Zeichen (char)
 
* Eine Deklaration sieht typischerweise so aus: <Typ><Leerzeichen><Name><Semikolon>
 
* Beispiel: <pre>int nGedachteZahl;</pre>
 
* Das "n" vor dem Namen "GedachteZahl" ist nicht notwendig. Es ist aber [https://de.wikipedia.org/wiki/Ungarische_Notation gute Sitte], den Typ (int, also numerisch) im Namen zu erwähnen.
 
* Variable können auch einen Anfangswert (Initialisierung) enthalten, der einfach dahinter geschrieben wird.
 
* Beispiel: <pre>int nGedachteZahl = 24;</pre>
 
* Die Variable nGedachteZahl ist dem Compiler ab diesem Zeitpunkt als Ganzzahl-Speicherstelle bekannt und hat den Wert 24.
 
* Eine nicht initialisierte Variable hat übrigens '''nicht''' den Wert Null sondern einen unbestimmten Wert (Vorsicht!).
 
* In unserem Beispiel brauchen wir zwei Variable: in einer steht die gedachte Zufallszahl, in der anderen die Vermutung des Benutzers.
 
* Nach der Erwähnung des Datentyps kann man weitere Variablen definieren.
 
* Unser Programm sieht bis hierher also so aus:
 
<pre>
 
 
int nGedachteZahl = 24; // muss erraten werden
 
    nVermutung = 0;    // sicher ist sicher
 
 
int main ()
 
{
 
  // Hier startet das Hauptprogramm
 
  printf ("Zahlenraten - ich denke mir eine Zahl und Du errätst sie. \n");
 
}
 
</pre>
 
 
== Ein- und Ausgabe ==
 
* Ein Programm braucht grundsätzlich Anweisungen für die '''Eingabe''', die '''Verarbeitung''' und die '''Ausgabe''' von Daten.
 
* Speziell in der Programmiersprache C gibt es '''keine''' Anweisungen zur Ein- und Ausgabe.
 
* C soll auf sehr vielen Computern nutzbar sein und jedes Computersystem hat andere Funktionen für Ein- und Ausgabe.
 
* Deshalb liegt jedem C-Compiler eine Bibliothek von Dateien bei, die Ein- und Ausgabe des jeweiligen Computersystems ermöglicht.
 
* Die Funktionen in diesen Dateien werden aber alle in der gleichen Art und Weise aufgerufen ("C-Standard-Bibliotheken").
 
* Wir verwenden hier zur Eingabe das Schlüsselwort '''scanf''' und zur Ausgabe '''printf''' wegen ihrer Ähnlichkeit.
 
* Im "echten Leben" tun Sie das bitte nicht: die Funktionen sind [https://dasdev.de/nachteile-von-scanf/ nicht krisensicher].
 
 
== Bedingungen ==
 
== Fallunterscheidungen ==
 
== Schleifen mit Zähler ==
 
== Kopfgesteuerte Schleifen ==
 
== Fußgesteuerte Schleifen ==
 
== Dateien ==
 

Aktuelle Version vom 2. Juni 2022, 13:06 Uhr