MINT üben

Vom Quelltext zum Programm

Lena bringt ihre erste Info-Tag-Anzeige zum Laufen, und Tim jagt in den Öffnungszeiten der Bibliothek Fehlern hinterher, die C und Python ganz unterschiedlich melden.

Dein Fortschritt:
0 / 0 Aufgaben
1

Die Anzeige für den Info-Tag

AFB I–II

Lena aus der Robotik-AG soll für den Tag der offenen Tür eine kleine Begrüßungsanzeige programmieren, die auf einem Bildschirm im Flur läuft. Sie hat bisher nur in Python programmiert und schreibt nun ihr erstes C-Programm. Die Datei heißt infotag.c.

C · infotag.c
#include <stdio.h>

/* Anzeige für den Tag der offenen Tür */
int main(void) {
    printf("Willkommen im Informatikraum!\n");
    printf("Raum 204: Robotik-AG\n");    // Raum und AG
    printf("Beginn: 10 Uhr\n");
    return 0;
}

Im Terminal tippt sie gcc -Wall infotag.c -o infotag und danach ./infotag. Am Vormittag erfährt sie, dass die AG schon um 9 Uhr beginnt. Sie ändert im Editor die Zahl 10 in 9, speichert die Datei und startet sofort wieder mit ./infotag — auf dem Bildschirm steht aber weiterhin „Beginn: 10 Uhr“.

  1. Geben Sie für die Zeile #include <stdio.h>, den Kommentar, die Zeile int main(void) { und die Anweisung return 0; jeweils an, wozu sie im Programm dient.
  2. Beschreiben Sie, was nacheinander passiert, wenn Lena gcc -Wall infotag.c -o infotag eingibt. Gehen Sie dabei auf die drei Stationen der Übersetzung und auf die Bedeutung von -Wall und -o infotag ein.
  3. Erklären Sie, warum nach der Änderung weiterhin „Beginn: 10 Uhr“ erscheint, und geben Sie die Befehle in der richtigen Reihenfolge wieder, mit denen Lena die neue Uhrzeit anzeigen kann.

Hinweise

Hinweis zu Aufgabe a)
Stellen Sie sich zu jeder Zeile die Frage: Was würde fehlen, wenn sie gelöscht wäre? Eine Zeile wird vom Compiler gar nicht beachtet.
Hinweis zu Aufgabe b)
Die drei Stationen heißen Präprozessor, Compiler und Linker. Überlegen Sie, was jede davon mit der Datei macht und welche Datei am Ende auf der Festplatte liegt.„Beschreiben“ heißt hier: die Schritte in der richtigen Reihenfolge und mit Fachbegriffen wiedergeben — ohne sie zu bewerten.
Hinweis zu Aufgabe c)
Womit startet ./infotag — mit dem Quelltext oder mit einer anderen Datei? Wann wurde diese Datei zuletzt erzeugt? Denken Sie an den Unterschied zu Python.