🏠 Zurück zur Startseite

💻 Labor 5

Arrays und Funktionen
Grundlagen der Programmierung in C • HTW Berlin • WiSe 2025/26
⏱️ Dauer: ca. 180 Minuten

📋 Lernziele

In diesem Labor werden Sie:

⚠️ Wichtige Regeln

📊 Teil 1: Arrays (ca. 90 Min)

1 Mein erstes Array

🎯 Aufgabenstellung

Erstellen Sie ein Programm, das ein Array mit 5 Zahlen erstellt und alle Zahlen ausgibt.

💡 Was ist ein Array?

Ein Array ist wie eine Reihe von Schubladen, die alle den gleichen Typ haben.

Statt 5 einzelne Variablen zu erstellen, haben wir eine Variable mit 5 Plätzen.

📝 So funktioniert es

// Array deklarieren und initialisieren: int zahlen[5] = {10, 20, 30, 40, 50}; // Zugriff auf einzelne Elemente: zahlen[0] → 10 (erstes Element) zahlen[1] → 20 (zweites Element) zahlen[4] → 50 (letztes Element)

📝 Beispielausgabe

Meine Zahlen: Element 0: 10 Element 1: 20 Element 2: 30 Element 3: 40 Element 4: 50

💡 Hinweise

🔒 Musterlösung
Falsches Passwort!

Dateiname: erstes_array.c

/* * erstes_array.c * Mein erstes Array - Zahlen speichern und ausgeben */ #include <stdio.h> int main() { // Array mit 5 Zahlen erstellen int zahlen[5] = {10, 20, 30, 40, 50}; printf("Meine Zahlen:\n"); // Mit for-Schleife durch das Array gehen for (int i = 0; i < 5; i++) { printf("Element %d: %d\n", i, zahlen[i]); } return 0; }

2 Array-Summe berechnen

🎯 Aufgabenstellung

Erstellen Sie ein Array mit 5 Zahlen und berechnen Sie die Summe aller Elemente.

📝 Beispielausgabe

Array: 10 20 30 40 50 Die Summe ist: 150

💡 Hinweise

🔒 Musterlösung
Falsches Passwort!

Dateiname: array_summe.c

/* * array_summe.c * Summe aller Array-Elemente berechnen */ #include <stdio.h> int main() { int zahlen[5] = {10, 20, 30, 40, 50}; int summe = 0; // Array ausgeben printf("Array: "); for (int i = 0; i < 5; i++) { printf("%d ", zahlen[i]); summe += zahlen[i]; // Zur Summe addieren } printf("\nDie Summe ist: %d\n", summe); return 0; }

3 Maximum finden

🎯 Aufgabenstellung

Finden Sie die größte Zahl in einem Array.

💡 Wie findet man das Maximum?

  1. Nehmen Sie das erste Element als "bisheriges Maximum"
  2. Vergleichen Sie jedes weitere Element damit
  3. Wenn ein Element größer ist, wird es das neue Maximum

📝 Beispielausgabe

Array: 15 42 8 23 37 Die größte Zahl ist: 42

💡 Hinweise

🔒 Musterlösung
Falsches Passwort!

Dateiname: array_max.c

/* * array_max.c * Die größte Zahl im Array finden */ #include <stdio.h> int main() { int zahlen[5] = {15, 42, 8, 23, 37}; // Erstes Element als Startwert int max = zahlen[0]; // Array ausgeben printf("Array: "); for (int i = 0; i < 5; i++) { printf("%d ", zahlen[i]); // Prüfen ob aktuelles Element größer ist if (zahlen[i] > max) { max = zahlen[i]; } } printf("\nDie größte Zahl ist: %d\n", max); return 0; }

4 Benutzereingabe in Array

🎯 Aufgabenstellung

Lassen Sie den Benutzer 3 Zahlen eingeben und speichern Sie diese in einem Array.

Geben Sie danach alle Zahlen und ihre Summe aus.

📝 Beispielausgabe

Geben Sie 3 Zahlen ein: Zahl 1: 10 Zahl 2: 25 Zahl 3: 15 Ihre Zahlen: 10 25 15 Summe: 50

💡 Hinweise

🔒 Musterlösung
Falsches Passwort!

Dateiname: array_eingabe.c

/* * array_eingabe.c * Benutzereingabe in ein Array speichern */ #include <stdio.h> int main() { int zahlen[3]; int summe = 0; printf("Geben Sie 3 Zahlen ein:\n"); // Zahlen einlesen for (int i = 0; i < 3; i++) { printf("Zahl %d: ", i + 1); scanf("%d", &zahlen[i]); } // Zahlen ausgeben und Summe berechnen printf("\nIhre Zahlen: "); for (int i = 0; i < 3; i++) { printf("%d ", zahlen[i]); summe += zahlen[i]; } printf("\nSumme: %d\n", summe); return 0; }

⚙️ Teil 2: Funktionen (ca. 90 Min)

5 Meine erste Funktion

🎯 Aufgabenstellung

Schreiben Sie eine Funktion begruessen(), die "Hallo Welt!" ausgibt.

Rufen Sie diese Funktion aus main() auf.

💡 Was ist eine Funktion?

Eine Funktion ist ein Codeblock mit einem Namen, den man mehrfach aufrufen kann.

void bedeutet: Die Funktion gibt keinen Wert zurück.

📝 So funktioniert es

// Funktion definieren (vor main!): void begruessen() { printf("Hallo Welt!\n"); } // Funktion aufrufen (in main): begruessen();

📝 Beispielausgabe

Hallo Welt!
🔒 Musterlösung
Falsches Passwort!

Dateiname: erste_funktion.c

/* * erste_funktion.c * Meine erste eigene Funktion */ #include <stdio.h> // Funktion definieren (vor main!) void begruessen() { printf("Hallo Welt!\n"); } int main() { // Funktion aufrufen begruessen(); return 0; }

6 Funktion mit Parameter

🎯 Aufgabenstellung

Schreiben Sie eine Funktion zeigeZahl(int zahl), die eine übergebene Zahl ausgibt.

Rufen Sie die Funktion mit verschiedenen Zahlen auf.

💡 Was sind Parameter?

Parameter sind Werte, die man einer Funktion beim Aufruf übergibt.

Sie stehen in den Klammern: void zeigeZahl(int zahl)

📝 Beispielausgabe

Die Zahl ist: 42 Die Zahl ist: 100 Die Zahl ist: 7
🔒 Musterlösung
Falsches Passwort!

Dateiname: funktion_parameter.c

/* * funktion_parameter.c * Funktion mit Parameter */ #include <stdio.h> // Funktion mit Parameter void zeigeZahl(int zahl) { printf("Die Zahl ist: %d\n", zahl); } int main() { // Funktion mit verschiedenen Werten aufrufen zeigeZahl(42); zeigeZahl(100); zeigeZahl(7); return 0; }

7 Funktion mit Rückgabewert

🎯 Aufgabenstellung

Schreiben Sie eine Funktion verdopple(int zahl), die eine Zahl verdoppelt und das Ergebnis zurückgibt.

💡 Was ist ein Rückgabewert?

Mit return gibt eine Funktion einen Wert zurück.

Statt void schreibt man den Datentyp des Rückgabewerts (z.B. int).

📝 So funktioniert es

// Funktion mit Rückgabewert: int verdopple(int zahl) { return zahl * 2; } // Aufruf und Ergebnis speichern: int ergebnis = verdopple(5); // ergebnis ist jetzt 10

📝 Beispielausgabe

5 verdoppelt ist 10 12 verdoppelt ist 24
🔒 Musterlösung
Falsches Passwort!

Dateiname: funktion_return.c

/* * funktion_return.c * Funktion mit Rückgabewert */ #include <stdio.h> // Funktion gibt einen int zurück int verdopple(int zahl) { return zahl * 2; } int main() { int ergebnis1 = verdopple(5); int ergebnis2 = verdopple(12); printf("5 verdoppelt ist %d\n", ergebnis1); printf("12 verdoppelt ist %d\n", ergebnis2); return 0; }

8 Einfacher Rechner

🎯 Aufgabenstellung

Erstellen Sie zwei Funktionen:

  • int addiere(int a, int b) - addiert zwei Zahlen
  • int multipliziere(int a, int b) - multipliziert zwei Zahlen

Testen Sie beide Funktionen in main().

📝 Beispielausgabe

5 + 3 = 8 5 * 3 = 15
🔒 Musterlösung
Falsches Passwort!

Dateiname: rechner.c

/* * rechner.c * Einfacher Rechner mit Funktionen */ #include <stdio.h> // Addition int addiere(int a, int b) { return a + b; } // Multiplikation int multipliziere(int a, int b) { return a * b; } int main() { int x = 5; int y = 3; printf("%d + %d = %d\n", x, y, addiere(x, y)); printf("%d * %d = %d\n", x, y, multipliziere(x, y)); return 0; }

9 Array an Funktion übergeben

🎯 Aufgabenstellung

Schreiben Sie eine Funktion zeigeArray(int arr[], int groesse), die ein Array ausgibt.

Übergeben Sie ein Array aus main() an diese Funktion.

💡 Arrays an Funktionen übergeben

Bei Arrays müssen Sie auch die Größe übergeben!

Syntax: void funktion(int arr[], int groesse)

📝 Beispielausgabe

Array-Inhalt: 10 20 30 40 50
🔒 Musterlösung
Falsches Passwort!

Dateiname: array_funktion.c

/* * array_funktion.c * Array an Funktion übergeben */ #include <stdio.h> // Funktion, die ein Array ausgibt void zeigeArray(int arr[], int groesse) { printf("Array-Inhalt: "); for (int i = 0; i < groesse; i++) { printf("%d ", arr[i]); } printf("\n"); } int main() { int zahlen[5] = {10, 20, 30, 40, 50}; // Array an Funktion übergeben zeigeArray(zahlen, 5); return 0; }

10 Bonus: Array-Summe als Funktion

🎯 Aufgabenstellung

Kombinieren Sie Ihr Wissen! Schreiben Sie eine Funktion int berechneSumme(int arr[], int groesse),

die die Summe aller Elemente eines Arrays zurückgibt.

📝 Beispielausgabe

Array: 10 20 30 40 50 Die Summe ist: 150
🔒 Musterlösung
Falsches Passwort!

Dateiname: array_summe_funktion.c

/* * array_summe_funktion.c * Array-Summe als Funktion mit Rückgabewert */ #include <stdio.h> // Funktion berechnet Summe eines Arrays int berechneSumme(int arr[], int groesse) { int summe = 0; for (int i = 0; i < groesse; i++) { summe += arr[i]; } return summe; } // Funktion gibt Array aus void zeigeArray(int arr[], int groesse) { printf("Array: "); for (int i = 0; i < groesse; i++) { printf("%d ", arr[i]); } printf("\n"); } int main() { int zahlen[5] = {10, 20, 30, 40, 50}; zeigeArray(zahlen, 5); int summe = berechneSumme(zahlen, 5); printf("Die Summe ist: %d\n", summe); return 0; }

🎉 Labor 5 geschafft!

Was Sie gelernt haben:

Thema Was Sie können
Arrays Deklarieren, initialisieren, mit Schleifen durchlaufen
Array-Berechnungen Summe, Maximum, Benutzereingabe
void-Funktionen Funktionen ohne Rückgabewert
Parameter Werte an Funktionen übergeben
Rückgabewerte Mit return Ergebnisse zurückgeben
Arrays + Funktionen Arrays an Funktionen übergeben

🔑 Passwörter für die Musterlösungen

Die Passwörter werden in der Laborsitzung bekannt gegeben.

🚀 Weiter so!

Arrays und Funktionen sind die Grundbausteine für größere Programme.
Üben Sie weiter - beim Programmieren macht Übung den Meister! 💪