Langage C pour la programmation système (CPS) - KAIN5M13

  • Volumes horaires

    • CM 9.0
    • Projet -
    • TD -
    • Stage -
    • TP 10.5
    • DS 3.0

    Crédits ECTS

    Crédits ECTS 0.35

Objectif(s)

Maîtrise du langage C, en particulier pour la programmation "bas niveau" (proche du système et du matériel).

Contenu(s)

  • Rappels sur les notions de base.
  • Types du C (arithmétiques, caractères, chaînes de caractères) et leur codage.
  • Tableaux et pointeurs (manipulation, gestion de la mémoire, passage en paramètre, arithmétique sur les adresses,...).
  • Approfondissement sur les chaînes de caractères.
  • Programmation modulaire, compilation séparée, Makefile; création de bibliothèques.
  • Opérateurs bit à bit.
  • Structures et listes chaînées (création, destruction, manipulation).

Prérequis

Niveau débutant en C (syntaxe de base, instructions conditionnelles et itératives, entrées/sorties conversationnelles, fonctions, tableaux).

Contrôle des connaissances

30% contrôle continu
70% examen terminal :

  • en présentiel
  • épreuve écrite sur feuille
  • 1h30
  • en cas de tiers-temps : 1/3 temps supplémentaire
  • documents autorisés : une feuille A4 recto-verso manuscrite
  • appareils électroniques non autorisés
    En cas de non validation d’une UE, le jury peut autoriser l’élève ingénieur à passer des épreuves complémentaires pour la valider.

Calendrier

Le cours est programmé dans ces filières :

  • Formations d'ingénieur - INFO - Semestre 5

Informations complémentaires

Code de l'enseignement : KAIN5M13
Langue(s) d'enseignement : FR

Vous pouvez retrouver ce cours dans la liste de tous les cours.

Bibliographie

1. "Programmer en langage C", Claude Delannoy, Eyrolles.
2. "C: langage, bibliothèque, applications", Henri Garreta, InterEditions.
3. "Le langage C - Norme ANSI", B.Kernighan et D.Ritchie, Dunod.
4. "Managing projects with GNU Make", Robert Mecklenburg, O'Reilly.