Wählen Sie Ihre Sprache aus
C/C++ Programmierkurs
Mehr als 2 Millionen Studierende weltweit

C/C++ Programmierkurs

Meistern Sie C und C++ von Grund auf, von rohem Speicher und Zeigern bis hin zu modernen C++20-Funktionen, Entwurfsmustern und nebenläufigen Systemen. Dieser Kurs vermittelt Ihnen die technische Tiefe, die professionelle Entwickler und Systemingenieure tatsächlich im Job nutzen. Egal, ob Sie eingebettete Firmware, Hochleistungsanwendungen oder technische Interviews anstreben, Sie werden mit echten, produktionsreifen Fähigkeiten abschließen.

Dedika für Unternehmen

Was Sie lernen werden:

Sie werden eine vollständige Grundlage in C- und C++-Syntax, Speicherverwaltung und objektorientierter Programmierung aufbauen, bevor Sie sich mit Templates, der Standard Template Library und modernen C++17/20-Funktionen befassen. Der Kurs behandelt Datenstrukturen und Algorithmen, die von Grund auf implementiert werden, und vermittelt Ihnen die Problemlösungsfähigkeiten, die für technische Interviews und Systemarbeiten erforderlich sind. Sie lernen auch den Einsatz branchenüblicher Tools wie CMake, GDB, Google Test und statische Analysatoren. Themen der Embedded- und Systemprogrammierung bereiten Sie auf Firmware- und Low-Level-Entwicklung vor. Am Ende werden Sie in der Lage sein, robuste C++-Software in professionellen Umgebungen zu entwerfen, zu erstellen und zu veröffentlichen.

Wie Sie praxisnah lernen C/C++ Programmierkurs

Wie Sie üben C/C++ Programmierkurs

Für Unternehmen, die ihr Team schulen möchten

Bei Dedika für Unternehmen enthält der Kurs Übungen und Beispiele, die auf Ihr eigenes Geschäft und die Bedürfnisse Ihres Unternehmens zugeschnitten sind.

Hier klicken

Kursinhalt

8 Kapitel • 40 LektionenDauer zwischen 4 und 360 Stunden (Sie entscheiden)

Kapitel 1Details anzeigen

C/C++ Umgebung und Syntax Grundlagen

  • Lektion 1 • Variablen, Typen und Literale

    Führt primitive Datentypen, Variablendeklaration und Literale ein. Die Beherrschung dieser Konzepte ermöglicht eine korrekte Datendarstellung im gesamten Kurs.

  • Lektion 2 • Grundlagen der Eingabe und Ausgabe

    Lehrt Konsolen-I/O mit printf/scanf in C und cin/cout in C++. Ermöglicht interaktive Programme, die in jeder praktischen Übung benötigt werden.

  • Lektion 3 • Operatoren und Ausdrücke

    Behandelt arithmetische, relationale, logische und bitweise Operatoren mit Vorrangregeln. Bildet die Fähigkeit zur Ausdrucksbildung, die für alle Kontrollflüsse und Algorithmen benötigt wird.

  • Lektion 4 • Kern-Syntax und Programmstruktur

    Behandelt Token, Anweisungen, Blöcke und die Anatomie einer C/C++-Quelldatei. Knüpft direkt an das Schreiben jedes gültigen Programms in späteren Kapiteln an.

  • Lektion 5 • Einrichten der Entwicklungsumgebung

    Installieren und Konfigurieren von Compilern, Editoren und Build-Tools für C/C++. Bietet die technische Grundlage, von der jedes nachfolgende Kapitel abhängt.

Kapitel 2Details anzeigen

Kontrollfluss und Funktionen

  • Lektion 1 • Funktionsdeklaration und -definition

    Führt Funktionsprototypen, Definitionen und Aufrufmechanismen in C/C++ ein. Etabliert modulare Entwurfsprinzipien, die im gesamten Kurs verwendet werden.

  • Lektion 2 • Gültigkeitsbereich, Lebensdauer und Speicherklassen

    Erklärt lokale, globale und statische Variablen und deren Lebensdauer. Verhindert häufige Fehler im Zusammenhang mit nicht initialisierten oder falsch skalierten Variablen.

  • Lektion 3 • Grundlagen der Rekursion

    Behandelt rekursives Funktionsdesign, Basisfälle und Stack-Verhalten. Bereitet die Teilnehmer auf rekursive Algorithmen und Datenstrukturen in späteren Kapiteln vor.

  • Lektion 4 • Bedingte Anweisungen

    Behandelt if-, else-if- und switch-Konstrukte für Entscheidungsfindung. Ermöglicht direkt logikgesteuerte Programme, auf denen jedes nachfolgende Kapitel aufbaut.

  • Lektion 5 • Schleifen und Iteration

    Lehrt for-, while- und do-while-Schleifen zusammen mit Schleifensteuerungsanweisungen. Iteration ist das Rückgrat von Algorithmen und der Datenverarbeitung, die später behandelt werden.

Kapitel 3Details anzeigen

Arrays, Zeichenketten und Zeiger

  • Lektion 1 • C-Style Zeichenketten und Zeichenkettenfunktionen

    Lehrt nullterminierte Zeichen-Arrays und Standard-Bibliotheksfunktionen für Zeichenketten. Bietet die C-Zeichenketten-Grundlage, die benötigt wird, bevor C++ std::string eingeführt wird.

  • Lektion 2 • Dynamische Speicherzuweisung

    Lehrt malloc/free in C und new/delete in C++ für die Heap-Verwaltung. Legt die Grundlage für dynamische Datenstrukturen, die im nächsten Kapitel behandelt werden.

  • Lektion 3 • Eindimensionale und mehrdimensionale Arrays

    Behandelt Array-Deklaration, -Initialisierung und Elementzugriffsmuster. Arrays sind die Grundlage für nahezu jede später im Kurs eingeführte Datenstruktur.

  • Lektion 4 • Zeiger und Funktionen

    Behandelt das Übergeben von Zeigern an Funktionen und das sichere Zurückgeben von Zeigern. Ermöglicht effiziente Datenmanipulation ohne unnötiges Kopieren.

  • Lektion 5 • Zeiger-Grundlagen und Adressarithmetik

    Führt Zeigerdeklaration, Dereferenzierung und Zeigerarithmetik ein. Zeiger sind zentral für die dynamische Speicherverwaltung und die hardwarenahe Programmierung in späteren Kapiteln.

Kapitel 4Details anzeigen

Strukturen, Unions und Aufzählungen

  • Lektion 1 • Aufzählungen und Typ-Aliasnamen

    Behandelt C-enums, C++ enum class und typedef/using-Deklarationen. Verbessert die Code-Klarheit und Typsicherheit in allen nachfolgenden Projekten.

  • Lektion 2 • Bitfelder und gepackte Daten

    Führt Bitfeld-Struct-Member für kompakte Datendarstellung ein. Relevant für die Protokollanalyse und Hardware-Register-Abbildung in fortgeschrittenen Themen.

  • Lektion 3 • Zeiger auf Strukturen

    Lehrt zeigerbasierten Struct-Zugriff und dynamische Struct-Allokation. Ermöglicht verkettete Datenstrukturen, die im Algorithmen-Kapitel erstellt werden.

  • Lektion 4 • Unions und Speicherfreigabe

    Erklärt die Semantik von Unions, überlappende Speicherbereiche und gültige Anwendungsfälle. Bietet einen Einblick in die Low-Level-Speicherverwaltung, relevant für Embedded- und Systemprogrammierung.

  • Lektion 5 • Definieren und Verwenden von Strukturen

    Behandelt Struct-Deklaration, Member-Zugriff und geschachtelte Structs. Strukturen sind der direkte Vorläufer der C++-Klassen, die im nächsten Kapitel eingeführt werden.

Kapitel 5Details anzeigen

Objektorientierte Programmierung in C++

  • Lektion 1 • Polymorphie und virtuelle Funktionen

    Führt virtuelle Funktionen, rein virtuelle Funktionen und abstrakte Klassen ein. Ermöglicht Laufzeit-Dispatch-Muster, die für erweiterbares Softwaredesign zentral sind.

  • Lektion 2 • Vererbung und Klassenhierarchien

    Behandelt Einfach- und Mehrfachvererbung, Basisklassenzugriff und Konstruktor-Verkettung. Bildet die für die Polymorphie erforderlichen Fähigkeiten im Hierarchieentwurf.

  • Lektion 3 • Kapselung und Entwurfsprinzipien

    Wendet SOLID-Prinzipien und Kapselungsstrategien auf das Klassendesign an. Bereitet die Teilnehmer darauf vor, wartbaren, testbaren C++-Code in fortgeschrittenen Kapiteln zu schreiben.

  • Lektion 4 • Operatorüberladung

    Lehrt das Überladen von arithmetischen, Vergleichs- und Stream-Operatoren für benutzerdefinierte Typen. Ermöglicht intuitive Syntax für benutzerdefinierte Klassen, die in späteren Projekten verwendet werden.

  • Lektion 5 • Klassen und Objekte

    Behandelt Klassendeklaration, Zugriffsspezifizierer und Objektinstanziierung. Etabliert das Klassenmodell, das alle OOP-Features dieses Kapitels erweitern.

Kapitel 6Details anzeigen

Templates, STL und generische Programmierung

  • Lektion 1 • STL-Algorithmen

    Behandelt sort, find, transform, accumulate und andere Standardalgorithmen. Die Anwendung von STL-Algorithmen ersetzt fehleranfällige manuelle Schleifen im Produktionscode.

  • Lektion 2 • Funktions- und Klassen-Templates

    Behandelt Template-Syntax, Typparameter und Template-Instanziierung. Generische Funktionen und Klassen reduzieren Code-Duplikation in allen zukünftigen Projekten.

  • Lektion 3 • STL-Container

    Stellt vector, list, deque, map, set und deren ungeordnete Varianten vor. Die Wahl des richtigen Containers ist entscheidend für die Leistung beim Algorithmenentwurf.

  • Lektion 4 • Lambda-Ausdrücke und Funktoren

    Führt Lambda-Syntax, Captures und Funktor-Objekte für die Verwendung mit der STL ein. Ermöglicht präzise, ausdrucksstarke Algorithmenanpassung in modernem C++.

  • Lektion 5 • Iteratoren und Bereiche

    Lehrt Iterator-Kategorien, Iterator-Arithmetik und bereichsbasierte for-Schleifen. Iteratoren sind die universelle Schnittstelle zwischen Containern und Algorithmen.

Kapitel 7Details anzeigen

Speicherverwaltung und Ressourcensicherheit

  • Lektion 1 • Ausnahmebehandlung und Sicherheit

    Behandelt try/catch/throw, Ausnahmehierarchien und Ausnahmesicherheitsgarantien. Robuste Fehlerbehandlung verhindert Ressourcenlecks unter Ausnahmebedingungen.

  • Lektion 2 • RAII und Ressourcenbesitz

    Erklärt das RAII-Idiom und wie Konstruktoren/Destruktoren Ressourcensicherheit erzwingen. RAII ist die Grundlage aller sicheren Ressourcenverwaltung in modernem C++.

  • Lektion 3 • Smart Pointer im Detail

    Behandelt die Semantik und Verwendungsmuster von unique_ptr, shared_ptr und weak_ptr. Smart Pointer eliminieren manuelle delete-Aufrufe und verhindern Besitzfehler.

  • Lektion 4 • Kopier- und Verschiebesemantik

    Lehrt Kopierkonstruktoren, Kopierzuweisung, Verschiebekonstruktoren und Verschiebezuweisung. Die Rule of Five regelt das Design von ressourcenbesitzenden Klassen.

  • Lektion 5 • Speicher-Debugging und Profiling

    Führt Werkzeuge zur Erkennung von Lecks, ungültigen Zugriffen und Heap-Korruption ein. Profiling-Fähigkeiten sind für die Aufrechterhaltung von produktionsreifem C++-Code unerlässlich.

Kapitel 8Details anzeigen

Datei-I/O, Nebenläufigkeit und Systemprogrammierung

  • Lektion 1 • Multithreading mit std::thread

    Lehrt Thread-Erstellung, -Join und -Detach unter Verwendung der C++11-Thread-Bibliothek. Grundlagen der Nebenläufigkeit ermöglichen das Design paralleler Programme in diesem Kapitel.

  • Lektion 2 • Prozess- und Systemschnittstellen

    Führt Prozesserstellung, Umgebungsvariablen und Systemaufrufe ein. Bietet den OS-Kontext, der zum Schreiben von Systemprogrammen auf C-Ebene erforderlich ist.

  • Lektion 3 • Netzwerk- und Socket-Grundlagen

    Führt die BSD-Socket-API für TCP/UDP-Kommunikation in C/C++ ein. Netzwerkfähigkeiten erweitern C/C++-Anwendungen auf verteilte und Client-Server-Kontexte.

  • Lektion 4 • Synchronisierung und Daten-Races

    Behandelt Mutexe, Bedingungsvariablen und atomare Operationen zur Verhinderung von Daten-Races. Sichere Synchronisierung ist für korrekte nebenläufige Programme zwingend erforderlich.

  • Lektion 5 • Datei-I/O in C und C++

    Behandelt fopen/fclose in C und fstream in C++ zum Lesen und Schreiben von Dateien. Datei-I/O ist für die Datenpersistenz in allen Abschlussprojekten erforderlich.

Zertifizierung

Ihr gültiges Abschlusszertifikat

Dieser Kurs ist für Sie geeignet:

  • Informatikstudierende: die praktische Tiefe suchen, die über das hinausgeht, was Vorlesungen normalerweise bieten.

  • Python- oder JavaScript-Entwickler: bereit zu verstehen, was unter der Abstraktionsebene passiert.

  • Elektroingenieure: die C-Kenntnisse benötigen, um Firmware für Hardwareprojekte zu schreiben und zu warten.

  • Karrierewechsler: die systemnahe oder eingebettete Rollen anstreben, die fließende Low-Level-Programmierkenntnisse erfordern.

  • Spieleentwickler: die leistungskritischen Code in C oder C++ optimieren möchten.

  • Autodidakten: die ein solides Fundament aufbauen möchten, wie es strukturierte Sprachen wie C erfordern.

Was unsere Lernenden sagen

Ihre Kurse sind perfekt. Ich habe das Jahrespaket erworben und habe endlich die Möglichkeit, verschiedene Themen zu verfolgen, die mich interessieren, ohne die Plattform wechseln zu müssen... ich danke Ihnen für alles, was Sie tun, ich habe Sie bereits anderen Leuten empfohlen...
Giulio Carlo
Giulio CarloStudent für Digitales Marketing
Mir gefällt, wie die Lektionen direkt auf den Punkt kommen und wie ich Kapitel wechseln und Inhalte überspringen kann, die ich nicht brauche.
Mariana Ferres
Mariana FerresStudentin für Fotografie
Mir gefallen die Inhalte und die Art der Präsentation und Transkription der Videos, was den Prozess beschleunigt!
Luciana Alvarenga
Luciana AlvarengaStudentin für Nageldesign
Die Plattform ist schnell und einfach zu bedienen. Die Vielfalt der Inhalte und die ergänzenden Videos helfen sehr beim Lernen.
André Felipe
André FelipeStudent für Prompt Engineering

Wichtige Qualifikationen

FAQ

Wer ist Dedika?

Ist das Zertifikat in Deutschland gültig?

Sind die Kurse kostenlos?

Wie hoch ist der Arbeitsaufwand der Kurse?

Wie sind die Kurse aufgebaut?

Wie funktionieren die Kurse?

Wie lange dauern die Kurse?

Was kostet ein Kurs?

Was ist ein E-Learning- oder Online-Kurs und wie funktioniert er?

PDF-Kurs