Programmieren für Einsteiger auf physik-abc.de


Mollweide

C - Programmierung mit Linux

Lernziele:

  • Das Grundgerüst eines C-Quellcodes verstehen
  • Einbinden von Bibliotheken
  • Ausgabefunktion auf der Konsole
  • Schreiben, kompilieren und ausführen eines eigenen Programms

  • Dein Einstieg in die C -Programmierung

    Zunächst wird standardgemäß die Welt begrüßt. Das heißt es wird ein Hallo-Welt-Programm erstellt. An diesem Beispiel lässt sich auch der Vorgang des Kompilierens (das Übersetzen unseres Programms in eine vom Betriebssystem lesbare Sprache), sowie das Ausführen eines kompilierten Programms gut zeigen.
    Nachdem die Konsole geöffnet (bei Problemen: Programmieren) wurde, wird nun ein vergleichbar einfacher Editor mit dem Namen nano gestartet. Hierzu wird in die Konsole der Befehl
    nano hello.c
    eingegeben. Hierbei wird mit nano der gleichnamige Editor aufgerufen und durch hello.c veranlasst eine Datei mit dem Namen hello.c anzulegen.


    Abb.1: Der Editor nano mit dem ersten lauffähigem C-Programm

    In Abbildung 1 ist zu erkennen, dass nano den C-Code erkennt und durch farbige Markierungen übersichtlich darstellt. Dieses funktioniert nur weil die Datei mit Endung .c bereits angelegt wurde. Wenn die Datei nun mit der Tastenkombination Strg + o gespeichert und mit Strg + x wurde, benützt man erneut die Konsole um das Programm zu kompilieren. Hierzu gibt man
    gcc -o hello hello.c
    ein. gcc ruft hierbei den Gnu-C-Compiler auf, der die Anweisung bekommt ein Programm mit dem Namen hello aus dem Programmcode hello.c zu erstellen.
    Um das Programm zu testen ruft man es mit
    ./hello
    auf und schaut was passiert:

    Abb.2: Aufrufen(bzw. Anlegen) des C-Programmcodes mithilfe des Editors nano, Kompilieren mit gcc, Ausführen des Programms

    Anmerkungen zum C-Programm

    Der in Abbildung 1 dargestellte Programmcode wirkt zunächst vieleicht verwirrend. Daher soll der gesammte Code noch einmal chronologisch und detailiert aufgeschlüßelt werden.

    Element Bedeutung
    /* Kommentar */ Ein Kommentar ist für den Computer nutzlos. Es dient lediglich der Dokumentation.
    #include <stdio.h> include bindet die Headerdatei stdio.h ein. Im Header sind zusätzliche Funktionen definiert, hier das printf(), dass die Ausgabe auf der Konsole erzeugt.
    main(){
    }
    main ist die Bezeichnung der Hauptfunktion. Die leer Klammer zeigt, das der Funktion in diesem Fall keine Parameter übergeben werden. Im Normalfall
    sollte die Hauptfunktion deklariert sein, zb als ganze Zahl: int main(), so dass das Betriebssytem weiss welchen Wert es erwartet. Die geschweiften
    Klammern öffnen und schließen die Hauptfunktion. Die Anordnung ist dem Betriebssyystem egal, sollte aber für den Benutzer übersichlich sein.
    printf("bla\n") Der printf()-Befehl erzeugt die Ausgabe von bla auf dem Terminal, \n steht für einen Sprung in die nächste Zeile.