Développement C/C++ Perl et Python

Programmation en C

Objectifs de la formation

  • 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


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

Please login to get access to the quiz
Python, programmation Objet (Prev Lesson)
Back to Développement C/C++ Perl et Python
Public

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

Pré-requis

Connaissances de base en programmation.