Cette formation vous permet d’acquérir toutes les connaissances nécessaires à la programmation C. Chaque concept et spécificité du C sont expliqués et mis en pratique à travers une série d’application.

  • Tarif sur demande.
  • Prochaine session : à la demande.
  • Formation accessible aux personnes en situation de handicap.
  • 70% de pratique et 30% de théorie en moyenne.
  • Nombreuses activités pratiques pour une évaluation constante.
  • Supports, exercices et corrections à disposition en ligne pendant et après la formation.
  • Délai d'accès minimum : 1 semaine.
  • Formation 100% distanciel (téléprésence).
  • Evaluation par le formateur à travers les activités pratiques.
  • Public Développeurs, Chefs de projets, Consultants
  • Prérequis Algorithmie

Lors de cette formation, les participants suivent 5 jours de formation.

  • Premiers pas en C
      Présentation du langage C, ses atouts.Le C++ par rapport au C. Normes C++11 et C11.Les fichiers sources (.c, .h).Structure générale d'un programme.La syntaxe de base du langage.Les types de données et les constantes de base.Variables globales et locales.Stockage et passage de paramètres.Entrées/sorties formatées.Les commentaires.Utilisation élémentaire de la chaîne de production.Les environnements d'édition, de compilation et d'exécution.Exécution d'un premier programme.
  • Opérateurs et expressions
      Opérateurs arithmétiques.Mécanismes d'évaluation des expressions.Post et pré-incrémentation de décrémentation.Précédence et associativité des opérateurs.Opérateurs d'affectation.Mécanismes de fonctionnement des expressions logiques.Expressions logiques dans les instructions while, if…Opérateurs de comparaisonOpérateurs logiquesLes types numériques composés.Règle de conversion dans les expressions mixtes. Conversions implicites/explicites.Initialisation des variables.Arithmétique sur les adresses.Formats d'entrée/sortie associés aux types numériques.Opérateurs bit à bit Opérateurs de décalageExpression conditionnelle avec l'opérateur ternaire.
  • Structures de contrôle
      Notion de blocs.Les structures de boucles : while, for.Instructions de contrôle de boucles : break, continue.Structures de choix : if, else, else if.Structure de choix multiple : switch.
  • Tableaux, pointeurs et chaînes de caractères
      Définition, initialisation et accès aux éléments d'un tableau.Définition d'un pointeur. Récupérer l'adresse mémoire d'un objet.Accéder au contenu d'un pointeur.Equivalences pointeurs/tableaux.Calculs sur les pointeurs.Chaînes de caractères.Exemples de manipulation de chaînes de caractères.Les chaînes de caractères Unicode de C11.
  • Les structures
      Intérêts des structures.Déclarer, initialiser et accéder aux champs d'une structure.Utiliser des structures imbriquées.Créer de nouveaux types en utilisant Typedef.Les champs de bits.Les unions.Les énumérations.Les structures et énumérations anonymes de C11.Définir des pointeurs sur structures.
  • Les fonctions
      Définition d'une fonction.Appel d'une fonction.Passage de paramètres : par valeur ou par référence.Code retour d'une fonction. Les types de retour.La fonction " main ".
  • Compilation
      Mécanisme de fonctionnement de la chaîne de production.Utilisation de bibliothèque de sources.Notion de Makefile.Configuration mémoire d'un programme C (pile, tas...).Classes d'allocation des variables (auto, register, static, extern).Différents cas de figure de la compilation séparée.Notion d'objet externe.Cas des données globales et statiques.Cas des données locales.Règle de visibilité.Compléments sur les fonctions et les initialisations.
  • Les bibliothèques standard
      Les fonctions de calcul mathématique (sqrt, sin...).Les fonctions d'entrées/sorties (fprintf, fscanf...).Les fonctions d'accès aux fichiers (fread, fwrite...).Les fonctions de manipulation de chaînes de caractères (strlen, strcat...).Les fonctions de gestion de la mémoire (malloc, free...).Mise en place de structures chaînées (listes chaînées, arbres n-aire...).Les fonctions « sécurisées » de la librairie standard C11 (strcat_s, strlen_s, ...).