C-Programmierung lernen
Ein kostenloser, interaktiver Online-C-Kurs. Du schreibst in jeder Lektion C, mit KI-Hinweisen, wenn mal ein segfault auftritt, und einem kostenlosen Zertifikat am Ende.
123,799+ codders eingeschrieben
- Anfängerfreundlich
KI-gestützte Coding-Hilfe
Praktische, interaktive Lektionen
Audio-Erzählung in jeder Lektion
Quizfragen zum Wissenstest
Kostenloses Abschlusszertifikat
Lehrplan
Abschnitt 1
Fundamentals
Abschnitt startenStartenAusklappenEinklappenBuild a strong foundation with essential concepts and basic skillsEinführung
4 Lektionen326- 01Die Programmiersprache CAufgabe
- 02Hello World!AufgabeQuiz
- 03KommentareQuiz
- 04Grundlegende ProgrammstrukturAufgabeQuiz
Variablen
11 Lektionen1485- 01DatentypenAufgabeQuiz
- 02IntegerAufgabeQuiz
- 03Float - DoubleAufgabeMeisterungQuiz
- 04ZeichenAufgabeQuiz
- 05BooleansAufgabeMeisterungQuiz
- 06KonstantenAufgabeQuiz
- 07printf GrundlagenAufgabeQuiz
- 08Benennungsregeln für VariablenAufgabeQuiz
- 09Type Casting Teil 1AufgabeMeisterungQuiz
- 10Type Casting Teil 2AufgabeQuiz
- 11Wiederholungs-ChallengeAufgabe
Operatoren
9 Lektionen1161- 01Arithmetische OperatorenAufgabeQuiz
- 02Modulo-OperatorAufgabeMeisterungQuiz
- 03Inkrement/DekrementAufgabeQuiz
- 04ZuweisungsoperatorenAufgabeQuiz
- 05Relationale OperatorenAufgabeQuiz
- 06Logische Operatoren Teil 1AufgabeQuiz
- 07Logische Operatoren Teil 2AufgabeQuiz
- 08Logische Operatoren Teil 3AufgabeMeisterungQuiz
- 09Wiederholungs-ChallengeAufgabe
Kontrollfluss
7 Lektionen944- 01If-AnweisungAufgabeQuiz
- 02If - ElseAufgabeQuiz
- 03Else-IfAufgabeMeisterungQuiz
- 04Switch CaseAufgabeMeisterungQuiz
- 05Ternärer BedingungsoperatorAufgabeQuiz
- 06Recap-ChallengeAufgabe
- 07Verschachteltes If - ElseAufgabeQuiz
Eingabe & Ausgabe
5 Lektionen626- 01FormatbezeichnerAufgabeQuiz
- 02scanf-GrundlagenAufgabeMeisterungQuiz
- 03Wiederholungs-Challenge #1Aufgabe
- 04EingabevalidierungAufgabeQuiz
- 05Wiederholungs-Challenge #2Aufgabe
Schleifen
9 Lektionen1053- 01For-SchleifeAufgabeMeisterungQuiz
- 02While-SchleifeAufgabeQuiz
- 03Do-While-SchleifeAufgabeQuiz
- 04BreakAufgabeQuiz
- 05ContinueAufgabeQuiz
- 06Wiederholungs-Challenge #1Aufgabe
- 07Verschachtelte SchleifenAufgabeMeisterungQuiz
- 08EndlosschleifenQuiz
- 09Wiederholungs-Challenge #2Aufgabe
Funktionen
7 Lektionen1039- 01Eine Funktion deklarierenAufgabeQuiz
- 02RückgabetypenAufgabeMeisterungQuiz
- 03ParameterAufgabeMeisterungQuiz
- 04Wiederholungs-Challenge #1Aufgabe
- 05Rekursions-GrundlagenAufgabeMeisterungQuiz
- 06FunktionsprototypenAufgabeQuiz
- 07Wiederholungs-Challenge #2Aufgabe
Arrays
8 Lektionen1247- 01Arrays deklarierenAufgabeQuiz
- 02Zugriff auf ElementeAufgabeQuiz
- 03Elemente ändernAufgabeMeisterungQuiz
- 04Mehrdimensionale ArraysAufgabeMeisterungQuiz
- 05Wiederholungs-Challenge #1Aufgabe
- 06Arrays als FunktionsargumenteAufgabeMeisterungQuiz
- 07Array-AlgorithmenAufgabeMeisterungQuiz
- 08Wiederholungs-Challenge #2Aufgabe
Abschluss-Herausforderungen
3 Lektionen3- 01NotenAufgabe
- 02GipfelAufgabe
- 03TVAufgabe
Abschnitt 2
Logic & Flow
Abschnitt startenStartenAusklappenEinklappenMaster advanced C programming with a focus on data structures and flow control. Learn to work with complex arrays, collections, error handling, and time management.Zeiger-Grundlagen
6 Lektionen540- 01Was ist ein Zeiger?Quiz
- 02Zeiger deklarierenAufgabeQuiz
- 03Der Adressoperator (&)AufgabeQuiz
- 04Der Dereferenzierungsoperator (*)AufgabeQuiz
- 05NULL-ZeigerAufgabeQuiz
- 06Zusammenfassung: Zeiger-GrundlagenAufgabe
Pointer und Arrays
5 Lektionen531- 01Array-Namen als PointerAufgabeQuiz
- 02Array-Elemente - PointerAufgabeQuiz
- 03Pointer-ArithmetikAufgabeQuiz
- 04Pointer vergleichenAufgabeQuiz
- 05Wiederholung: Array-Durchlauf mit PointernAufgabe
Character-Arrays und Strings
8 Lektionen858- 01Strings als char-ArraysAufgabeQuiz
- 02Der Null-TerminatorAufgabeQuiz
- 03String-Eingabe mit scanfAufgabeQuiz
- 04Verwendung von strlen()AufgabeQuiz
- 05Verwendung von strcpy()AufgabeQuiz
- 06Verwendung von strcat()AufgabeQuiz
- 07Verwendung von strcmp()AufgabeQuiz
- 08Zusammenfassung: Grundlegende String-FunktionenAufgabe
Projekt: Einfaches Text-Tool
Projekt5 Lektionen1- 01ProjektübersichtAufgabe
- 02Zeichen zählenProjekt
- 03Vokale zählenProjekt
- 04In Großbuchstaben umwandelnProjekt
- 05Finale AusgabeProjekt
Zeiger und Funktionen
6 Lektionen641- 01Wertübergabe (Pass-by-Value)AufgabeQuiz
- 02Zeiger an Funktionen übergebenAufgabeQuiz
- 03Variablen über Zeiger ändernAufgabeQuiz
- 04Ein klassisches Beispiel: SwapAufgabeQuiz
- 05Arrays an Funktionen übergebenAufgabeQuiz
- 06Zusammenfassung: Zeiger als FunktionsargumenteAufgabe
Speicherverwaltung
7 Lektionen652- 01Stack vs. Heap SpeicherQuiz
- 02Dynamische Allokation - malloc()AufgabeQuiz
- 03Verwendung von sizeof() für die AllokationAufgabeQuiz
- 04Überprüfung auf AllokationsfehlerAufgabeQuiz
- 05Speicher freigeben mit free()AufgabeQuiz
- 06Allokation mit calloc()AufgabeQuiz
- 07Rückblick: Dynamische ArraysAufgabe
Strukturen (structs)
6 Lektionen540- 01Was ist ein Struct?Quiz
- 02Deklarieren eines StructsAufgabeQuiz
- 03Erstellen von Struct-VariablenAufgabeQuiz
- 04Zugriff auf Struct-MemberAufgabeQuiz
- 05Initialisieren von StructsAufgabeQuiz
- 06Zusammenfassung: Studentendaten-StructAufgabe
Structs und Zeiger
6 Lektionen643- 01Zeiger auf StructsAufgabeQuiz
- 02Der Pfeiloperator (->)AufgabeQuiz
- 03Structs per Wert übergebenAufgabeQuiz
- 04Übergabe von Struct-ZeigernAufgabeQuiz
- 05Dynamische Allokation von StructsAufgabeQuiz
- 06Zusammenfassung: Struct ändern - PtrAufgabe
Projekt: Einfache Kontakteingabe
Projekt5 Lektionen1- 01Projekt: Kontakt-Struct definierenAufgabe
- 02Funktion zum Erstellen eines KontaktsProjekt
- 03Funktion zum Befüllen eines KontaktsProjekt
- 04Funktion zum Anzeigen eines KontaktsProjekt
- 05Alles zusammenfügenProjekt
Enums und typedef
6 Lektionen640- 01enum für benannte KonstantenAufgabeQuiz
- 02Enums deklarieren und verwendenAufgabeQuiz
- 03Enums in Switch-AnweisungenAufgabeQuiz
- 04typedef für Typ-Aliase verwendenAufgabeQuiz
- 05typedef mit StructsAufgabeQuiz
- 06Wiederholung: Übung zu typedef & EnumsAufgabe
Finale Wiederholungsaufgaben
3 Lektionen3- 01Wiederholung: Dynamische String-KonkatenationAufgabe
- 02Wiederholung: Array von StructsAufgabe
- 03Wiederholung: Wortfrequenz-ZählerAufgabe
Abschnitt 3
Object Oriented Programming
Abschnitt startenStartenAusklappenEinklappenDiscover how to organize code with classes, objects, and reusable structuresGrundlagen der modularen Programmierung
5 Lektionen433- 01Header-DateienQuiz
- 02Include GuardsAufgabeQuiz
- 03QuelldateienAufgabeQuiz
- 04Statische FunktionenAufgabeQuiz
- 05Wiederholung: Modularer TaschenrechnerAufgabe
Objekte und Methoden
6 Lektionen642- 01Structs als ObjekteAufgabeQuiz
- 02Der 'Self'-PointerAufgabeQuiz
- 03Const-CorrectnessAufgabeQuiz
- 04Pointer vs. WertAufgabeQuiz
- 05HilfsmethodenAufgabeQuiz
- 06Zusammenfassung: Point ManagerAufgabe
Objekt-Lebenszyklus
5 Lektionen533- 01Konstruktor-MusterAufgabeQuiz
- 02Destruktor-MusterAufgabeQuiz
- 03Stack-InitialisierungAufgabeQuiz
- 04Tiefe KopieAufgabeQuiz
- 05Rückblick: String-WrapperAufgabe
Kapselung
5 Lektionen435- 01Konzept der Opaque PointersQuiz
- 02Opaque Structs definierenAufgabeQuiz
- 03Getter und SetterAufgabeQuiz
- 04Validierung in SetternAufgabeQuiz
- 05Rückblick: Die geheime BoxAufgabe
Projekt: Einfaches Bankkonto
Projekt6 Lektionen1- 01Projekt-SetupAufgabe
- 02Implementierung des KontosProjekt
- 03EinzahlungslogikProjekt
- 04AuszahlungslogikProjekt
- 05Kontostand abrufenProjekt
- 06Projekt-Finale: Main LoopProjekt
Vererbung durch Komposition
5 Lektionen531- 01Struct-EinbettungAufgabeQuiz
- 02Die First-Member-RegelAufgabeQuiz
- 03Zugriff auf Parent-MemberAufgabeQuiz
- 04UpcastingAufgabeQuiz
- 05Rückblick: FormenhierarchieAufgabe
Funktionszeiger
5 Lektionen534- 01Funktionszeiger deklarierenAufgabeQuiz
- 02Funktionszeiger aufrufenAufgabeQuiz
- 03Typedef für FunktionszeigerAufgabeQuiz
- 04Funktionen als Argumente übergebenAufgabeQuiz
- 05Zusammenfassung: Calculator DispatchAufgabe
Polymorphismus
6 Lektionen641- 01Funktionszeiger in StructsAufgabeQuiz
- 02Methoden simulierenAufgabeQuiz
- 03Das Interface-KonzeptAufgabeQuiz
- 04Interfaces implementierenAufgabeQuiz
- 05Polymorphe IterationAufgabeQuiz
- 06Wiederholung: GreeterAufgabe
Projekt: Formen-Zeichner
Projekt5 Lektionen1- 01ProjektübersichtAufgabe
- 02Kreis-ImplementierungProjekt
- 03Rechteck-ImplementierungProjekt
- 04Polymorphe VerwendungProjekt
- 05Shape-ContainerProjekt
Generische Container
5 Lektionen534- 01Wiederholung: Void-PointerAufgabeQuiz
- 02Generischer WrapperAufgabeQuiz
- 03Generisches SwapAufgabeQuiz
- 04Generisches VergleichenAufgabeQuiz
- 05Wiederholung: Generisches ArrayAufgabe
Entwurfsmuster in C
4 Lektionen425- 01Singleton-MusterAufgabeQuiz
- 02Factory-MusterAufgabeQuiz
- 03Iterator-MusterAufgabeQuiz
- 04Zusammenfassung: Logger FactoryAufgabe
Abschlussherausforderungen
4 Lektionen48- 01RPG-CharakterAufgabe
- 02Dynamischer String-BuilderAufgabe
- 03Generischer StackAufgabe
- 04Event-SystemAufgabeQuiz
C-Kurse
Praktische C-Kurse, kostenlos im Browser zu starten.
Herausforderungen für Anfänger – Grundlagen üben
BeliebtStelle dein Programmierwissen für Anfänger auf die Probe und versuche, diese Programmier-Herausforderungen zu lösen. Nutze dabei eine beliebige Sprache deiner Wahl. Viel Spaß beim Programmieren!
Zertifikat am Ende
- 20
- 20
Programmieraufgaben
BeliebtStelle deine Fähigkeiten zur Problemlösung beim Programmieren mit Übungen in verschiedenen Schwierigkeitsgraden auf die Probe. Dieser Kurs richtet sich an Programmierer mit Vorkenntnissen der Basissyntax einer beliebigen Programmiersprache.
Zertifikat am Ende
- 32
- 31
Coding Problems: Teil 2
Stelle deine Fähigkeiten zur Problemlösung beim Programmieren mit den Übungen in verschiedenen Schwierigkeitsgraden in diesem Kurs auf die Probe. Dieser Kurs wurde für Programmierer mit Vorkenntnissen der Basissyntax in einer beliebigen Programmiersprache entwickelt und ist eine Erweiterung des ersten Teils von Coding Problems.
Zertifikat am Ende
- 25
- 24
Stack - Datenstrukturen-Serie #1
In diesem Kurs lernst du die Datenstruktur Stack kennen, erstellst einen Stack von Grund auf in deiner bevorzugten Sprache und löst praktische Coding-Challenges damit!
- 13
- 6
- 1
Heaps & Priority Queues - Datenstrukturen-Serie #7
NeuIn diesem Kurs lernst du die Heap-Datenstruktur kennen (das Rückgrat von Priority Queues), entwickelst einen MinHeap von Grund auf in deiner bevorzugten Programmiersprache und meisterst praktische Coding-Challenges damit!
Zertifikat am Ende
- 14
- 6
- 1
Sternmuster-Bootcamp
Nutze deine Fähigkeiten zur Problemlösung beim Programmieren, um zu lernen, wie man Sternmuster von einfach bis komplex ausgibt. Dabei kommen verschiedene Ebenen von verschachtelten Schleifen, bedingten Anweisungen und mathematischen Berechnungen zum Einsatz.
- 30
- 28
Warum C-Programmierung mit Coddy lernen
- Schreib und führ echten C-Code direkt im Browser aus. Keine GCC-Installation, kein Makefile, kein Toolchain-Setup. Jede Übung kompiliert dein C-Programm serverseitig und zeigt dir die Ausgabe sofort an.
- C, wie es wirklich eingesetzt wird: Pointer und Referenzen, Arrays, Strings, Structs, dynamische Speicherverwaltung mit
mallocundfree, Datei-I/O. Die C-Grundlagen, die jeder Systemprogrammierer braucht. - KI-Hinweise helfen dir, C-Compilerfehler und Segfaults zu lesen und zu beheben, damit sich die Sprache vom ersten Tag an zugänglich anfühlt statt kryptisch.
- Kostenloses C-Zertifikat, wenn du den Kurs abschließt. Ein glaubwürdiges Signal für Stellen in Systems, Embedded, Betriebssystemen und Game Engines, wo C-Kenntnisse erwartet werden.