Franz Pucher / TINF

You are viewing an older revision! See the latest version

Anatomie eines ANSI C Programmes

#include <stdio.h>
int main(void); 	//Prototyping  /* Kommentare */
int main(void)
{
	printf("Hello Bulme\n");
	return 0;
}
main()ist das Hauptprogramm in Gestalt einer Funktion und besteht aus einer Gruppe zusammengehörender Anweisungen (statements) oder Befehlen (instructions). Sie muss vorkommen bzw. darf nur ein einziges Mal vorkommen und ist der Teil des Programms, der beim Start ausgeführt wird. Das Betriebssystem ruft diese Funktion auf, wenn das Programm gestartet wird.
voidsteht für einen „leeren“ Datentype und bedeutet, dass keine Werte vom Betriebssystem erwartet werden. Steht z.B. void main() so wird kein Ergebnis an das Betriebssystem zurückgegeben.
{ }geschweifte Klammern stehen am Anfang und Ende der Funktion. Alles was ein Programm macht wird zwischen der ersten und der dazugehörigen letzten geschweiften Klammer beschrieben und als Funktionskörper (function body) bezeichnet.

Im Funktionskörper (function body) sind die Anweisungen unterteilt in:

  1. Vereinbarungsteil (declaration part) - später
  2. Anweisungsteil (statement part) , wobei der Anweisungsteil der main-Funktion aus zwei Anweisungen besteht:

printf("Hello Bulme\n");
return 0;

Die Anweisungen werden der Reihe nach von oben nach unten ausgeführt (executed).

printf()printf() ist eine Funktion, die in der Headerdatei stdio.h deklariert ist. Deswegen kann der Compiler, wenn Sie diese Headerdatei nicht im Programm angegeben haben, nichts mit printf() anfangen. Mit der Funktion printf() kann eine beliebige Stringkonstante formatiert auf dem Bildschirm ausgegeben werden.
Semikolon(;)zeigt das Ende einer Anweisung an. Der Compiler weiß dann, hier ist das Ende der Anweisung von printf() und fährt nach der Abarbeitung der Anweisung fort.
return 0;gibt 0 an das Betriebssystem zurück, das heißt alles OK!
#includePräprozessor Direktive: C/C++ besitzt nur kleinen Kern (core) von eingebauten Befehlen. Der Rest ist in Bibliotheksfunktionen (standard library file) implementiert. Nachdem mit der #include-Anweisung das headerfile zur Bibliothek stdio eingebunden wurde, können wir nun die Funktion printf() nutzen, der Text auf den Bildschirm ausgibt (z.B. printf()ist deklariert in stdio.h).
\nist ein Steuerzeichen (Escape-Sequenzen) in Zeichenkonstanten hier: NL (newline) – Cursor geht zum Anfang der nächsten Zeile. Weitere Escape-Sequenzen sind:
  • \a ALARM oder BEL (bell) – akustisches Warnsignal
  • \b BS (backspace) – setzt Cursor um eine Position nach links
  • \r CR (carriage return) – Cursor springt zum Anfang der aktuellen Zeile
  • \t HT (horizontal tab) – Zeilenvorschub zur nächsten Tabulatorposition (meistens acht Leerzeichen)
  • \" " wird ausgegeben +
    \ wird ausgegeben
/* */Kommentare werden beginnend mit zwei Schrägstrichen (bis zum Zeilenende oder zwischen /* Hier steht der Kommentar */ geschrieben.

Das Hello World-Programm für Mikrocontroller ist typischerweise ein LED-Blink Programm und sieht meist folgendermaßen aus:

#include "mbed.h"

DigitalOut myled(LED1);

int main() {
    while(1) {
        myled = 1;
        wait(0.2);
        myled = 0;
        wait(0.2);
    }
}

All wikipages