Ongoing training

Training unit

Training :
Langage C
Reference : LC
Duration :
5 jours
Level :
Beginner
Location :
Paris ou sur site
Price : 2190 € HT

Download the training sheet

Langage C

Ils ont apprécié leur formation !

Consultez nos enquêtes de satisfaction

Discover also...

Langage C++

See

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

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.

Prérequis

Connaissances de base en programmation.

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

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, ...)

Download our training calendar

Find out about the 2020 training course schedule!

A customized project ?

Commercial Formation

Contact your Styrel training advisor 

Our certifications

About disability

icone handicap styrel

Do you have a disability?
Each situation being specific, do not hesitate to contact us so that you can benefit from our training.