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

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.

Dedika pour entreprises

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.

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 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 2Voir les détails

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 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 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 4Voir les détails

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 5Voir les détails

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 6Voir les détails

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 7Voir les détails

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 8Voir les détails

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.

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 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...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Numérique
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 il est présenté ainsi que la transcription des vidéos, 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 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