Choisissez votre langue
Formation en programmation C/C++
Plus de 2 millions d'apprenants dans le monde

Formation en programmation C/C++

Maîtrisez C et C++ depuis les bases, en couvrant tout, de la mémoire brute et des pointeurs aux fonctionnalités modernes de C++20, aux patrons de conception et aux systèmes concurrents. Ce cours vous donne la profondeur technique que les développeurs professionnels et les ingénieurs systèmes utilisent en réalité dans leur travail. Que vous visiez le micrologiciel embarqué, les applications haute performance ou les entretiens techniques, vous repartirez avec des compétences réelles et prêtes pour la production.

Dedika pour entreprises

Ce que vous allez apprendre:

Vous construirez une base complète en syntaxe C et C++, gestion de la mémoire et programmation orientée objet avant de passer aux modèles, à la bibliothèque standard (STL) et aux fonctionnalités modernes de C++17/20. Le cours couvre les structures de données et les algorithmes implémentés à partir de zéro, vous donnant les compétences de résolution de problèmes nécessaires pour les entretiens techniques et le travail système. Vous apprendrez également à utiliser des outils standard de l'industrie, notamment CMake, GDB, Google Test et les analyseurs statiques. Les sujets de programmation embarquée et système vous préparent au développement de micrologiciels et bas niveau. À la fin, vous serez équipé pour concevoir, construire et livrer des logiciels C++ robustes dans des environnements professionnels.

Comment vous étudiez de façon pratique Formation en programmation C/C++

Comment vous pratiquez Formation en programmation C/C++

Pour vous, entreprise, qui souhaitez former votre équipe

Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre propre activité et aux besoins spécifiques de votre entreprise.

Cliquez ici

Contenu du cours

8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

Environnement C/C++ et bases de la syntaxe

  • Leçon 1 • Variables, types et littéraux

    Présente les types de données primitifs, la déclaration de variables et les valeurs littérales. La maîtrise de ces concepts vous permet de représenter correctement les données tout au long de la formation.

  • Leçon 2 • Principes fondamentaux des entrées et sorties

    Enseigne les entrées/sorties console avec printf/scanf en C et cin/cout en C++. Permet de créer les programmes interactifs requis dans tous les exercices pratiques.

  • Leçon 3 • Opérateurs et expressions

    Couvre les opérateurs arithmétiques, relationnels, logiques et binaires avec leurs règles de priorité. Développe la compétence d'écriture d'expressions nécessaire pour tous les contrôles de flux et algorithmes.

  • Leçon 4 • Syntaxe de base et structure d'un programme

    Couvre les tokens, instructions, blocs et l'anatomie d'un fichier source C/C++. Permet d'écrire n'importe quel programme valide dans les chapitres suivants.

  • Leçon 5 • Configuration de l'environnement de développement

    Installez et configurez les compilateurs, éditeurs et outils de construction pour C/C++. Fournit les fondations techniques sur lesquelles repose chaque chapitre suivant.

Chapitre 2Voir les détails

Contrôle de flux et fonctions

  • Leçon 1 • Déclaration et définition de fonctions

    Présente les prototypes de fonctions, les définitions et les mécanismes d'appel en C/C++. Établit les principes de conception modulaire utilisés tout au long de la formation.

  • Leçon 2 • Portée, durée de vie et classes de stockage

    Explique les variables locales, globales et statiques ainsi que leur durée de vie. Évite les bogues courants liés aux variables non initialisées ou mal cadrées.

  • Leçon 3 • Principes fondamentaux de la récursivité

    Couvre la conception de fonctions récursives, les cas de base et le comportement de la pile. Prépare aux algorithmes récursifs et aux structures de données des chapitres suivants.

  • Leçon 4 • Instructions conditionnelles

    Couvre les constructions if, else-if et switch pour la prise de décision. Permet directement les programmes pilotés par la logique sur lesquels s'appuient tous les chapitres suivants.

  • Leçon 5 • Boucles et itération

    Enseigne les boucles for, while et do-while ainsi que les instructions de contrôle de boucle. L'itération est la colonne vertébrale des algorithmes et du traitement de données abordés plus tard.

Chapitre 3Voir les détails

Tableaux, chaînes de caractères et pointeurs

  • Leçon 1 • Chaînes de style C et fonctions de chaîne

    Enseigne les tableaux de caractères terminés par null et les fonctions standard de la bibliothèque de chaînes. Fournit les bases des chaînes C nécessaires avant d'introduire std::string en C++.

  • Leçon 2 • Allocation dynamique de mémoire

    Enseigne malloc/free en C et new/delete en C++ pour la gestion du tas mémoire. Jette les bases des structures de données dynamiques abordées dans le chapitre suivant.

  • Leçon 3 • Tableaux unidimensionnels et multidimensionnels

    Couvre la déclaration, l'initialisation et les motifs d'accès aux éléments des tableaux. Les tableaux sous-tendent presque toutes les structures de données introduites plus tard dans la formation.

  • Leçon 4 • Pointeurs et fonctions

    Couvre le passage de pointeurs aux fonctions et le retour sécurisé de pointeurs. Permet une manipulation efficace des données sans copie inutile.

  • Leçon 5 • Bases des pointeurs et arithmétique des adresses

    Introduit la déclaration de pointeurs, le déréférencement et l'arithmétique des pointeurs. Les pointeurs sont centraux pour la mémoire dynamique et la programmation bas niveau dans les chapitres suivants.

Chapitre 4Voir les détails

Structures, unions et énumérations

  • Leçon 1 • Énumérations et alias de types

    Couvre les énumérations C, les classes d'énumération C++ et les déclarations typedef/using. Améliore la clarté du code et la sécurité des types dans tous les projets suivants.

  • Leçon 2 • Champs de bits et données compressées

    Introduit les membres de structure en champs de bits pour une représentation compacte des données. Pertinent pour l'analyse de protocoles et le mappage de registres matériels dans les sujets avancés.

  • Leçon 3 • Pointeurs vers les structures

    Enseigne l'accès aux structures par pointeur et l'allocation dynamique de structures. Permet les structures de données chaînées construites dans le chapitre sur les algorithmes.

  • Leçon 4 • Unions et partage de mémoire

    Explique la sémantique des unions, le chevauchement de stockage et les cas d'utilisation valides. Fournit un aperçu de la mémoire bas niveau pertinent pour la programmation embarquée et système.

  • Leçon 5 • Définition et utilisation des structures

    Couvre la déclaration de structures, l'accès aux membres et les structures imbriquées. Les structures sont le précurseur direct des classes C++ introduites dans le chapitre suivant.

Chapitre 5Voir les détails

Programmation orientée objet en C++

  • Leçon 1 • Polymorphisme et fonctions virtuelles

    Introduit les fonctions virtuelles, les fonctions virtuelles pures et les classes abstraites. Permet les motifs de répartition à l'exécution essentiels à la conception de logiciels extensibles.

  • Leçon 2 • Héritage et hiérarchies de classes

    Couvre l'héritage simple et multiple, l'accès à la classe de base et le chaînage des constructeurs. Développe les compétences de conception de hiérarchie nécessaires au polymorphisme.

  • Leçon 3 • Encapsulation et principes de conception

    Applique les principes SOLID et les stratégies d'encapsulation à la conception de classes. Prépare à écrire du code C++ maintenable et testable dans les chapitres avancés.

  • Leçon 4 • Surcharge d'opérateurs

    Enseigne la surcharge des opérateurs arithmétiques, de comparaison et de flux pour les types personnalisés. Permet une syntaxe intuitive pour les classes définies par l'utilisateur utilisées dans les projets suivants.

  • Leçon 5 • Classes et objets

    Couvre la déclaration de classe, les spécificateurs d'accès et l'instanciation d'objets. Établit le modèle de classe que toutes les fonctionnalités POO de ce chapitre étendent.

Chapitre 6Voir les détails

Templates, STL et programmation générique

  • Leçon 1 • Algorithmes STL

    Couvre sort, find, transform, accumulate et d'autres algorithmes standard. L'application des algorithmes STL remplace les boucles manuelles sujettes aux erreurs dans le code de production.

  • Leçon 2 • Templates de fonctions et de classes

    Couvre la syntaxe des templates, les paramètres de type et l'instanciation de templates. Les fonctions et classes génériques réduisent la duplication de code dans tous les projets futurs.

  • Leçon 3 • Conteneurs STL

    Introduit vector, list, deque, map, set et leurs variantes non ordonnées. Le choix du bon conteneur est essentiel pour les performances dans la conception d'algorithmes.

  • Leçon 4 • Expressions lambda et foncteurs

    Introduit la syntaxe lambda, les captures et les objets foncteurs à utiliser avec la STL. Permet une personnalisation concise et expressive des algorithmes dans le C++ moderne.

  • Leçon 5 • Itérateurs et plages

    Enseigne les catégories d'itérateurs, l'arithmétique des itérateurs et les boucles for basées sur une plage. Les itérateurs sont l'interface universelle entre les conteneurs et les algorithmes.

Chapitre 7Voir les détails

Gestion de la mémoire et sécurité des ressources

  • Leçon 1 • Gestion des exceptions et sécurité

    Couvre la syntaxe try/catch/throw, les hiérarchies d'exceptions et les garanties de sécurité face aux exceptions. Une gestion robuste des erreurs évite les fuites de ressources dans des conditions exceptionnelles.

  • Leçon 2 • RAII et propriété des ressources

    Explique l'idiome RAII et comment les constructeurs/destructeurs assurent la sécurité des ressources. Le RAII est le fondement de toute gestion sûre des ressources dans le C++ moderne.

  • Leçon 3 • Pointeurs intelligents en profondeur

    Couvre la sémantique et les motifs d'utilisation de unique_ptr, shared_ptr et weak_ptr. Les pointeurs intelligents éliminent les appels manuels à delete et préviennent les erreurs de propriété.

  • Leçon 4 • Sémantique de copie et de déplacement

    Enseigne les constructeurs de copie, l'affectation par copie, les constructeurs de déplacement et l'affectation par déplacement. La règle des cinq régit la conception correcte des classes possédant des ressources.

  • Leçon 5 • Débogage et profilage de la mémoire

    Introduit des outils pour détecter les fuites, les accès invalides et la corruption du tas mémoire. Les compétences en profilage sont essentielles pour maintenir du code C++ de qualité production.

Chapitre 8Voir les détails

E/S de fichiers, concurrence et programmation système

  • Leçon 1 • Multithreading avec std::thread

    Enseigne la création, la jointure et le détachement de threads à l'aide de la bibliothèque de threads C++11. Les principes fondamentaux de la concurrence permettent la conception de programmes parallèles dans ce chapitre.

  • Leçon 2 • Interfaces de processus et système

    Introduit la création de processus, les variables d'environnement et les appels système. Fournit le contexte au niveau du système d'exploitation nécessaire à l'écriture de programmes C système.

  • Leçon 3 • Principes de base des réseaux et des sockets

    Introduit l'API socket BSD pour la communication TCP/UDP en C/C++. Les compétences en réseau étendent les applications C/C++ aux contextes distribués et client-serveur.

  • Leçon 4 • Synchronisation et courses aux données

    Couvre les mutex, les variables de condition et les opérations atomiques pour prévenir les courses aux données. Une synchronisation sûre est obligatoire pour des programmes concurrents corrects.

  • Leçon 5 • E/S de fichiers en C et C++

    Couvre fopen/fclose en C et fstream en C++ pour la lecture et l'écriture de fichiers. Les E/S de fichiers sont requises pour la persistance des données dans tous les projets de synthèse.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Étudiants en informatique : cherchant une profondeur pratique au-delà de ce que les salles de classe offrent généralement.

  • Développeurs Python ou JavaScript : prêts à comprendre ce qui se passe sous la couche d'abstraction.

  • Ingénieurs électriciens : ayant besoin de compétences en C pour écrire et maintenir des micrologiciels pour des projets matériels.

  • Personnes en reconversion professionnelle : visant des rôles systèmes ou embarqués qui exigent une maîtrise de la programmation bas niveau.

  • Développeurs de jeux : souhaitant optimiser le code critique en termes de performances écrit en C ou C++.

  • Programmeurs autodidactes : construisant la base rigoureuse que des langages structurés comme le C exigent.

Ce que disent nos apprenants

Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Digital
J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

Formations principales

FAQ

Qui est Dedika ?

Le certificat est-il valable en Côte d’Ivoire ?

Les cours sont-ils gratuits ?

Quelle est la charge de travail du cours ?

Comment sont les cours ?

Comment fonctionnent les cours ?

Quelle est la durée des cours ?

Quel est le coût ou le prix des cours ?

Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?

Cours PDF