• Aide
  • Eurêkoi Eurêkoi

Livre

Le langage C : apprendre à programmer : avec plus de 250 exemples et exercices corrigés

Résumé

Une initiation au langage C avec de nombreux exemples et exercices de difficulté croissante. Avec des informations complémentaires à télécharger sur le site de l'auteur.


  • Éditeur(s)
  • Date
    • 2024
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (500 p.) : ill. en coul. ; 24 cm
  • Collections
  • ISBN
    • 978-2-340-08556-5
  • Indice
  • Quatrième de couverture
    • Le langage C

      Apprendre à programmer

      Le langage C est le meilleur support d'apprentissage de la programmation, par la rigueur d'écriture qu'il exige et la paternité qui lui revient sur de nombreux autres langages.

      Cet ouvrage permet au lecteur d'évoluer d'un niveau d'initiation au C vers un niveau de programmation de plus en plus complexe.

      Les exemples et exercices sont à la fois concrets, de difficulté croissante et suivis : les premiers programmes constituent ainsi une collection d'éléments de programmation qui sont repris par la suite dans les programmes plus complexes.

      Le site jeanmichel.lery.free.fr propose au téléchargement tous les codes sources des programmes ainsi que des chapitres supplémentaires.

      Ce livre s'adresse aux étudiants des filières informatiques et scientifiques de premier et deuxième cycle. Il convient également parfaitement comme support d'autoformation à la programmation en C.


  • Tables des matières
      • Le langage C

      • Apprendre à programmer

      • Jean-Michel Léry

      • Ellipses

      • Introduction1
      • Les concepts fondamentaux7
      • 1. L'environnement de programmation 7
      • 1.1. Le langage binaire et les logiciels7
      • 1.2. L'évolution des langages8
      • 1.3. Les étapes du développement9
      • 1.4. Les recommandations19
      • 2. Les outils de développement 20
      • 2.1. Sous Windows20
      • 2.2. Sous Linux22
      • 2.3. Sous MacOS26
      • 3. La structure et les éléments du langage 28
      • 3.1. Structure d'un programme C28
      • 3.2. Notions sur les variables30
      • 3.3. Notions sur les constantes36
      • 3.4. Notions sur les instructions37
      • 3.5. Les commentaires39
      • 3.6. Les éléments du langage39
      • 3.7. Les directives de compilation41
      • Résumé43
      • Questions de révisions44
      • Exercices45
      • Solutions45
      • Les types simples47
      • 1. L'affichage et la saisie des variables 47
      • 1.1. La procédure d'affichage printf()47
      • 1.2. La procédure de saisie scanf()50
      • 1.3. Les codages des types de données52
      • 2. Le type entier 52
      • 2.1. Définition52
      • 2.2. Les différents types entiers52
      • 2.3. Représentation binaire d'un entier54
      • 2.4. Incidences sur la programmation56
      • 2.5. Déclaration des variables entières57
      • 2.6. Format de saisie et d'affichage58
      • 2.7. Syntaxe des constantes entières61
      • 2.8. Les opérateurs62
      • 2.9. Exemple64
      • 2.10. Les fonctions sur les entiers65
      • 3. Le type réel 66
      • 3.1. Définition66
      • 3.2. Les différents types réels66
      • 3.3. Représentation binaire d'un réel66
      • 3.4. Incidences sur la programmation68
      • 3.5. Déclaration des variables réelles68
      • 3.6. Format de saisie et d'affichage68
      • 3.7. Syntaxe des constantes réelles69
      • 3.8. Les opérateurs69
      • 3.9. Les fonctions sur les réels70
      • 3.10. Exemples71
      • 4. Le type caractère 73
      • 4.1. Définition73
      • 4.2. Les différents types caractères73
      • 4.3. Forme binaire d'un caractère73
      • 4.4. Les tables de codage des caractères74
      • 4.5. Incidences du codage sur la programmation80
      • 4.6. Déclaration des variables caractères81
      • 4.7. Format de saisie et d'affichage81
      • 4.8. Syntaxe des constantes caractères81
      • 4.9. Les opérateurs82
      • 4.10. Exemple83
      • 4.11. Les fonctions sur les caractères83
      • 4.12. Le caractère de validation de saisie85
      • 4.13. Fonctions annexes d'Entrée/Sortie88
      • 4.14. Incidence des signed et unsigned char88
      • 5. Le type booléen 89
      • 5.1. Définition89
      • 5.2. Les types booléens89
      • 5.3. Le type entier comme support89
      • 5.4. Les opérateurs de comparaison90
      • 5.5. Les opérateurs booléens et leur table de vérité90
      • 5.6. Les traitements logiques91
      • 5.7. Les traitements binaires94
      • 5.8. Le type _Bool ou bool97
      • 6. Le type énumération 98
      • 6.1. Qu'est-ce que le type énumération ?98
      • 6.2. Déclaration98
      • 6.3. Exemple99
      • Résumé100
      • Questions de révisions100
      • Exercices103
      • Solutions105
      • Les instructions113
      • 1. Les instructions simples 113
      • 1.1. L'affectation113
      • 1.2. L'appel de procédure117
      • 1.3. L'Instruction goto121
      • 2. Les instructions composées 122
      • 2.1. La séquence d'instructions122
      • 2.2. Les instructions conditionnelles123
      • 2.3. Les instructions répétitives130
      • 2.4. Les instructions de contrôle146
      • Résumé147
      • Questions de révisions148
      • Exercices149
      • Solutions153
      • Les types structurés179
      • 1. Les tableaux 179
      • 1.1. Présentation179
      • 1.2. Déclaration ;180
      • 1.3. Représentation mémoire180
      • 1.4. Accès à un élément du tableau181
      • 1.5. Format de saisie et d'affichage182
      • 1.6. Types de tableaux182
      • 1.7. Traitement d'un tableau183
      • 1.8. Tableau et pointeur194
      • 2. Les chaînes de caractères 196
      • 2.1. Présentation196
      • 2.2. Le type chaîne de caractères196
      • 2.3. Représentation mémoire :196
      • 2.4. Déclaration des variables197
      • 2.5. Format de saisie et d'affichage197
      • 2.6. Les constantes198
      • 2.7. Les autres fonctions d'Entrée/Sortie198
      • 2.8. Les fonctions de manipulation de chaînes200
      • 2.9. Les méthodes de gestion de chaînes203
      • 2.10. Tableau de chaînes207
      • 3. Les structures 210
      • 3.1. Présentation210
      • 3.2. Déclaration de structures210
      • 3.3. Déclaration de type211
      • 3.4. Représentation mémoire211
      • 3.5. Format de saisie et d'affichage212
      • 3.6. Accès à un élément de la structure212
      • 3.7. Traitement d'une structure212
      • 3.8. Champs binaires214
      • 3.9. Tableau de structures216
      • 3.10. Structures imbriquées218
      • 3.11. La définition de type par typedef219
      • 4. Les unions 221
      • 4.1. Présentation221
      • 4.2. Déclaration d'une union222
      • 4.3. Représentation mémoire222
      • 4.4. Exemple222
      • 5. Les fichiers 224
      • 5.1. Rôle d'un fichier224
      • 5.2. Principe d'utilisation224
      • 5.3. Nature des fichiers225
      • 5.4. Méthodes d'accès227
      • 5.5. Déclaration d'un fichier228
      • 5.6. Relation entre une variable fichier et le fichier sur disque229
      • 5.7. Les fichiers textes230
      • 5.8. Les fichiers binaires235
      • 6. Les nombres complexes 240
      • 6.1. Présentation240
      • 6.2. Déclaration des variables complexes242
      • 6.3. Format de saisie et d'affichage243
      • 6.4. Affectation des parties réelles et imaginaire244
      • 6.5. Syntaxe des constantes244
      • 6.6. Les opérateurs arithmétiques246
      • 6.7. Les fonctions247
      • Résumé250
      • Questions de révisions250
      • Exercices253
      • Solutions258
      • La programmation structurée283
      • 1. Les procédures et les fonctions 283
      • 1.1. Présentation283
      • 1.2. Syntaxe284
      • 1.3. Création d'une procédure285
      • 1.4. Déclaration préliminaire287
      • 1.5. Contraintes syntaxiques289
      • 1.6. Passage des paramètres291
      • 1.7. Création d'une fonction295
      • 1.8. Retour d'une fonction296
      • 1.9. Paramètres évolués298
      • 1.10. Variable locale, globale, statique305
      • 1.11. Le mot-clef inline312
      • 1.12. Le mot-clef_Noreturn313
      • 1.13. Classes des variables et de fonctions314
      • 2. La récursivité 316
      • 2.1. Principe316
      • 2.2. Description316
      • 2.3. Exemple318
      • 3. La généricité 319
      • 3.1. Principe319
      • 3.2. Description320
      • 3.3. Exemples320
      • 4. La compilation séparée et les librairies 321
      • 4.1. Compilation séparée321
      • 5. Le préprocesseur C 329
      • 5.1. Qu'est-ce qu'une directive de compilation ?329
      • 5.2. Les directives de définition329
      • 5.3. La directive #include332
      • 5.4. Les directives conditionnelles332
      • 5.5. Les directives dédiées au compilateur335
      • 5.6. Les options du compilateur337
      • Résumé339
      • Questions de révisions340
      • Exercices341
      • Solutions345
      • La gestion dynamique de la mémoire387
      • 1. Les pointeurs 387
      • 1.1. Présentation387
      • 1.2. Déclaration388
      • 1.3. Format d'affichage388
      • 1.4. Utilisation d'un pointeur388
      • 1.5. Allocation dynamique de la mémoire389
      • 1.6. Les opérateurs392
      • 1.7. Gestion de blocs de mémoire393
      • 1.8. Tableau ou pointeur ?394
      • 1.9. Pointeur sur void397
      • 1.10. Pointeur de fonction397
      • 1.11. Tableau de pointeurs399
      • 1.12. Pointeur de pointeur401
      • 2. Les tableaux dynamiques 403
      • 2.1. Taille limite des tableaux statiques403
      • 2.2. Allocation dynamique d'un tableau405
      • 2.3. Allocation dynamique case par case407
      • 3. Les listes chaînées 409
      • 3.1. Tableaux ou liste chaînées ?409
      • 3.2. Principe de la liste411
      • 3.3. Gestion de la liste412
      • 3.4. L'opérateur415
      • 3.5. Exemple415
      • Résumé417
      • Questions de révisions418
      • Exercices419
      • Solutions421
      • La programmation système443
      • 1. L'interface avec le système d'exploitation 443
      • 1.1. Présentation443
      • 1.2. Arguments de la ligne de commande443
      • 1.3. Gestion des erreurs444
      • 1.4. Exécution d'une commande UNIX449
      • 1.5. Les variables d'environnement451
      • 2. La programmation des signaux 455
      • 2.1. Notions sur les signaux455
      • 2.2. Description des fonctions456
      • 2.3. Exemple458
      • 3. La programmation des processus 461
      • 3.1. Notions sur les processus461
      • 3.2. Description des fonctions461
      • 3.3. Exemple462
      • 4. La date et l'heure du système 465
      • 4.1. Représentation465
      • 4.2. La structure tm465
      • 4.3. Description des fonctions466
      • 4.4. Exemple469
      • 5. La gestion des fichiers et des répertoires 470
      • 5.1. Le système de fichiers470
      • 5.2. Description des fonctions470
      • 5.3. Exemple474
      • 6. La fonction aléatoire 478
      • 6.1. Principe478
      • 6.2. Description des fonctions478
      • 6.3. Exemple479
      • Résumé480
      • Questions de révisions480
      • Exercices481
      • Solutions481
      • Index485

  • Origine de la notice:
    • BPI
  • Indisponible : En traitement