🏠 Zurück zur Startseite
📋 Lernziele
In diesem Labor werden Sie:
- ✅ for-Schleifen für zählende Iterationen nutzen
- ✅ while-Schleifen für bedingungsgesteuerte Wiederholungen einsetzen
- ✅ do-while-Schleifen für mindestens eine Ausführung verwenden
- ✅ Verschachtelte Schleifen für mehrdimensionale Probleme anwenden
- ✅ Git installieren und konfigurieren
- ✅ GitHub Account erstellen
- ✅ SSH-Schlüssel für sichere Authentifizierung einrichten
- ✅ Ihr erstes Repository mit SSH erstellen und pushen
⚠️ Pflicht: Digitale Laborunterweisung
Bevor Sie mit der Laborarbeit beginnen, müssen Sie die digitale Laborunterweisung für die Labore F202, F224, F225 und F226 absolvieren.
Ablauf:
- Unterweisungstext lesen
- Hinweise bestätigen
- Digital unterschreiben
- Nachweis wird automatisch per E-Mail verschickt
👉 https://lu.f1.htw-berlin.de/lab/klinf/
(HTW-Login erforderlich)
QR-Code scannen
(HTW-Netz erforderlich)
Teil 1: Schleifen-Übungen
1 Zahlen ausgeben mit for-Schleife
🎯 Aufgabenstellung
Schreiben Sie ein Programm, das alle geraden Zahlen von 1 bis 20 ausgibt.
Erwartete Ausgabe: 2 4 6 8 10 12 14 16 18 20
📝 Schritt 1: Analysieren
- Eingaben: Keine (fest definierter Bereich 1-20)
- Ausgaben: Gerade Zahlen zwischen 1 und 20
- Algorithm: for-Schleife von 1 bis 20, nur gerade Zahlen ausgeben
🎨 Schritt 2: Algorithmus (Pseudocode)
FÜR i VON 1 BIS 20 SCHRITT 1
WENN i % 2 == 0 DANN
AUSGABE: i
ENDE WENN
ENDE FÜR
ODER eleganter:
FÜR i VON 2 BIS 20 SCHRITT 2
AUSGABE: i
ENDE FÜR
💻 Schritt 3: Implementierung
Dateiname: zahlen.c
💡 Hinweise
- Syntax der for-Schleife:
for (int i = start; i <= end; i++)
- Gerade Zahlen erkennen:
i % 2 == 0
- Alternative: Schleife von 2 bis 20 mit Schrittweite 2:
i += 2
- Ausgabe ohne Zeilenumbruch:
printf("%d ", i);
Falsches Passwort!
#include <stdio.h>
int main()
{
printf("Gerade Zahlen von 1 bis 20:\n");
for (int i = 1; i <= 20; i++)
{
if (i % 2 == 0)
{
printf("%d ", i);
}
}
printf("\n\n");
printf("Alternative Lösung:\n");
for (int i = 2; i <= 20; i += 2)
{
printf("%d ", i);
}
printf("\n");
return 0;
}
✅ Erwartete Ausgabe
Gerade Zahlen von 1 bis 20:
2 4 6 8 10 12 14 16 18 20
Alternative Lösung:
2 4 6 8 10 12 14 16 18 20
2 Summenberechnung mit while-Schleife
🎯 Aufgabenstellung
Schreiben Sie ein Programm, das Zahlen vom Benutzer einliest und ihre Summe berechnet. Die Eingabe wird beendet, wenn der Benutzer 0 eingibt.
📝 Schritt 1: Analysieren
- Eingaben: Mehrere Zahlen (beliebig viele), Abbruch bei 0
- Ausgaben: Summe aller eingegebenen Zahlen (ohne die 0)
- Algorithm: while-Schleife mit Bedingung (zahl != 0)
🎨 Schritt 2: Algorithmus (Pseudocode)
summe = 0
zahl = 1
SOLANGE zahl != 0
EINGABE: zahl
WENN zahl != 0 DANN
summe = summe + zahl
ENDE WENN
ENDE SOLANGE
AUSGABE: summe
💻 Implementierung
Dateiname: summe.c
💡 Hinweise
- Syntax:
while (bedingung) { ... }
- Variable vor der Schleife initialisieren
- Die 0 selbst soll nicht zur Summe addiert werden
- Verwenden Sie
int oder double für die Zahlen
Falsches Passwort!
#include <stdio.h>
int main()
{
int zahl;
int summe = 0;
printf("Geben Sie Zahlen ein (0 zum Beenden):\n");
printf("Zahl: ");
scanf("%d", &zahl);
while (zahl != 0)
{
summe += zahl;
printf("Zahl: ");
scanf("%d", &zahl);
}
printf("\nDie Summe aller Zahlen ist: %d\n", summe);
return 0;
}
✅ Testfälle
Test 1:
Eingabe: 5, 10, 15, 0
Ausgabe: Die Summe aller Zahlen ist: 30
Test 2:
Eingabe: -5, 10, -3, 8, 0
Ausgabe: Die Summe aller Zahlen ist: 10
Test 3:
Eingabe: 0
Ausgabe: Die Summe aller Zahlen ist: 0
3 Eingabevalidierung mit do-while
🎯 Aufgabenstellung
Schreiben Sie ein Programm, das eine Zahl zwischen 1 und 100 vom Benutzer einliest. Solange die Eingabe außerhalb dieses Bereichs liegt, soll eine Fehlermeldung ausgegeben und erneut nach einer Eingabe gefragt werden.
📝 Schritt 1: Analysieren
- Eingaben: Eine Zahl (wiederholt bis gültig)
- Ausgaben: Bestätigung der gültigen Eingabe
- Algorithm: do-while-Schleife (mindestens eine Eingabe erforderlich)
🎨 Schritt 2: Algorithmus (Pseudocode)
WIEDERHOLE
EINGABE: zahl
WENN zahl < 1 ODER zahl > 100 DANN
AUSGABE: "Fehler: Zahl muss zwischen 1 und 100 liegen!"
ENDE WENN
SOLANGE zahl < 1 ODER zahl > 100
AUSGABE: "Gültige Eingabe: " + zahl
💻 Implementierung
Dateiname: validierung.c
💡 Hinweise
- Syntax:
do { ... } while (bedingung); (Semikolon beachten!)
- Die Schleife wird mindestens einmal ausgeführt
- Bedingung für ungültige Eingabe:
zahl < 1 || zahl > 100
- Logische Operatoren:
&& (UND), || (ODER)
Falsches Passwort!
#include <stdio.h>
int main()
{
int zahl;
printf("Geben Sie eine Zahl zwischen 1 und 100 ein:\n");
do
{
printf("Ihre Eingabe: ");
scanf("%d", &zahl);
if (zahl < 1 || zahl > 100)
{
printf("Fehler: Die Zahl muss zwischen 1 und 100 liegen!\n\n");
}
}
while (zahl < 1 || zahl > 100);
printf("\nGültige Eingabe akzeptiert: %d\n", zahl);
return 0;
}
✅ Testfälle
Test 1: Erste Eingabe gültig
Eingabe: 50
Ausgabe: Gültige Eingabe akzeptiert: 50
Test 2: Mehrere ungültige Eingaben
Eingabe: 0 → Fehler
Eingabe: 150 → Fehler
Eingabe: -10 → Fehler
Eingabe: 75 → Gültige Eingabe akzeptiert: 75
Test 3: Grenzwerte
Eingabe: 1 → Gültige Eingabe akzeptiert: 1
Eingabe: 100 → Gültige Eingabe akzeptiert: 100
💡 Warum do-while?
Die do-while-Schleife ist perfekt für Eingabevalidierung, weil:
- Mindestens eine Eingabe garantiert erfolgt
- Die Bedingung erst nach der ersten Eingabe geprüft wird
- Der Code kürzer und lesbarer ist als mit
while
4 Multiplikationstabelle erstellen
🎯 Aufgabenstellung
Erstellen Sie ein Programm, das eine formatierte Multiplikationstabelle (kleines 1x1) von 1 bis 10 ausgibt.
📊 Beispiel-Ausgabe (Auszug)
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
...
10 20 30 40 50 60 70 80 90 100
📝 Schritt 1: Analysieren
- Eingaben: Keine (feste Größe 10x10)
- Ausgaben: Formatierte Tabelle mit allen Produkten
- Algorithm: Verschachtelte for-Schleifen (äußere: Zeilen, innere: Spalten)
🎨 Schritt 2: Algorithmus (Pseudocode)
FÜR zeile VON 1 BIS 10
FÜR spalte VON 1 BIS 10
produkt = zeile * spalte
AUSGABE: produkt (formatiert)
ENDE FÜR
AUSGABE: Zeilenumbruch
ENDE FÜR
💻 Implementierung
Dateiname: tabelle.c
💡 Hinweise
- Verschachtelte Schleifen: Eine Schleife innerhalb einer anderen
- Äußere Schleife: Zeilen (1-10)
- Innere Schleife: Spalten (1-10)
- Formatierte Ausgabe mit fester Breite:
printf("%4d", produkt);
- Nach jeder Zeile:
printf("\n");
Falsches Passwort!
#include <stdio.h>
int main()
{
printf("Multiplikationstabelle (1x1 bis 10x10):\n\n");
for (int zeile = 1; zeile <= 10; zeile++)
{
for (int spalte = 1; spalte <= 10; spalte++)
{
int produkt = zeile * spalte;
printf("%4d", produkt);
}
printf("\n");
}
return 0;
}
✅ Erwartete Ausgabe
Multiplikationstabelle (1x1 bis 10x10):
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
💡 Verschachtelte Schleifen verstehen
Bei verschachtelten Schleifen gilt:
- Die innere Schleife läuft komplett durch für jeden Durchgang der äußeren Schleife
- Beispiel: Bei Zeile 1 werden alle Spalten 1-10 durchlaufen, dann bei Zeile 2 wieder alle Spalten, usw.
- Gesamt-Durchläufe: 10 (Zeilen) × 10 (Spalten) = 100 Iterationen
Teil 2: Git Installation & GitHub Setup mit SSH
5 Git installieren
🎯 Ziel
Git auf Ihrem Computer installieren und konfigurieren.
1 Git herunterladen
Besuchen Sie: https://git-scm.com/downloads
2 Installation (Windows)
⚠️ Wichtig für Windows
- Installationspfad ohne Leerzeichen oder Umlaute wählen (z.B.
C:\Dev\Git)
- Bei der Installation "Git Bash" aktivieren
- Option wählen: "Use Git from the Command Prompt"
3 Installation (macOS)
Git ist oft bereits installiert. Prüfen Sie mit:
git --version
Falls nicht installiert, lädt macOS automatisch die Xcode Command Line Tools herunter.
4 Installation (Linux)
sudo apt-get install git
sudo dnf install git
5 Installation überprüfen
Öffnen Sie ein Terminal (oder Git Bash auf Windows) und geben Sie ein:
git --version
Sie sollten eine Versionsnummer sehen, z.B.: git version 2.42.0
6 Git konfigurieren
Setzen Sie Ihren Namen und E-Mail-Adresse:
git config --global user.name "Ihr Name"
git config --global user.email "ihre.email@example.com"
git config --list
Falsches Passwort!
✅ Checkliste für erfolgreiche Git-Installation
- Git heruntergeladen von
https://git-scm.com/downloads
- Installiert (Windows: mit Git Bash aktiviert)
- Terminal/Git Bash geöffnet
git --version ausgeführt → Versionsnummer sichtbar
git config --global user.name "Ihr Name" ausgeführt
git config --global user.email "ihre.email@example.com" ausgeführt
git config --list ausgeführt → Name und E-Mail sichtbar
💡 Troubleshooting
- Windows: Falls "git" nicht erkannt wird, Terminal neu starten oder Git zum PATH hinzufügen
- macOS: Falls Git nicht gefunden wird,
xcode-select --install ausführen
- Linux: Falls Installation fehlschlägt, mit
sudo versuchen
6 GitHub Account erstellen
🎯 Ziel
Einen kostenlosen GitHub Account erstellen.
1 Registrierung
- Besuchen Sie https://github.com
- Klicken Sie auf "Sign up"
- Geben Sie Ihre E-Mail-Adresse ein
- Erstellen Sie ein sicheres Passwort
- Wählen Sie einen eindeutigen Benutzernamen
💡 Tipp: Benutzername
Ihr Benutzername wird Teil Ihrer GitHub-URL: github.com/IhrBenutzername
Wählen Sie einen professionellen Namen, den Sie auch später noch verwenden möchten!
2 E-Mail bestätigen
GitHub sendet Ihnen eine Bestätigungs-E-Mail. Klicken Sie auf den Link in der E-Mail.
3 Umfrage (optional)
GitHub fragt nach Ihren Interessen. Sie können die Umfrage ausfüllen oder überspringen.
Falsches Passwort!
✅ Checkliste für erfolgreiche GitHub-Registrierung
github.com besucht
- Auf "Sign up" geklickt
- E-Mail-Adresse eingegeben (am besten studentische E-Mail für GitHub Student Developer Pack)
- Sicheres Passwort erstellt (mindestens 15 Zeichen oder 8 Zeichen mit Zahl und Kleinbuchstaben)
- Eindeutigen Benutzernamen gewählt (professionell, keine temporären Namen!)
- E-Mail-Bestätigung erhalten und Link angeklickt
- Erfolgreich eingeloggt bei
github.com
💡 Bonus: GitHub Student Developer Pack
Mit Ihrer studentischen E-Mail-Adresse können Sie das GitHub Student Developer Pack beantragen:
7 SSH-Schlüssel erstellen und einrichten
🎯 Ziel
SSH-Schlüssel für sichere Authentifizierung bei GitHub erstellen.
Warum SSH statt HTTPS? Mit SSH-Schlüsseln können Sie sich ohne Passwort oder Token authentifizieren. Das ist sicherer und bequemer!
1 SSH-Schlüssel generieren
Öffnen Sie ein Terminal (Git Bash auf Windows) und führen Sie aus:
ssh-keygen -t rsa -b 4096
2 Speicherort bestätigen
Bei der Frage nach dem Speicherort einfach Enter drücken:
Enter file in which to save the key (/home/username/.ssh/id_rsa): [Enter drücken]
3 Passphrase (optional)
Sie können ein zusätzliches Passwort für den Schlüssel erstellen:
Enter passphrase (empty for no passphrase): [Passwort eingeben oder Enter]
Enter same passphrase again: [Passwort wiederholen oder Enter]
💡 Hinweis
Ein Passwort erhöht die Sicherheit, macht die Nutzung aber etwas umständlicher. Für den Anfang können Sie es leer lassen.
4 Öffentlichen Schlüssel anzeigen
Zeigen Sie den Inhalt Ihres öffentlichen Schlüssels an:
cat ~/.ssh/id_rsa.pub
5 Schlüssel zu GitHub hinzufügen
- Kopieren Sie die gesamte Ausgabe (beginnend mit
ssh-rsa)
- Gehen Sie zu GitHub → Settings → SSH and GPG keys
- Oder direkt: https://github.com/settings/keys
- Klicken Sie auf "New SSH key"
- Geben Sie einen Titel ein (z.B. "Mein Laptop")
- Key type: "Authentication Key"
- Fügen Sie den kopierten Schlüssel in das Feld "Key" ein
- Klicken Sie auf "Add SSH key"
6 Verbindung testen
Testen Sie die SSH-Verbindung zu GitHub:
ssh -T git@github.com
Bei der ersten Verbindung werden Sie gefragt, ob Sie fortfahren möchten. Geben Sie yes ein.
✅ Erfolg!
Sie sollten eine Nachricht sehen wie:
Hi IhrBenutzername! You've successfully authenticated, but GitHub does not provide shell access.
Falsches Passwort!
✅ Checkliste für erfolgreiche SSH-Einrichtung
- Terminal/Git Bash geöffnet
ssh-keygen -t rsa -b 4096 ausgeführt
- Bei Speicherort-Frage Enter gedrückt (Standard:
~/.ssh/id_rsa)
- Passphrase eingegeben oder leer gelassen (Enter)
- Meldung "Your public key has been saved" erhalten
cat ~/.ssh/id_rsa.pub ausgeführt
- Kompletten öffentlichen Schlüssel kopiert (beginnt mit
ssh-rsa)
- Zu
github.com/settings/keys navigiert
- Auf "New SSH key" geklickt
- Titel eingegeben (z.B. "Mein Laptop")
- Key Type: "Authentication Key" ausgewählt
- Öffentlichen Schlüssel eingefügt
- Auf "Add SSH key" geklickt
ssh -T git@github.com ausgeführt
- Bei Fingerprint-Frage "yes" eingegeben
- Erfolgsmeldung "Hi [Username]! You've successfully authenticated" erhalten
⚠️ Häufige Fehler
- "Permission denied": Falscher Schlüssel kopiert oder nicht zu GitHub hinzugefügt
- "Could not resolve hostname": Tippfehler in
git@github.com
- "No such file or directory": SSH-Schlüssel wurde nicht erstellt oder an anderem Ort gespeichert
💡 Wichtige Dateien
~/.ssh/id_rsa - Privater Schlüssel (NIEMALS teilen oder hochladen!)
~/.ssh/id_rsa.pub - Öffentlicher Schlüssel (dieser wird zu GitHub hinzugefügt)
~/.ssh/known_hosts - Liste bekannter Server (wird automatisch erstellt)
8 Erstes Repository mit SSH erstellen
🎯 Ziel
Ein Git-Repository erstellen und mit SSH zu GitHub pushen.
1 Repository auf GitHub erstellen
- Gehen Sie zu https://github.com
- Klicken Sie auf "New" (grüner Button) oder das + oben rechts
- Repository Name: fortgeschrittene-labor3
- Description: Meine Übungen aus Labor 3
- Wählen Sie Public
- ✅ Aktivieren Sie "Add a README file"
- Klicken Sie auf "Create repository"
2 SSH-URL kopieren
Auf der Repository-Seite:
- Klicken Sie auf den grünen "Code" Button
- Wählen Sie den Tab "SSH" (nicht HTTPS!)
- Kopieren Sie die URL:
git@github.com:IhrBenutzername/fortgeschrittene-labor3.git
⚠️ Wichtig: SSH nicht HTTPS!
Die URL muss mit git@github.com: beginnen, nicht mit https://!
✅ Richtig: git@github.com:username/fortgeschrittene-labor3.git
❌ Falsch: https://github.com/username/fortgeschrittene-labor3.git
3 Repository klonen
Öffnen Sie ein Terminal und navigieren Sie zu Ihrem Arbeitsverzeichnis:
cd ~/Dokumente
git clone git@github.com:IhrBenutzername/fortgeschrittene-labor3.git
cd fortgeschrittene-labor3
4 Programme hinzufügen
Kopieren Sie Ihre fertigen C-Programme in diesen Ordner:
zahlen.c
summe.c
validierung.c
tabelle.c
5 Änderungen committen und pushen
git status
git add .
git commit -m "Labor 3: Schleifen - Aufgaben 1-4"
git push -u origin main
git push
✅ Geschafft!
Ihre Programme sind jetzt auf GitHub! Besuchen Sie github.com/IhrBenutzername/fortgeschrittene-labor3 um sie anzusehen.
6 Workflow für weitere Änderungen
Wenn Sie später weitere Änderungen machen:
git status
git add .
git commit -m "Multiplikationstabelle: Formatierung verbessert"
git push
Falsches Passwort!
✅ Komplette Befehlsfolge
cd ~/Dokumente
git clone git@github.com:IhrBenutzername/fortgeschrittene-labor3.git
cd fortgeschrittene-labor3
git status
git add .
git commit -m "Labor 3: Schleifen - Aufgaben 1-4"
git push -u origin main
✅ Erwartetes Ergebnis
Nach erfolgreichem Push sollten Sie auf GitHub sehen:
- README.md
- zahlen.c
- summe.c
- validierung.c
- tabelle.c
- Commit-Nachricht: "Labor 3: Schleifen - Aufgaben 1-4"
⚠️ Häufige Fehler beim ersten Push
- "Permission denied": SSH-Schlüssel nicht korrekt eingerichtet → Zurück zu Aufgabe 7
- "fatal: 'origin' does not appear to be a git repository": HTTPS-URL statt SSH-URL verwendet
- "Updates were rejected": Remote hat Änderungen, die lokal fehlen →
git pull zuerst ausführen
- Keine Commit-Nachricht: Text zwischen den Anführungszeichen vergessen
💡 Git Workflow für die Zukunft
Tägliche Arbeit:
- Code schreiben/ändern
git status - Was hat sich geändert?
git add . - Alle Änderungen stagen
git commit -m "Beschreibung der Änderung" - Commit erstellen
git push - Hochladen zu GitHub
Gute Commit-Nachrichten:
- ✅ "Summenberechnung: do-while statt while verwendet"
- ✅ "Multiplikationstabelle: Ausgabeformatierung auf 4 Zeichen angepasst"
- ❌ "Update"
- ❌ "asdf"
- ❌ "fixes"
🎉 Labor 3 abgeschlossen!
✅ Checkliste - Haben Sie alles gemacht?
- Gerade Zahlen mit for-Schleife ausgegeben
- Summenberechnung mit while-Schleife implementiert
- Eingabevalidierung mit do-while-Schleife erstellt
- Multiplikationstabelle mit verschachtelten Schleifen programmiert
- Git installiert und konfiguriert
- GitHub Account erstellt
- SSH-Schlüssel generiert und zu GitHub hinzugefügt
- SSH-Verbindung erfolgreich getestet
- Repository mit SSH erstellt und geklont
- Programme committed und gepusht
📚 Weiterführende Ressourcen
🚀 Nächste Schritte
In der nächsten Vorlesung lernen Sie Arrays und Funktionen kennen!
Bis dahin: Üben Sie weiter mit Schleifen und experimentieren Sie mit Git!