Ce que cette nouvelle dition apporte ...... XI La programmation en C aujourdhui........ XIII La programmation systme et rseau ....... XV Le CD laisse la place Internet ............... XV Remerciements ......................................... XVI Introduction ................................................. 1 Caractristiques de ce livre ...................... 1 O trouver le code prsent dans ce livre 3 Conventions.............................................. 4 Tour dhorizon de la PartieI ........... 5 Ce que vous allez apprendre .................... 5 Chapitre 1. Comment dmarrer.............. 7 Bref historique du langageC ................... 8 Pourquoi utiliser le langageC ? ............... 8 Avant de programmer ............................... 9 Cycle de dveloppement du programme .. 9 Votre premier programmeC .................... 13 Rsum ..................................................... 16 Q & R ....................................................... 16 Atelier ...................................................... 17 Exemple pratique 1. Lecture au clavier et affichage lcran ................................... 21 Chapitre 2. Structure dun programmeC...................................... 23 Exemple de programme ........................... 24 Structure du programme .......................... 25 tude de la structure dun programme ..... 28 Rsum ..................................................... 30 Q & R ....................................................... 30 Atelier ...................................................... 31 Chapitre 3. Constantes et variables numriques .................................................. 33 La mmoire .............................................. 34 Les variables ............................................ 34 Les types de variables numriques........... 36 Les constantes .......................................... 40 Rsum ..................................................... 44 Q & R ....................................................... 44 Atelier ...................................................... 45 Chapitre 4. Instructions, expressions et oprateurs ................................................ 47 Les instructions ........................................ 48 Les expressions ........................................ 49 Les oprateurs .......................................... 50 Linstruction if.......................................... 57 valuation des expressions de comparaison ....................................... 61
2012 Pearson France Le langage C Peter Aitken, Bradley Jones
VI Le langage C Les oprateurs logiques ........................... 64 Les valeurs VRAI/FAUX ......................... 65 Rorganisation de la hirarchie des oprateurs........................................... 69 Rsum ..................................................... 70 Q & R ....................................................... 70 Atelier ...................................................... 71 Exemple pratique 2. Le nombre mystre .. 73 Chapitre 5. Les fonctions ......................... 75 Quest-ce quune fonction? ..................... 76 Fonctionnement ........................................ 77 Les fonctions et la programmation structure ................................................. 79 criture dune fonction ............................ 81 Passage darguments une fonction ........ 88 Appel dune fonction ............................... 89 Le placement des fonctions ...................... 91 Rsum ..................................................... 92 Q & R ....................................................... 92 Atelier ...................................................... 93 Chapitre 6. Les instructions de contrle . 95 Les tableaux ............................................. 96 Contrle de lexcution du programme ... 96 Les boucles imbriques ............................ 110 Rsum ..................................................... 111 Q & R ....................................................... 111 Atelier ...................................................... 111 Chapitre 7. Les principes de base des entres/sorties .............................................................. ............. 113 Afficher des informations lcran.......... 114 Lecture de donnes numriques avec scanf() .............................................. 121 Rsum ..................................................... 125 Q & R ....................................................... 125 Atelier ...................................................... 125 Rvision de la PartieI ................................. 129 Tour dhorizon de la PartieII ......... 135 Ce que vous allez apprendre .................... 135 Chapitre 8. Utilisation des tableaux numriques .................................................. 137 Dfinition ................................................. 138 Le nom et la dclaration des tableaux ...... 142 Rsum ..................................................... 149 Q & R ....................................................... 149 Atelier ...................................................... 149 Chapitre 9. Les pointeurs......................... 153 Dfinition ................................................. 154 Pointeurs et variables simples .................. 155 Pointeurs et types de variables ................. 157 Pointeurs et tableaux ................................ 158 Prcautions demploi ............................... 164 Pointeurs et index de tableaux ................ 165 Passer des tableaux une fonction .......... 165 Rsum ..................................................... 169 Q & R ....................................................... 169 Atelier ...................................................... 170 Exemple pratique 3. Une pause ................. 171
Chapitre 10. Caractres et chanes ......... 173
Le type de donne char ............................ 174 Les variables caractre ............................. 174 Les chanes ............................................... 177 Chanes et pointeurs ................................. 177 Les chanes sans tableaux ........................ 178 Affichage de chanes et de caractres ...... 182 Lecture des chanes de caractres ............ 183 Rsum ..................................................... 187 Q & R ....................................................... 187 Atelier ...................................................... 188 Chapitre 11. Les structures...................... 191 Les structures simples .............................. 192 Les structures plus complexes.................. 194 Tableaux de structures ............................. 198 Initialisation des structures ...................... 202 2012 Pearson France Le langage C Peter Aitken, Bradley Jones Table des matires VII Structures et pointeurs.............................. 204 Les unions ................................................ 211 Structures et typedef ................................ 216 Rsum ..................................................... 216 Q & R ....................................................... 216 Atelier ...................................................... 217 Chapitre 12. La porte des variables ...... 219 Dfinition de la porte .............................. 220 Les variables externes .............................. 222 Les variables locales ................................ 223 Les variables locales et la fonction main() ................................. 227 Choix de la classe de stockage ................ 227 Variables locales et blocs ......................... 228 Rsum ..................................................... 229 Q & R ....................................................... 229 Atelier ...................................................... 230 Exemple pratique 4. Les messages secrets ........................................................... 233 Chapitre 13. Les instructions de contrle (suite) ............................................................ 237 Fin de boucle prmature ......................... 238 Linstruction goto ..................................... 241 Les boucles infinies .................................. 243 Linstruction switch .................................. 246 Sortir du programme ................................ 253 Introduction de commandes systme dans un programme .................................. 253 Rsum ..................................................... 255 Q & R ....................................................... 255 Atelier ...................................................... 256 Chapitre 14. Travailler avec lcran et le clavier ................................................... 259 Les flots duC ........................................... 260 Les fonctions dentres/sorties ................. 262 Les entres au clavier .............................. 263 Les sorties cran ....................................... 277 Redirection des entres/sorties ................ 285 Quand utiliser fprintf() ............................ 287 Rsum ..................................................... 288 Q & R ....................................................... 288
Tour dhorizon de la PartieIII ....... 291 Quallez-vous voir maintenant? .............. 291 Chapitre 15. Retour sur les pointeurs ..... 293 Pointeur vers un pointeur ........................ 294 Pointeurs et tableaux plusieurs dimensions ............................. 295 Tableaux de pointeurs .............................. 301 Pointeurs vers des fonctions ..................... 308 Les listes chanes ................................... 316 Rsum ..................................................... 330 Q & R ....................................................... 330 Atelier ...................................................... 331 Chapitre 16. Utilisation de fichiers sur disque ..................................................... 333 Flots et fichiers sur disque ....................... 334 Types de fichiers sur disque ..................... 334 Noms de fichiers ...................................... 334 Ouverture dun fichier .............................. 335 criture et lecture dun fichier de donnes 338 Entres-sorties tamponnes ..................... 347 Accs squentiel oppos accs direct ... 348 Dtection de la fin d un fichier................ 353 Fonctions de gestion de fichier ................ 355 Emploi de fichiers temporaires ............... 359 Rsum ..................................................... 361 Q & R ....................................................... 361 Atelier ...................................................... 362 Exemple pratique 5... Comptage des caractres............................................... 365 Chapitre 17. Manipulation de chanes de caractres ................................................ 369 Longueur dune chane ............................ 370 Copie de chanes de caractres ................ 371 2012 Pearson France Le langage C Peter Aitken, Bradley Jones VIII Le langage C Concatnation de chanes de caractres ... 375 Comparaison de deux chanes de caractres ............................................ 378 Recherche dans une chane de caractres 381 Conversions de chanes ............................ 387 Fonctions de conversion dune chane de caractres en nombre ........................... 388 Fonctions de test de caractres ................. 392 Rsum ..................................................... 395 Q & R ....................................................... 396 Atelier ...................................................... 396 Chapitre 18. Retour sur les fonctions ..... 399 Passage de pointeurs une fonction ........ 400 Les pointeurs de type void ....................... 403 Fonctions avec un nombre variable darguments .............................................. 405 Fonctions renvoyant un pointeur ............. 408 Rsum ..................................................... 410 Q & R ....................................................... 410 Atelier ...................................................... 410 Chapitre 19. Exploration de la bibliothque des fonctions ................. 413 Les fonctions mathmatiques ................... 414 Prenons le temps... ................................... 416
Fonctions de traitement derreur .............. 422
Le fichier den-tte errno.h ...................... 423 Recherche et tri ........................................ 426 Rsum ..................................................... 432 Q & R ....................................................... 432 Atelier ...................................................... 433 Exemple pratique 6. Calcul des versements dun prt....................................................... 435 Chapitre 20. La mmoire ......................... 437 Conversions de types................................ 438 Allocation despace mmoire .................. 441 Manipulation de blocs de mmoire .......... 448 Oprations sur les bits .............................. 450 Rsum ..................................................... 455 Q & R ....................................................... 455 Atelier ...................................................... 456 Chapitre 21. Utilisation avance du compilateur ............................................ 459 Utilisation de plusieurs fichiers sources ... 460 Le prprocesseurC .................................. 464 Macros prdfinies ................................... 472 Les arguments de la lignede commande . 473 Rsum ..................................................... 475 Q & R ....................................................... 475 Atelier ...................................................... 476 Rvision de la PartieIII ..................... 479 Annexes ..................................................... 485 A. Charte des caractres ASCII ................. 487 B. Mots rservs .......................................... 493 C. Travailler avec les nombres binaires et hexadcimaux .......................................... 497 Le systme des nombres dcimaux .......... 498 Le systme binaire ................................... 498 Le systme hexadcimal .......................... 498 D. C11 ........................................................... 501 Contexte ................................................... 501 La norme C11 .......................................... 502 Les nouveauts de la norme C11 ............. 503 E. Portabilit du langage ............................ 511 Garantir la compatibilit ANSI ................ 514 Renoncer au standard ANSI ..................... 515 Les variables numriques portables ......... 515 Unions et structures portables .................. 527 Rsum ..................................................... 532 Q & R ....................................................... 532 Atelier ...................................................... 532 F. FonctionsC courantes ............................ 535 2012 Pearson France Le langage C Peter Aitken, Bradley Jones Table des matires IX G. Bibliothques de fonctions ..................... 541 Les bibliothques de fonctions................. 542 Structures de donnes .............................. 543 Interfaces utilisateur ................................. 544 Jeux et multimdia ................................... 544 Programmation rseau ............................. 545 Bases de donnes et annuaires ................. 546 H. Les logiciels libres .................................. 549 Licence et copyright ................................. 550 Quest-ce quun logiciel libre?................ 550
Diffrences entre les diverses licences ..... 551
Diffuser un logiciel libre .......................... 552 Traduction franaise de la licence GPL version 3 ................................................... 553 I. Rponses ................................................... 567 Index ............................................................. 605 2012 Pearson France Le langage C Peter Aitken, Bradley Jones