Formation Programmation en C


Formation Programmation en C

Catalogue : Développement logiciel



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 œuvre 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 œuvre 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.

 

Fiche de la formation



 Cible :

Développeurs, ingénieurs, chefs de projets proches du développement.


 Prérequis :

Connaissances de base en programmation.


 Durée : 5 jours

 Type : Stage pratique


 Contactez-nous