
Cours de programmation C/C++
Maîtrise le C et le 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 te donne la profondeur technique que les développeurs professionnels et les ingénieurs système utilisent en fait au travail. Que tu vises le micrologiciel embarqué, les applications haute performance ou les entretiens techniques, tu repartiras avec de vraies compétences prêtes pour la production.
Ce que vous allez apprendre:
Tu construiras une base complète en syntaxe C et C++, en gestion de la mémoire et en programmation orientée objet avant de progresser vers les modèles, la bibliothèque standard de modèles et les 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, te donnant les compétences en résolution de problèmes nécessaires pour les entretiens techniques et le travail système. Tu apprendras aussi à utiliser des outils standard de l'industrie, notamment CMake, GDB, Google Test et des analyseurs statiques. Les sujets de programmation embarquée et au niveau système te préparent au développement de micrologiciels et bas niveau. À la fin, tu seras équipé pour concevoir, construire et livrer des logiciels C++ robustes dans des environnements professionnels.
Comment vous étudiez de façon pratique Cours de programmation C/C++
Comment vous pratiquez Cours de programmation C/C++
Pour vous, entreprise, qui souhaitez former votre équipe
Avec Dedika pour entreprises, le cours inclut des exercices et des exemples adaptés à votre propre entreprise et à ses besoins spécifiques.
Contenu du cours
8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsEnvironnement C/C++ et syntaxe de base
Environnement C/C++ et syntaxe de base
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 ici permet une représentation correcte des données tout au long du cours.
Leçon 2 • Fondamentaux des entrées et sorties
Enseigne les E/S console avec printf/scanf en C et cin/cout en C++. Permet les programmes interactifs requis dans chaque exercice pratique.
Leçon 3 • Opérateurs et expressions
Couvre les opérateurs arithmétiques, relationnels, logiques et binaires avec les règles de priorité. Développe la compétence d'écriture d'expressions nécessaire pour tout contrôle de flux et algorithme.
Leçon 4 • Syntaxe de base et structure du programme
Couvre les jetons, les instructions, les blocs et l'anatomie d'un fichier source C/C++. Se connecte directement à l'écriture de tout programme valide dans les chapitres suivants.
Leçon 5 • Configuration de l'environnement de développement
Installer et configurer les compilateurs, les éditeurs et les outils de construction pour C/C++. Fournit la base technique dont dépend chaque chapitre suivant.
Chapitre 2MasquerCacher les détailsVoir les détailsContrôle de flux et fonctions
Contrôle de flux et fonctions
Leçon 1 • Déclaration et définition de fonction
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 du cours.
Leçon 2 • Portée, durée de vie et classes de stockage
Explique les variables locales, globales et statiques et leur durée de vie. Prévient les bogues courants liés aux variables non initialisées ou mal portées.
Leçon 3 • Fondamentaux de la récursivité
Couvre la conception de fonctions récursives, les cas de base et le comportement de la pile. Prépare les étudiants aux algorithmes récursifs et aux structures de données dans les 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 reposent 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 l'épine dorsale des algorithmes et du traitement de données abordés plus tard.
Chapitre 3MasquerCacher les détailsVoir les détailsTableaux, chaînes de caractères et pointeurs
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 la base de chaînes C nécessaire avant l'introduction de 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. 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 modèles d'accès aux éléments des tableaux. Les tableaux sous-tendent presque toutes les structures de données présentées plus tard dans le cours.
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 • Notions de base des pointeurs et arithmétique d'adresse
Présente la déclaration de pointeur, le déréférencement et l'arithmétique de pointeur. Les pointeurs sont centraux pour la mémoire dynamique et la programmation bas niveau dans les chapitres suivants.
Chapitre 4MasquerCacher les détailsVoir les détailsStructures, unions et énumérations
Structures, unions et énumérations
Leçon 1 • Énumérations et alias de type
Couvre les enums C, les enum class C++ et les déclarations typedef/using. Améliore la clarté du code et la sécurité de type dans tous les projets suivants.
Leçon 2 • Champs de bits et données compressées
Présente les membres de struct 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 structs basé sur les pointeurs et l'allocation dynamique de structs. 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 de systèmes.
Leçon 5 • Définition et utilisation de structures
Couvre la déclaration de struct, l'accès aux membres et les structs imbriquées. Les structures sont le précurseur direct des classes C++ introduites dans le chapitre suivant.
Chapitre 5MasquerCacher les détailsVoir les détailsProgrammation orientée objet en C++
Programmation orientée objet en C++
Leçon 1 • Polymorphisme et fonctions virtuelles
Présente les fonctions virtuelles, les fonctions virtuelles pures et les classes abstraites. Permet les modèles de distribution à l'exécution centraux pour 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 de 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 les étudiants à é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 ultérieurs.
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 6MasquerCacher les détailsVoir les détailsModèles, STL et programmation générique
Modèles, 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 • Modèles de fonctions et de classes
Couvre la syntaxe des modèles, les paramètres de type et l'instanciation de modèle. Les fonctions et classes génériques réduisent la duplication de code dans tous les projets futurs.
Leçon 3 • Conteneurs STL
Présente vector, list, deque, map, set et leurs variantes non ordonnées. Choisir le bon conteneur est essentiel pour la performance dans la conception d'algorithmes.
Leçon 4 • Expressions lambda et foncteurs
Présente la syntaxe lambda, les captures et les objets foncteurs pour une utilisation avec la STL. Permet une personnalisation d'algorithmes concise et expressive en C++ moderne.
Leçon 5 • Itérateurs et plages
Enseigne les catégories d'itérateurs, l'arithmétique d'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 7MasquerCacher les détailsVoir les détailsGestion de la mémoire et sécurité des ressources
Gestion de la mémoire et sécurité des ressources
Leçon 1 • Gestion des exceptions et sécurité
Couvre try/catch/throw, les hiérarchies d'exceptions et les garanties de sécurité face aux exceptions. Une gestion robuste des erreurs prévient les fuites de ressources dans des conditions exceptionnelles.
Leçon 2 • RAII et possession de 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écurisée des ressources en C++ moderne.
Leçon 3 • Pointeurs intelligents en profondeur
Couvre la sémantique et les modèles d'utilisation de unique_ptr, shared_ptr et weak_ptr. Les pointeurs intelligents éliminent les appels manuels à delete et préviennent les erreurs de possession.
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 de cinq régit la conception correcte des classes possédant des ressources.
Leçon 5 • Débogage et profilage mémoire
Présente des outils pour détecter les fuites, les accès invalides et la corruption du tas. Les compétences en profilage sont essentielles pour maintenir du code C++ de qualité production.
Chapitre 8MasquerCacher les détailsVoir les détailsE/S fichiers, concurrence et programmation système
E/S 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 fondamentaux de la concurrence permettent la conception de programmes parallèles dans ce chapitre.
Leçon 2 • Interfaces de processus et système
Présente la création de processus, les variables d'environnement et les appels système. Fournit le contexte de niveau OS nécessaire à l'écriture de programmes C de niveau système.
Leçon 3 • Notions de base des réseaux et des sockets
Présente l'API socket BSD pour la communication TCP/UDP en C/C++. Les compétences en réseautage é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écurisée est obligatoire pour des programmes concurrents corrects.
Leçon 5 • E/S 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 fichiers sont nécessaires pour la persistance des données dans tous les projets de synthèse.
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 habituellement.
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 du micrologiciel pour des projets matériels.
Personnes en transition de carrière : visant des rôles en systèmes ou embarqué qui exigent une maîtrise de la programmation bas niveau.
Développeurs de jeux : voulant optimiser du code critique pour la performance écrit en C ou C++.
Programmeurs autodidactes : construisant la base rigoureuse que des langages structurés comme le C exigent.
Ce que nos apprenants disent
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 à changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...

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.

J'aime le contenu et la façon dont il est présenté ainsi que la transcription des vidéos, ce qui accélère le processus !

La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.

Formations principales
FAQ
Qui est Dedika?
Le certificat est-il valable au Canada ?
Les cours sont-ils gratuits?
Quelle est la charge de travail des 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 fonctionne?
Cours PDF




















