1CHEL FSST Test (Group A)

2024-01-25

Max. 100 points

Name:

Task Max. Achieved
1 32
2 24
3 44
Sum 100
Grading: > 87.5: 1, >75: 2, >62.5 : 3, >50: 4, <=50: 5
  1. Answer the following statements indicating whether they are True or False.
    0-4 correct: 0 points, 5 correct: 8 points, 6 correct: 16 points, 7 correct: 24 points, 8 correct: 32 points.
    Statement True False
    C Sourcecode kann direkt ohne Zwischenschritte ausgeführt werden.
    Mit der Programmiersprache C können, unter anderem, grafische Anwendungsprogramme, Betriebssysteme und Programmiersprachen umgesetzt (geschrieben) werden.
    Ein Texteditor wird dazu verwendet, um Textdateien zu erstellen bzw. ändern.
    Dateien mit Sourcecode können mit jedem Texteditor bearbeitet werden.
    Dateien mit C Sourcecode haben normalerweise keine Dateiendung.
    Zu den Aufgaben des Preprocessors gehören das Entfernen von Kommentaren und das Einfügen der includes.
    Aufgabe des Linkers ist es, zu überprüfen, ob alle Variablen im Code einen korrekten Typ haben.
    Der Assembler übersetzt Assemblycode in Objektcode (Maschinensprache).
  2. Answer the following statements indicating whether they are True or False.
    0-3 correct: 0 points, 4 correct: 8 points, 5 correct: 16 points, 6 correct: 24 points.
    Statement True False
    Ein 32 bit Integer kann nur Zahlen bis 127 speichern.
    float ist ein Datentyp für ganze Zahlen.
    Mit printf und puts kann Text auf stdout (idR also im Terminalfenster) ausgegeben werden.
    scanf dient zum Auslesen von Benutzereingaben.
    Das Ausführen eines C Programms beginnt immer in der main Funktion.
    Mit dem int Schlüsselwort können Variablen vom Typen Integer angelegt werden.
  3. Einführung in die Programmierung (44 Punkte)
    1. Verfasse ein kompilierbares Programm mit der Programmiersprache C. Es muss folgenden Text ausgeben, wobei "?" durch den jeweils richtigen Wert zu ersetzen ist. Dieser Wert ist mit dem richtigen Operator zu generieren.
      char requires ? bytes
      int requires ? bytes
      double requires ? bytes
      
      Nach der Ausgabe muss das Programm dem Betriebssystem melden, dass die Ausführung erfolgreich war. (33 Punkte)
      5 points for the include
      5 points for the main function
      3*6 points for creating the correct output (2 for printf(.), 2 for %zu (or %lu), 2 for using sizeof
      points for using sizeof
      5 points for returning 0
      #include <stdio.h>
      
      int main() {
        printf("char requires %zu bytes\n", sizeof(char));
        printf("int requires %zu bytes\n", sizeof(int));
        printf("double requires %zu bytes\n", sizeof(double));
        return 0;
      }
    2. Der Sourcecode des obige Programs ist in types.c gespeichert. Übersetze den Code so, dass das ausführbare Program den Namen display_types bekommt. (6 Punkte)
      2 points for the compiler
      2 points for the correct output parameter
      2 points for the correct input filename
      clang -o display_types types.c
    3. Auf der Linux Kommandozeile kann man Hilfe zu C Programmierbefehlen bekommen. Schreibe den Befehl, der die Hilfe zur printf Funktion gibt. Achtung: in diesem Fall ist die richtige "Sektion" mitanzugeben. (5 Punkte)
      3 points for man printf
      2 points for explicitly passing section 3
      man 3 printf