+33 1 69 88 85 29
Formation :
Langage C
Référence : LC
Durée :
3 jours
Niveau :
Débutant
Lieu :
à distance, Paris ou sur site
Tarif : 2190 € HT
Langage C
Description
Ce stage intensif permet d'acquérir une connaissance réellement opérationnelle du langage. Il explique le fonctionnement des différents mécanismes et montre leur mise en œuvre grâce à de nombreux exercices pratiques. A l'issue de ce stage, il est possible d’être en mesure d'écrire des programmes C robustes et portables.
Public concerné
Les ingénieurs et les informaticiens qui souhaitent acquérir une formation complète et opérationnelle sur le langage C.
Objectifs de la formation
- Ecrire de façon structurée des programmes en C
- Utiliser les fonctions de la bibliothèque standard du C
- Déclarer et appeler des fonctions
- Comprendre l'intérêt des pointeurs.
Prérequis
Connaissances de base en programmation.
Programme de la formation
Premiers pas en C
- Présentation du langage C, ses atouts
- 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
- 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
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 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
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, ...)