Formation - Programmation en C
Skills Campus
Tranning & certification centerDescription
Ce stage intensif vous permettra d'acquérir une connaissance réellement opérationnelle du langage. Il vous expliquera le fonctionnement des différents mécanismes et vous montrera leur mise en oeuvre grâce à de nombreux exercices pratiques. A l'issue de ce stage, vous serez en mesure d'écrire des programmes C robustes et portables.
À qui s'adresse cette formation ?
Pour qui ?Développeurs, ingénieurs, chefs de projets proches du développement.
PrérequisLes objectifs de la formation
Maîtriser la chaîne de production d'un programme écrit en langage C
Mettre en oeuvre les opérateurs, les expressions et les structures de contrôle du langage C
Manipuler des structures de données, des tableaux, des pointeurs et des chaînes de caractères
Organiser le code d'un programme à l'aide de fonctions.
Exploiter les principales bibliothèques standard du langage C
Programme de la 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 comparaison : <, >, ==, !=.
- Opérateurs logiques : ET, OU, négation.
- Les 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 : ET, OU, OU exclusif, complément à 1, négation.
- Opérateurs de décalage : >>, <<.
- Expression conditionnelle avec l'opérateur ternaire.
- Travaux pratiques Mise en oeuvre des opérateurs et expressions.
- 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.
- Travaux pratiques Mise en oeuvre des structures de contrôle.
- 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.
- Travaux pratiques Manipulation de tableaux, de pointeurs et des chaînes de caractères.
- 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.
- Travaux pratiques Implémentation de nouvelles structures de données.
- 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 ".
- Travaux pratiques Découper son code à l'aide de fonctions.
- Gérer les appels de fonctions.
- Compilation séparée, classe d'allocation
- 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.
- Le préprocesseur
- Utilisation des macros prédéfinies (constantes symboliques).
- Définir ses propres macros avec #define.
- Définir des macros comme des fonctions.
- Utilisation des marqueurs # et ##.
- Annuler la définition de constante avec #undef.
- La compilation conditionnelle : #if, #ifdef, #ifndef, #elif, #endif.
- Inclure des ressources avec #include.
- Travaux pratiques Utilisation des directives du préprocesseur.
- Mise en place de la compilation conditionnelle.
- 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, .
- ).
- Travaux pratiques Utilisation des principales fonctions des bibliothèques standard.