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 œuvre grâce à de nombreux exercices pratiques. A l’issue de ce stage, vous serez en mesure d’écrire des programmes C robustes et portables.
PROGRAMME PEDAGOGIQUE
OBJECTIFS
PUBLIC CONCERNE
HORAIRES
TARIFS
PROGRAMME PEDAGOGIQUE
PROGRAMME 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 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, …)
OBJECTIFS
Objectifs pédagogiques
- Maîtriser la chaîne de production d’un programme écrit en langage C
- Mettre en œuvre 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
PUBLIC CONCERNE
Participants
- Développeurs, ingénieurs, chefs de projets proches du développement
Prérequis
- Connaissances de base en programmation
HORAIRES
Les cours ont lieu de 9h à 12h30 et de 14h à 17h30
Les participants sont accueillis à partir de 8h45
TARIFS
Durée : 5 jours
Réf : FPEC
Prix 2020 : 2250 € H.T.
Pauses et déjeuners offerts
Cette formation vous intéresse
Notre équipe est à votre écoute pour étudier vos besoins en formation et vous proposer les meilleures solutions.
Contactez-nous pour fixer un rendez-vous ou décrivez-nous votre projet. Nous prendrons contact avec vous rapidement.