|
La programmation C en E3 Info DA&D à l'ESIEE
|
|
Accueil |
Compétences |
Objectifs |
Règles du jeu |
Liste des projets |
Portefolio C |
Ressources
Des compétences à développer, des notions à travailler, des objectifs à atteindre...
L'objectif des deux matières prog C1 et prog C2 est de maîtriser tous
les aspects du langage C. Ce langage impératif est simple et ne
comporte que très peu de constructions évoluées. Attention, même s'il
est simple, comme il est très permissif et peu rigide dans sa
structuration, écrire du code de qualité n'est pas si facile. Le
programme de l'année est ici subdivisé en 14 notions. Vous aurez à
travailler l'intégralité de ce programme. Vous devrez choisir vos
activités à TP de manière à tout ventiler.
- I/O : gérer les entrées/sorties en C
Récupérer des données entrées au clavier
Exploiter les flux stdin, stdout et stderr
Lire et écrire des données de manière structurée et efficace
- Types : utiliser correctement les types de base
Maîtriser les types classiques entiers et flottant du langage C
Connaître les limites des types de bases et les moyens de contournement des potentiels problèmes
- Programme : notion de programme
Concevoir des programmes : fonction main et ses arguments
Savoir Gérer les options, articulation avec la console Unix
- Modules : établir des architectures de sources modularisées
Organiser son code en modules flexibles et réutilisables
Gérer la visibilité (sources et entêtes) de manière subtile
- Compilation : savoir compiler correctement les programmes
Savoir compiler des sources
Établir des makefiles gérant correctement les dépendances
- Récursivité : utiliser la récursivité en C
Mettre en place des démarches récursives pour résoudre des problèmes algorithmiques
- Tableaux : maîtriser la notion de tableau en C
Déclarer et Utiliser correctement des tableaux en C
Comprendre la mémoire contigüe et faire de l'arithmétique sur les pointeurs
- Pointeurs : utiliser adresses et valeurs pointées des variables
Exploiter efficacement l'organisation de la mémoire
Comprendre et utiliser judicieusement les niveaux d'indirection
- Structures : struct enum et union
Concevoir et mettre en place les structures de données adaptées pour résoudre les problèmes
- Allocation : allocation dynamique de mémoire en C
Gérer efficacement la mémoire obtenue dynamiquement
- Fichier : gérer les fichiers et leur contenu en C
Concevoir des programmes qui interagissent avec des fichiers en entrée comme en sortie
- Bit à bit : opérateurs et données binaire en C
Exploiter des données binaire bit par bit avec les opérateurs dédiés du langage C
- Pointeur de fonctions : manipuler les fonctions comme les autres variables
Programmer des fonctions d'ordre supérieur
Factoriser des fonctionnalités de programmation en utilisant des pointeurs de fonction
- Bibliothèques : bibliothèques et packaging en C
Utiliser des tierces bibliothèques
Concevoir des mini-bibliothèques
Créer un package Debian
---------------
---------------