|
Plan détaillé
Concepts du langage C
Présentation
Premières versions du langage C, évolutions, standards et normes
Avantages et inconvénients
Efficacité et performance, proximité du matériel et du processeur, portabilité, laxisme du langage, exemples de bogues courants et des conséquences désastreuses.
Utilisations typiques
Systèmes industriels et embarqués, serveurs et réseaux, télécommunication, gestion de données.
Outils de développement
Environnements
Présentation des environnements de développement ATMEL (Starter Kit STK 500) et PIC (PICDEM 2 PLUS). Présentation du compilateur C.
Compilation
Création d'un projet et compilation d'un premier programme, exécution et résultat. Rôle de la bibliothèque C.
Débogage
Principes de débogage, ICE et traces, tests.
Structures des programmes
Aspect et vocabulaire du C
Présentation de code, indentation, caractères spéciaux, mots-clés, définition et déclaration de fonctions, fichier d'entête, fonctions de bibliothèque.
Fonctions
Écriture des fonctions, différences entre déclaration et définition, paramètres.
Variables
Types des variables, déclaration et utilisation, expression et constantes.
Les variables du C
Portée et persistance
Stockage des variables en pile, variables globales et variables locales, variables automatiques et statiques.
Les types scalaires
Format et représentation interne, utilisation.
Les tableaux
Tableaux d'entiers, déclaration, initialisation et utilisation.
Les fonctions
Passage d'arguments
Utilisation de la pile, types des paramètres, modification des paramètres formels, passage par valeur, réservation de l'espace dans la pile.
Types de retour
Utilisation des valeurs de retour des fonctions. Limitation à une valeur.
Passage d'argument par référence
Nécessité de passer un pointeur dans la pile, modification des paramètres d'appel.
Les pointeurs
Déclarations des pointeurs
Exemple de déclaration des types, affichage des valeurs des pointeurs et des contenus pointés. Risques liés à l'utilisation des pointeurs.
Arithmétique des pointeurs
Concepts, vérification des pas d'incrémentation en fonction des types de données.
Structures de contrôle
Structures de test
Structure if / else. Imbrications et indentation. Expression testée. Confusion entre égalité et affectation.
Structure de sélection
Construction switch / case. Utilisation du break.
Itération conditionnelle
Boucles while et until. Boucle infinie. Rupture de séquence.
Enumération
Boucle for. Syntaxe usuelle et variantes. Rupture de séquence.
Expressions du C
Opérateurs arithmétique
Opérateurs classiques, notations condensées, pré- ou post- incrémentation et décrémentation.
Opérateurs logiques
Valeurs de vérité, composition d'expressions booléennes
Opérateurs binaires
ET, OU, OU exclusif, négation, décalage, masques
Conclusion
Discussions et expérimentations libres sur l'ensemble des thèmes abordés.
|