Le C en 20 heures par Eric Berthomier Daniel Schang Date de publication : octob

Le C en 20 heures par Eric Berthomier Daniel Schang Date de publication : octobre 2010 L'ouvrage que vous tenez dans les mains ou que vous consultez sur votre écran a pour objectif de vous faire découvrir, par la pratique, la programmation en langage C. Il a été testé par de nombreux étudiants qui n'avaient aucune connaissance préalable de ce langage. En 20 à 30 heures de travail, ils sont tous parvenus au terme de leur apprentissage. Si vous ne connaissez encore rien à la programmation et que vous désirez apprendre, vous serez donc probablement très intéressé(e) par le contenu de cet ouvrage : il est très facile d'accès et destiné aux grands débutants. Il existe une multitude de façons de programmer un ordinateur, qui dépendent du matériel dont vous disposez, du système d'exploitation que vous utilisez et du langage de programmation que vous choisirez. Nous avons fait le choix d'un système d'exploitation libre : Gnu/Linux et du langage C, très répandu, largement enseigné, et finalement assez simple dans ses constructions. Néanmoins, même si vous n'utilisez pas Gnu/Linux, vous pouvez sans risque vous lancer dans la lecture de cet ouvrage. Plus de quatre-vingt-quinze pour cent de ce vous y trouverez est utilisable sans modification avec d'autres systèmes d'exploitation. (1) Ce livre n'est pas un ouvrage de référence, que vous garderez sur une étagère pour vous y reporter en cas de doute ou d'oubli. Il a été écrit pour être lu d'un bout à l'autre, dans l'ordre : il vous guidera dans votre apprentissage et vous suggèrera de programmer telle chose, de tester telle autre. En ce sens, il est orienté vers la pratique de la programmation et l'enseigne sans doute à la manière dont les auteurs l'ont apprise : devant un ordinateur, à essayer de programmer quelque chose. Vous ne pourrez donc pas profiter pleinement de cet ouvrage sans essayer de faire les nombreux exercices qu'il contient. Et lorsque vous aurez fait ces exercices, vous pourrez comparer vos solutions avec celles indiquées à la fin de chaque chapitre : vous apprendrez en écrivant du code, et en lisant du code. Vous pourrez aussi travailler à votre vitesse. Vous irez peut être vite au début et vous trouverez tout ceci très facile. Il sera néanmoins nécessaire de prendre le temps de ne pas aller trop vite : c'est pourquoi nous vous encourageons à ne pas nécessairement faire des copier/ coller du code, mais à le saisir à nouveau, afin de l'assimiler, et aussi de commettre des erreurs que vous devrez ensuite corriger. Les premières briques de cet ouvrage ont pour origine un cours de Turbo Pascal (2) qu'Éric Berthomier dispensait au sein de l'association Fac Info à l'Université de Poitiers. La seconde rangée de briques fut posée avec l'association Les Mulots à Chasseneuil du Poitou où Eric donna des cours bénévoles de C sous Turbo C 2.0 et MS/DOS. Grâce à cette association, Éric rencontra le GULP (Groupement des Utilisateurs de Linux de Poitiers) qui lui fit découvrir Gnu/Linux : la troisième rangée de briques pouvait commencer. Accompagné par d'autres membres du Gulp, Éric donna des cours de C au sein de cette association à l'Espace Mendès France de Poitiers. Le contenu de l'ouvrage alors disponible sous forme de fichiers Postscript a stagné quelques années avant d'être récupéré et adapté par Daniel Schang, qui l'a utilisé et enrichi d'une quatrième rangée de briques dans un cadre plus académique à l'ESEO d'Angers. Il ne nous sera pas possible de dire combien de versions de ce cours ont existé mais là n'est pas le plus important, ce qui compte c'est que vous ayez maintenant ce livre entre les mains et ceci grâce à l'association FramaSoft. Note de Developpez : cette page présente le livre publié par Framasoft et adapté à la charte graphique de Developpez. Aucune modification du contenu n'a été apportée Commander le livre Le C en 20 heures par Eric Berthomier Daniel Schang - 3 - Ce livre est publié sous licence Creative Commons by-sa. «Framasoft » /livres/le-c-20-heures/ I - Premiers pas...........................................................................................................................................................7 I-A - Système d'exploitation et C........................................................................................................................... 7 I-B - Utiliser un éditeur sous Gnu/Linux................................................................................................................ 7 I-C - Exemple de programme................................................................................................................................ 8 I-D - Normalisation du programme........................................................................................................................ 9 I-E - Petit mot sur ce qu'est une bibliothèque..................................................................................................... 10 I-F - Un exemple de fichier en-tête......................................................................................................................10 I-G - Compléments...............................................................................................................................................11 I-H - Squelette de programme............................................................................................................................. 11 I-I - Blocs.............................................................................................................................................................. 11 I-J - Commentaires...............................................................................................................................................12 I-K - Exercice d'application...................................................................................................................................12 I-L - Corrigé de l'exercice du chapitre................................................................................................................. 12 I-M - À retenir.......................................................................................................................................................12 II - Variables (1re partie)............................................................................................................................................13 II-A - Objectif........................................................................................................................................................ 13 II-B - Affichage: la fonction printf......................................................................................................................... 13 II-C - Notion de variable.......................................................................................................................................13 II-D - Déclaration d'une variable.......................................................................................................................... 13 II-E - Application : exemples................................................................................................................................ 14 II-F - Utilisation de % dans printf.........................................................................................................................15 II-G - Exercices.....................................................................................................................................................15 II-H - Réutilisation d'une variable.........................................................................................................................16 II-I - Caractères spéciaux.....................................................................................................................................16 II-J - Corrigés des exercices du chapitre.............................................................................................................17 II-K - À retenir.......................................................................................................................................................18 III - Variables (2e partie)............................................................................................................................................18 III-A - Objectif....................................................................................................................................................... 18 III-B - Exercice de mise en bouche..................................................................................................................... 19 III-C - Déclaration des variables.......................................................................................................................... 19 III-D - Saisie des variables...................................................................................................................................19 III-E - Les types flottants......................................................................................................................................21 III-F - D'autres fonctions utiles............................................................................................................................. 22 III-G - Corrigés des exercices du chapitre...........................................................................................................22 III-H - À retenir..................................................................................................................................................... 24 IV - Conditions........................................................................................................................................................... 24 IV-A - Objectif.......................................................................................................................................................24 IV-B - Exercice de mise en bouche.....................................................................................................................24 IV-C - Condition : Si Alors Sinon......................................................................................................................... 25 IV-D - Opérateurs de comparaison......................................................................................................................25 IV-E - Opérateurs logiques.................................................................................................................................. 26 IV-F - Vrai ou faux................................................................................................................................................26 IV-G - Combinaison..............................................................................................................................................27 IV-H - Accolades.................................................................................................................................................. 28 IV-I - Exercices.....................................................................................................................................................28 IV-J - Corrections des exercices du chapitre.......................................................................................................29 IV-K - À retenir..................................................................................................................................................... 30 V - Mise au point.......................................................................................................................................................30 V-A - Objectif........................................................................................................................................................30 V-B - Plus petit ou plus grand............................................................................................................................. 30 V-C - Retour sur getchar()................................................................................................................................... 31 V-D - Boucle : Faire . Tant que (condition).......................................................................................................... 31 V-E - Nombres pseudo-aléatoires........................................................................................................................33 V-F - Corrigés des exercices du chapitre............................................................................................................34 VI - Et les Shadoks pompaient : je pompe donc je suis...........................................................................................35 VI-A - Objectifs..................................................................................................................................................... 35 VI-B - Boucle While..............................................................................................................................................35 VI-C - Et les Shadoks apprenaient que reprendre équivaut à apprendre........................................................... 36 Le C en 20 heures par Eric Berthomier Daniel Schang - 4 - Ce livre est publié sous licence Creative Commons by-sa. «Framasoft » /livres/le-c-20-heures/ VI-D - Fonction toupper()..................................................................................................................................... 36 VI-E - Ô tant qu'en emporte le Shadok............................................................................................................... 37 VI-F - Et les Shadoks continuaient à pomper pour obtenir le résultat.................................................................37 VI-G - Dans le clan des Shadoks, on trie, voyelles, chiffres premiers................................................................ 38 VI-H - Incrémentations, pré-incrémentations....................................................................................................... 38 VI-I - Corrigés des exercices du chapitre............................................................................................................ 39 VI-J - À retenir......................................................................................................................................................42 VII - Boucles.............................................................................................................................................................. 42 VII-A - Et les Shadoks pédalèrent pendant 15 tours...........................................................................................42 VII-B - Syntaxe..................................................................................................................................................... 43 VII-C - Notion de double boucle.......................................................................................................................... 43 VII-D - Et les Shadoks fêtèrent Noël................................................................................................................... 44 VII-D-1 - Affichage des ramures du sapin......................................................................................................44 VII-D-2 - Affichage du tronc............................................................................................................................45 VII-E - Table Ascii.................................................................................................................................................45 VII-F - Corrigés des exercices du chapitre..........................................................................................................46 VII-G - À retenir....................................................................................................................................................47 VIII - Chapitre 8 : Pointeurs et fonctions...................................................................................................................48 VIII-A - Objectifs................................................................................................................................................... 48 VIII-B - Binaire, octets.......................................................................................................................................... 48 VIII-B-1 - Binaire............................................................................................................................................. 48 VIII-B-2 - Compter en base 2, 3, 10 ou 16.................................................................................................... 49 VIII-C - Variables : pointeurs et valeurs............................................................................................................... 49 VIII-C-1 - Variables et mémoire...................................................................................................................... 49 VIII-C-2 - Pointeurs......................................................................................................................................... 50 VIII-C-3 - Exercice d'application..................................................................................................................... 52 VIII-D - Fonctions................................................................................................................................................. 53 VIII-D-1 - Type void.........................................................................................................................................54 VIII-D-2 - Variables globales et locales.......................................................................................................... 55 VIII-D-2-1 - Variables locales.....................................................................................................................55 VIII-D-2-2 - Variables globales.................................................................................................................. 55 VIII-D-3 - Utilisation et modification de données dans les fonctions..............................................................56 VIII-D-4 - Prototypes des fonctions................................................................................................................ 58 VIII-E - Corrigés des exercices du chapitre.........................................................................................................59 VIII-F - À retenir................................................................................................................................................... 60 VIII-F-1 - Les différentes bases de numération..............................................................................................60 VIII-F-2 - Pointeur........................................................................................................................................... 61 VIII-F-3 - Structure d'un programme C...........................................................................................................61 IX - Chapitre 9 : Tableaux et chaînes de caractères................................................................................................ 61 IX-A - Objectifs..................................................................................................................................................... 61 IX-B - Tableaux.....................................................................................................................................................62 IX-B-1 - Définition............................................................................................................................................62 IX-B-2 - Déclaration........................................................................................................................................ 62 IX-B-3 - Utilisation...........................................................................................................................................62 IX-C - Chaînes de caractères.............................................................................................................................. 63 IX-C-1 - Déclaration d'une chaîne de caractères...........................................................................................63 IX-C-2 - Affichage d'une chaîne de caractères.............................................................................................. 63 IX-C-3 - Longueur d'une chaîne de caractères..............................................................................................63 IX-C-4 - Initialisation d'une chaîne de caractères.......................................................................................... 64 IX-C-5 - Exercices...........................................................................................................................................65 IX-C-6 - La fonction gets : saisie d'une chaîne de caractères....................................................................... 66 IX-C-7 - Passage d'une chaîne de caractères en paramètres.......................................................................67 IX-D - Quelques fonctions utiles.......................................................................................................................... 67 IX-D-1 - La fonction strcat.............................................................................................................................. 67 IX-D-2 - La fonction strncat............................................................................................................................ 68 IX-D-3 - La fonction strcmp............................................................................................................................ 68 IX-D-4 - Les fonctions sprintf et sscanf..........................................................................................................69 IX-E - Tableaux à 2 dimensions...........................................................................................................................69 Le C en 20 heures par Eric Berthomier Daniel Schang - 5 - Ce livre est publié sous licence Creative Commons by-sa. «Framasoft » /livres/le-c-20-heures/ IX-F - Correction des exercices........................................................................................................................... 71 IX-G - À retenir.....................................................................................................................................................71 X - Structures et fichiers............................................................................................................................................72 X-A - Les types synonymes.................................................................................................................................72 X-B - Structures....................................................................................................................................................72 X-C - Bases sur les fichiers.................................................................................................................................74 X-D - Fichiers et structures..................................................................................................................................76 XI - Débogage dun programme.................................................................................................................................77 XI-A - Objectif.......................................................................................................................................................77 XI-B - Deux types d'erreurs................................................................................................................................. 77 XI-B-1 - Erreur à la compilation......................................................................................................................77 XI-B-2 - Erreur d'exécution............................................................................................................................. 77 XI-C - Un phénomène surprenant........................................................................................................................78 XI-D - La chasse aux bugs..................................................................................................................................78 XI-D-1 - Localiser et produire le bug..............................................................................................................78 XI-D-2 - Corriger le bug..................................................................................................................................79 XI-E - Bonne chasse............................................................................................................................................79 XI-F - Erreurs d'exécution : uploads/Litterature/ le-c-en-20-heures.pdf

  • 37
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager