Assignment Chef icon Assignment Chef
All German tutorials

Programming lesson

Erste Schritte in C unter Linux: Ein Leitfaden für das CSCI 247 Lab 1

Lerne die Grundlagen von C und Linux für das CSCI 247 Lab 1 – inklusive Kommandozeile, nano-Editor, Compiler und Debugger. Ideal für Studienanfänger in Informatik.

C Programmierung lernen Linux Kommandozeile für Anfänger CSCI 247 Lab 1 Lösung gcc Compiler Tutorial nano Editor Linux gdb Debugger Einführung C Datentypen Größen C Strings manipulieren SSH Verbindung Linux Uni Erstes C Programm schreiben Linux Verzeichnisse anlegen mkdir C Programm kompilieren und ausführen Studium Informatik C Grundlagen Programmieren lernen mit C C für Anfänger Schritt für Schritt Linux Befehle für Studenten

Einleitung: Warum C und Linux?

Im CSCI 247 Lab 1 tauchst du in die Welt von C und Linux ein. C ist die Sprache, die hinter Betriebssystemen, Embedded-Systemen und sogar KI-Frameworks steckt. Linux, das Rückgrat der Cloud und vieler Supercomputer, wird dir im Studium immer wieder begegnen. In diesem Tutorial lernst du, wie du dich auf den CS-Linux-Rechnern einloggst, erste C-Programme schreibst und mit der Kommandozeile umgehst – genau wie es die Lab-Anleitung vorgibt.

1. Verbindung zum Linux-System herstellen

Um C-Programme zu schreiben, brauchst du Zugriff auf einen Linux-Rechner. Die CS-Abteilung stellt dir dafür einen Account zur Verfügung. Du kannst dich per SSH von deinem Laptop aus verbinden. Unter Windows eignet sich PuTTY oder das Windows-Subsystem für Linux (WSL). Auf dem Mac reicht das Terminal. Der Befehl lautet:

ssh [email protected]

Nach der Eingabe deines Passworts landest du in der Kommandozeile. Dort siehst du deinen Benutzernamen, gefolgt von einem $ – der Prompt. Jetzt bist du bereit für die ersten Linux-Befehle.

2. Linux-Grundlagen: Verzeichnisse anlegen und navigieren

Im Lab 1 sollst du ein Verzeichnis csci247 und darin lab1 anlegen. So geht's:

mkdir csci247
cd csci247
mkdir lab1
cd lab1

Mit ls listest du den Inhalt des aktuellen Ordners auf. Der Befehl pwd zeigt dir, wo du gerade bist. Diese Kommandos wirst du in jeder Lab-Sitzung brauchen.

3. Dateien kopieren und mit nano bearbeiten

Im Lab 1 kopierst du eine Textdatei in dein Verzeichnis:

cp /home/jagodzf/public_html/teaching/csci247/labs/lab1/helloClass.txt .

Der Punkt am Ende bedeutet „aktuelles Verzeichnis“. Öffne die Datei mit dem nano-Editor:

nano helloClass.txt

Nano ist einfach zu bedienen: Mit Strg+O speicherst du, mit Strg+X beendest du den Editor. Du kannst auch mehrere Terminal-Fenster öffnen – eines zum Editieren, eines zum Kompilieren. Das spart Zeit.

4. Dein erstes C-Programm: Hello World

Jetzt wird es spannend: Du schreibst dein erstes C-Programm. Erstelle eine Datei hello.c mit nano und gib folgenden Code ein:

#include <stdio.h>

int main() {
    printf("Hallo, CSCI 247!\n");
    return 0;
}

Speichere die Datei und kompiliere sie mit dem GCC-Compiler:

gcc hello.c -o hello

Dann startest du das Programm:

./hello

Wenn „Hallo, CSCI 247!“ ausgegeben wird, hast du alles richtig gemacht. Herzlichen Glückwunsch!

5. Datentypen und ihre Größen verstehen

Im Lab 1 lernst du auch die grundlegenden Datentypen von C kennen: int, float, double, char. Mit dem Operator sizeof kannst du ihre Größe in Bytes ermitteln. Schreibe ein Programm, das alle Typen ausgibt:

#include <stdio.h>

int main() {
    printf("int: %lu Bytes\n", sizeof(int));
    printf("float: %lu Bytes\n", sizeof(float));
    printf("double: %lu Bytes\n", sizeof(double));
    printf("char: %lu Byte\n", sizeof(char));
    return 0;
}

Das Ergebnis kann je nach System variieren. Auf den CS-Rechnern wirst du typische Werte sehen: int 4 Bytes, double 8 Bytes. Dieses Wissen ist wichtig für spätere Aufgaben, etwa wenn du Speicher für Arrays reservierst.

6. Strings in C: Zeichenketten manipulieren

C kennt keinen eigenen String-Typ. Stattdessen verwendest du char-Arrays. Ein String endet mit dem Nullzeichen \0. Hier ein Beispiel:

#include <stdio.h>
#include <string.h>

int main() {
    char name[] = "CSCI 247";
    printf("Länge: %lu\n", strlen(name));
    return 0;
}

Mit strlen aus string.h ermittelst du die Länge. Achtung: Das Nullzeichen wird nicht mitgezählt. Im Lab 1 wirst du solche Funktionen nutzen, um Texte zu analysieren.

7. Debuggen mit GDB – ein erster Einblick

Fehler passieren – auch im CSCI 247 Lab 1. Der GNU Debugger (GDB) hilft dir, sie zu finden. Kompiliere dein Programm mit der -g Option, um Debug-Informationen einzufügen:

gcc -g hello.c -o hello

Starte GDB mit gdb ./hello. Mit break main setzt du einen Haltepunkt in der main-Funktion. Mit run startest du das Programm, mit next gehst du Schritt für Schritt vor. So siehst du, welche Werte Variablen annehmen. Das ist besonders nützlich, wenn dein Programm abstürzt oder falsche Ergebnisse liefert.

8. Tipps für das Lab 1 und darüber hinaus

  • Mehrere Terminals nutzen: Öffne ein Fenster für den Editor und eines für die Kommandozeile. So musst du nicht ständig zwischen Speichern und Kompilieren wechseln.
  • Häufig speichern und kompilieren: Kleine Änderungen sofort testen – das erleichtert die Fehlersuche.
  • Mit Kommilitonen austauschen: Diskutiert Lösungsansätze, aber teilt keinen Code. Das fördert das Verständnis.
  • Fragen stellen: Die TAs sind für dich da. Nutze Sprechstunden oder Foren.

9. Ausblick: Was kommt nach Lab 1?

Nach dem Lab 1 wirst du dich sicherer auf der Linux-Kommandozeile bewegen und die Grundlagen von C beherrschen. In den nächsten Labs kommen Zeiger, dynamische Speicherverwaltung und komplexere Datenstrukturen hinzu. Diese Kenntnisse sind nicht nur für das Studium essenziell, sondern auch für Praktika und Berufe in der Softwareentwicklung, etwa bei Cloud-Diensten oder in der Spieleentwicklung.

Fazit

Das CSCI 247 Lab 1 legt den Grundstein für deine Karriere als Informatiker:in. Mit Linux, C und den richtigen Werkzeugen wie nano, gcc und gdb bist du bestens gerüstet. Nutze dieses Tutorial als Begleiter, während du die Aufgaben bearbeitest. Viel Erfolg!