Skip to content

FHNW Modul System-Programmierung (syspr) Hands-on Lektion 1

Notifications You must be signed in to change notification settings

fhnw-syspr-3ia/fhnw-syspr-work-01

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 

Repository files navigation

System-Programmierung

Hands-on zu Lektion 1

Für Slides und Code Beispiele, siehe Lektion 1

Achtung: Arbeiten Sie nicht direkt auf diesem Repository.
Erstellen Sie eine persönliche Kopie, mit diesem GitHub Classroom Link.

a) sizeof() Operator, 10'

  • Schreiben Sie ein Programm, das die Grössen in Byte der Basistypen char, int, long, float, double ausgibt.
  • Nutzen Sie dazu den sizeof() Operator und printf():
    sizeof(char) = 1
    sizeof(int) = …
  • Die Ausgabe von int Werten ist möglich mit %d, z.B.
    printf("%d\n", i); // \n = newline character

b) Argumente lesen, 15'

  • Das System übergibt Command-Line Argumente so:
    int main(int argc, char *argv[]);
  • Schreiben Sie ein Programm my_args.c, das seine Argumente, d.h. alle Strings im Array argv ausgibt:
    $ ./my_args hoi …
    0: ./my_args, 1: hoi, …
  • Erweitern Sie das Programm, dass es einen Fehler ausgibt, falls ein Argument nicht aus [a-z]* besteht.

c) Bäume, 15'

  • Erstellen Sie eine Datei my_tree.c mit einem Struct Typ Tree mit Zeigern auf left, right vom selben Typ, und einem String label von maximal 32 Byte Länge.
  • Instanzieren Sie einen binären Baum mit 3 Blättern, verwenden Sie dazu die Funktionen malloc und free.

d) Makefile, 15'

  • Erstellen Sie ein makefile für Ihren Hands-on Code.
  • Verwenden Sie die Compiler Flags aus dem Script.
  • Korrigieren Sie allfällige neue Kompilationsfehler.
  • Führen Sie make clean aus, vor dem git commit.

About

FHNW Modul System-Programmierung (syspr) Hands-on Lektion 1

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published