🏠 Zurück zur Startseite

🎓 Grundlagen der Programmierung

Vorlesung 2: Unser erstes C-Programm

Prof. Dr. Alexandra Mikityuk

HTW Berlin | Raum C308

Wintersemester 2025/26

📝 Kurzer Rückblick: Vorlesung 1

Was wir gelernt haben:

  • EVA-Prinzip: Eingabe → Verarbeitung → Ausgabe
  • Algorithmus: Schritt-für-Schritt-Anleitung zur Problemlösung
  • Programm: Algorithmus in einer Programmiersprache implementiert
  • Eigenschaften guter Algorithmen: Korrektheit, Endlichkeit, Eindeutigkeit

Heute: Wir schreiben unser erstes C-Programm! 🚀

💻 Welches Programm verwenden wir?

Um C-Programme zu schreiben und auszuführen, benötigen Sie eine
Integrierte Entwicklungsumgebung (IDE)

💡 Empfehlung für ALLE Studierenden

Visual Studio Code - Funktioniert auf Windows, macOS & Linux!

  • ✅ Editor zum Code schreiben
  • ✅ C/C++ Extension für Syntax-Highlighting
  • ✅ Compiler muss separat installiert werden

Download: code.visualstudio.com

🪟 Windows: Compiler installieren

Installieren Sie MinGW oder verwenden Sie Code::Blocks (enthält Compiler):

www.codeblocks.org

🍎 macOS: Compiler installieren

Terminal öffnen und eingeben:

xcode-select --install

🌐 Schnelles Testen ohne Installation

W3Schools Online C Compiler:
www.w3schools.com/c/c_compiler.php

Perfekt für schnelle Tests und Übungen im Browser!

👋 Das klassische "Hello World"

Bei unserem ersten Programm handelt es sich um einen Klassiker,
mit dem viele Entwickler in vielen Programmiersprachen starten.

Auf dem Bildschirm wird der folgende Text ausgegeben:

Hello World

Sehen Sie als Entwickler diese Ausgabe vor sich,
wissen Sie, dass Sie den ersten wichtigen Schritt bewältigt haben! 🎉

💻 Unser erstes C-Programm

1  #include <stdio.h>

2  int main()

3  {

4      printf("Hello World\n");

5      return 0;

6  }

Dateiname: hello.c

Nur 6 Zeilen Code - aber so viel dahinter! 🤔
Lassen Sie uns jede Zeile verstehen...

🎯 Quiz Zeit! #1

Welche Dateiendung haben C-Programme?

A) .txt
B) .cpp (das ist C++)
C) .c
D) .java

🔍 Zeile für Zeile erklärt (1/3)

#include <stdio.h>  ← Diese Zeile!
int main()
{
    printf("Hello World\n");
    return 0;
}

#include <stdio.h>

📚 Bedeutung: Bindet eine Bibliothek ein

stdio.h = STandard Input Output

Diese Header-Datei erreichen Sie eine Bibliothek mit Standardfunktionen für Ein- und Ausgabe.

💡 Über stdio.h wird die Funktion printf() erreichbar gemacht.

Ohne diese Header-Datei wären C-Programme nicht in der Lage, etwas auf dem Bildschirm auszugeben!

🔍 Zeile für Zeile erklärt (2/3)

#include <stdio.h>
int main()  ← Diese Zeile und der Block!
{
    printf("Hello World\n");
    return 0;
}

int main()

🚀 Die Hauptfunktion (main)

Beide genannten Anweisungen stehen innerhalb der Funktion main().

Jedes C-Programm besteht aus einer oder mehreren Funktionen, die unterschiedliche Namen haben und miteinander arbeiten.

Die Funktion main() bildet stets den Startpunkt eines Programms.

Nach dem Namen einer Funktion folgen stets runde Klammern. Alle Anweisungen einer Funktion müssen innerhalb eines Blocks stehen. Einen Block erkennen Sie an den geschweiften Klammern { }.

🔍 Zeile für Zeile erklärt (3/3)

#include <stdio.h>
int main()
{
    printf("Hello World\n");  ← Diese Zeile!
    return 0;          ← Und diese!
}

printf("Hello World\n");

📺 Ausgabe auf dem Bildschirm

Sie dient zur Ausgabe des gewünschten Texts auf dem Bildschirm.

Der Text wird in doppelte Anführungsstriche " " eingeschlossen.

Das Sonderzeichen \n bewirkt einen anschließenden Zeilenumbruch (new line).

Jede Anweisung muss mit einem Semikolon ; beendet werden!

return 0;

🔙 Rückgabewert

Die Anweisung return 0; liefert die Zahl 0 zurück.

Für uns bedeutet das zunächst vereinfacht, dass kein Fehler aufgetreten ist.

Die Angabe int besagt, dass die Funktion main() eine ganze Zahl (engl. integer) zurückliefert, in diesem Falle 0.

⚠️ Besondere Zeichen in C

Wichtige Sonderzeichen, die Sie kennen müssen:

{ } - Geschweifte Klammern

Markieren einen Block von Code

\ - Backslash

Für Sonderzeichen wie \n

; - Semikolon

Beendet jede Anweisung

" " - Anführungszeichen

Umschließen Text (Strings)

🪟 Windows Tastenkombinationen:

• Geschweifte Klammer { : Alt Gr + 7

• Geschweifte Klammer } : Alt Gr + 0

• Backslash \ : Alt Gr + ß

🍎 macOS Tastenkombinationen:

• Geschweifte Klammer { : Option (⌥) + 8

• Geschweifte Klammer } : Option (⌥) + 9

• Backslash \ : Shift + Option (⌥) + 7

Diese Zeichen sind in C unverzichtbar - üben Sie die Tastenkombinationen! ⌨️

🔤 C ist "Case Sensitive"

In C wird nach Klein- und Großbuchstaben unterschieden.
Dieses Verhalten wird auch case sensitivity genannt.

❌ Diese sind NICHT gleich:

printf
Printf
PRINTF

Nur "printf" (klein geschrieben) ist korrekt!

Sie sollten also zum Beispiel printf nicht mit einem großen P schreiben.
Dies wird in der Regel zu einem Fehler führen.

🎯 Quiz Zeit! #2

Was bewirkt das Zeichen \n in der printf-Funktion?

A) Es wird der Buchstabe "n" ausgegeben
C) Es beendet das Programm
B) Es löscht den Bildschirm
D) Es bewirkt einen Zeilenumbruch (new line)

💾 Das Programm wird gespeichert

💡 In welchem Programm?

Sie arbeiten in Ihrer IDE (Code::Blocks, Visual Studio Code, etc.)
Dort haben Sie den Code in den Editor eingegeben.

Nach der Eingabe speichern Sie das Programm über den Menüpunkt
FILE • SAVE FILE AS. Daraufhin erscheint das Dialogfeld SAVE FILE.

📁 Dateiendung ".c"

Sie können mithilfe der verschiedenen Entwicklungsumgebungen sowohl in der Sprache C als auch in der Sprache C++ programmieren.

Dateien mit Programmen in der Sprache C haben die Endung .c

Falls es sich um Programme in der Sprache C++ handelt, haben die Dateien die Endung .cpp

🗂️ Beispiel

Dateiname: hello.c
Dateityp: C/C++ files
                        

Wählen Sie ein Verzeichnis aus. Empfehlung: C:\CProgramme

Betätigen Sie die Schaltfläche SPEICHERN.

⚙️ Wie starte ich das fertige Programm?

📍 Wo finde ich "Build and Run"?

In Code::Blocks: Menü oben → BuildBuild and Run
Oder drücken Sie einfach F9

Sie können das Programm über den Menüpunkt BUILD • BUILD AND RUN (F9)
in die Sprache des Rechners übersetzen, zu einem lauffähigen Programm zusammensetzen und starten.

🔄 Der Vorgang des Übersetzens wird auch kompilieren genannt.

Der entsprechende Bestandteil der Entwicklungsumgebung heißt sich Compiler.

📝 Syntax & Syntaxfehler

Beim Kompilieren können Syntaxfehler festgestellt werden.

Unter der Syntax eines Programms versteht man seinen Aufbau gemäß den Regeln der Programmiersprache.

Falls das Programm keinen Syntaxfehler enthält, erscheint: 0 error(s) und 0 warning(s)

⚠️ Umgang mit Fehlermeldungen

Sollte das Programm Syntaxfehler aufweisen, erscheinen eine oder mehrere
Fehlermeldungen und es startet nicht.

🐛 Beispiel: Fehlendes Semikolon

#include <stdio.h>
int main()
{
    printf("Hello World\n")  ← Fehlt das Semikolon!
    return 0;
}
Fehlermeldung:
hello.c:5: error: expected ';' before 'return'

Die Fehlermeldung besagt, dass in Zeile 5 ein Semikolon vor return erwartet wird.

Der Fehler, der in Zeile 4 gemacht wird, wird also erst in Zeile 5 bemerkt.

💡 Hinweis

Es ist häufig so, dass sich Fehler erst in späteren Programmzeilen auswirken.

Falls Sie also nach der Ursache eines Fehlers suchen, beginnen Sie in der Zeile mit der Fehlermeldung und arbeiten sich anschließend Zeile für Zeile nach oben.

🎯 Quiz Zeit! #3

Was ist ein Compiler?

A) Ein Programm, das Code in Maschinensprache übersetzt
B) Ein Programm zum Schreiben von Code
C) Ein Texteditor für Programmierer
D) Ein Programm zum Finden von logischen Fehlern

▶️ Ausgabe des Programms

Nach einer erfolgreichen Übersetzung wird die Ausgabe des Programms in
einem Konsolenfenster angezeigt.

C:\CProgramme\hello.exe

Hello World

Process returned 0 (0x0)   execution time : 0.016 s
Press any key to continue.
                

Nach einem Tastendruck wird das Konsolenfenster wieder geschlossen.

🎉 Herzlichen Glückwunsch!
Sie haben Ihr erstes C-Programm erfolgreich ausgeführt!

📦 Eine weitere Möglichkeit zum Starten

Sie haben mithilfe der Entwicklungsumgebung aus dem C-Programm in der Datei hello.c
bereits ein ausführbares Programm in der Datei hello.exe erstellt.

💻 Von der Kommandozeile aus

Es befindet sich im selben Verzeichnis wie die Datei hello.c,
also in unserem Verzeichnis C:\CProgramme.

Im Kommandozeilenmodus können Sie es direkt aus diesem Verzeichnis heraus aufrufen.

🖱️ Programm kopieren

Sie können die Datei hello.exe auf einen anderen Windows-PC kopieren,
etwa mithilfe eines USB-Sticks.

Anschließend können Sie das Programm auf dem anderen Windows-PC starten.

💡 Die .exe-Datei ist eigenständig und kann ohne die Entwicklungsumgebung ausgeführt werden!

💬 Kommentare sind wichtig

Gute Entwickler kommentieren den Code ihrer Programme.
Auf diese Weise erläutern sie den Zweck und den Aufbau wichtiger Bestandteile des Programms
für sich selbst und für andere Entwickler.

/* Mehrzeilige Kommentare */

Kommentare werden nicht übersetzt und sind nur in der Datei mit dem C-Quellcode sichtbar.

Sie stehen zwischen den Zeichenfolgen /* und */ und können sich über mehrere Zeilen erstrecken.

/* Es gibt lange Kommentare.
   Diese stehen in mehreren Zeilen */

// Einzeilige Kommentare

Seit dem Sprachstandard C99 sind auch einzeilige Kommentare möglich.

Sie beginnen nach der Zeichenfolge // und erstrecken sich bis zum Ende der Zeile.

// Kommentar bis zum Ende der Zeile
return 0;  // seit C99

🎯 Weitere Entwicklung

Häufig nimmt sich ein Entwickler ein Programm nach Wochen oder Monaten
noch einmal vor, um es zu verbessern oder ein anderes Programm auf seiner Basis zu erschaffen.

Oder er muss ein Programm bearbeiten, das ursprünglich von einem anderen Entwickler erstellt wurde.

In diesen Fällen ist es sehr hilfreich, wenn die Programme gut kommentiert sind.

🎯 Quiz Zeit! #4

Welche Aussage über Kommentare ist FALSCH?

A) /* ... */ kann über mehrere Zeilen gehen
B) // geht bis zum Zeilenende
C) Kommentare verlangsamen die Programmausführung
D) Kommentare werden vom Compiler ignoriert

📝 Beispiel: Programm mit Kommentaren

Hier sehen Sie unser "Hello World" Programm mit ausführlichen Kommentaren:

/*
   Datei: kommentar.c

   Dieses Programm gibt einen längeren Text aus.
   Es demonstriert die Verwendung von Kommentaren.
*/

#include <stdio.h>

int main()
{
    /* Es gibt lange Kommentare.
       Diese stehen in mehreren Zeilen */

    printf("Es gibt auch lange");
    printf(" Texte.\n");
    printf("Diese stehen");
    printf(" auch in mehreren Zeilen.\n");

    return 0;  // Kommentar bis zum Ende, seit C99
}

Ausgabe:
Es gibt auch lange Texte.
Diese stehen auch in mehreren Zeilen.

📄 Längere Texte ausgeben

Gleichzeitig sehen Sie in diesem Programm, wie Sie einen längeren Ausgabetext
unterteilen können. Die einzelnen Textstücke stehen jeweils innerhalb von doppelten
Anführungsstrichen. Die Zeichenfolge \n sorgt für einen Zeilenumbruch.

💡 Hinweis zur Textformatierung

Kommentare geben Ihnen auch die Möglichkeit, bestimmte Teile eines Programms
zeitweilig von der Übersetzung auszuschließen.

Dies kann sich während der Entwicklung eines größeren Programms oder bei der
Fehlersuche als nützlich erweisen.

✏️ Übungsaufgabe

Schreiben Sie ein Programm in der Datei u_name.c.
Es soll die folgende Ausgabe erzeugen:

Guten Morgen.
Mein Name ist Claus Clever.

💡 Tipps:

  • Kommentieren Sie jede Zeile innerhalb der Funktion main()
  • Verwenden Sie \n für den Zeilenumbruch
  • Vergessen Sie nicht das Semikolon am Ende jeder Anweisung!

📚 Denken Sie daran: Es kann zu jeder Aufgabe beliebig viele richtige Lösungen geben.
Probieren Sie verschiedene Ansätze aus!

📝 Zusammenfassung

Was wir heute gelernt haben:

  • IDE Setup: Code::Blocks (Windows) oder VS Code (macOS)
  • Hello World: Unser erstes C-Programm
  • #include <stdio.h>: Bibliotheken einbinden
  • main(): Der Startpunkt jedes C-Programms
  • printf(): Text auf dem Bildschirm ausgeben
  • return 0: Rückgabewert der Funktion
  • Sonderzeichen: { } ; \ " und ihre Bedeutung
  • Case Sensitivity: Groß-/Kleinschreibung beachten!
  • Kompilieren: Vom Quellcode zur ausführbaren Datei
  • Kommentare: // und /* */ für Dokumentation

🎯 Jetzt sind Sie bereit, eigene C-Programme zu schreiben!
Üben Sie fleißig - Programmieren lernt man nur durch Programmieren! 💪

✅ Lösung zur Übungsaufgabe

Aufgabe: Programm in der Datei u_name.c

Gewünschte Ausgabe:

Guten Morgen.
Mein Name ist Claus Clever.

💡 Eine mögliche Lösung:

/*
   Datei: u_name.c
   Ausgabe einer Begrüßung mit Namen
*/

#include <stdio.h>

int main()
{
    // Ausgabe der ersten Zeile mit Zeilenumbruch
    printf("Guten Morgen.\n");

    // Ausgabe der zweiten Zeile mit Zeilenumbruch
    printf("Mein Name ist Claus Clever.\n");

    // Programm erfolgreich beendet
    return 0;
}

🎯 Alternative Lösungen:

• Sie können beide Zeilen auch in einem printf() ausgeben

• Sie können den Text auf mehrere printf()-Aufrufe verteilen

• Wichtig ist: Die Ausgabe muss korrekt sein! ✅

🎉 Vielen Dank!

Fragen?

Prof. Dr. Alexandra Mikityuk

📱 +49 30 5019-2664

🏢 Raum C308

📅 Mittwoch 15:30-16:30

Viel Erfolg beim Programmieren! 💻

"Hello World" ist der erste Schritt auf einer spannenden Reise! 🚀

1 / 26