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.
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 lab1Mit 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.txtNano 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 helloDann startest du das Programm:
./helloWenn „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 helloStarte 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!