400 votes

Guide et liste définitifs des livres C

Cette question a pour but de recueillir une liste de qualité livres sur la c qui s'adresse à différents niveaux de compétence.

Le langage C est un langage de programmation complexe qu'il est difficile d'assimiler en lisant des tutoriels en ligne. Un livre complet est souvent le meilleur moyen d'apprendre le langage, et la première étape consiste à trouver un bon livre. Il est important d'éviter les livres mal écrits et, plus important encore, les livres qui contiennent de graves erreurs techniques.

Veuillez suggérer des modifications à la réponse acceptée afin d'ajouter des livres de qualité, avec un niveau de compétence approximatif et une brève description de chaque livre. ( Notez que la question est verrouillée et qu'aucune nouvelle réponse ne sera acceptée. Une seule réponse est maintenue avec la liste )

N'hésitez pas à débattre des choix de livres, de la qualité, des titres, des résumés, des niveaux de compétence et de tout ce qui vous semble erroné. Les livres jugés satisfaisants par la communauté C ici resteront sur la liste ; les autres seront régulièrement retirés.

Pour les livres ayant fait l'objet de critiques par l'Association des utilisateurs de C et C++ (ACCU), un lien vers ces critiques devrait être ajouté avec le livre.

Voir aussi


Cette question a été débattue sur <a href="https://meta.stackoverflow.com/a/378475">Méta </a>dans le cadre de la <a href="https://meta.stackoverflow.com/questions/378437/deleted-question-audit-2018">Questions supprimées Audit 2018 </a>.<br>Un consensus s'est dégagé pour qu'il ne soit pas supprimé et qu'il soit activement entretenu.

31 votes

Je ne veux pas minimiser la question, qui est bonne, mais... la plupart des gens mettent des années à maîtriser K&R. Il y a plus de choses à faire que vous ne le pensez. La finesse du livre est trompeuse.

4 votes

Si vous ne connaissez pas encore le langage C, n'oubliez pas que le langage C moderne est le langage C ANSI et que tout ce qui est antérieur à cette norme (1989) risque d'être largement dépassé. Visez le milieu des années 90 ou plus tard.

7 votes

@Dhaivat Je ne pense pas, soyez prudent de sauter sur le bandwagon de K&R. K&R ne traite pas de la bonne conception des programmes ni des bonnes pratiques de programmation, principalement parce qu'il a été écrit à l'origine avant que quiconque ne sache ce qu'étaient les bonnes pratiques de programmation. Il ne mentionne pas les parties du langage C qui sont superflues ou même dangereuses. Le livre est correctement répertorié comme un manuel de référence, il ne devrait pas être utilisé pour enseigner/apprendre la programmation moderne.

528voto

Tom Ritter Points 44352

Le Style De Référence - Tous Niveaux

Débutant

Intermédiaire

Ci-Dessus Intermédiaires

5 votes

J'étais sur le point d'ajouter un livre et je me suis rendu compte qu'il avait été supprimé parce qu'il n'était pas recommandé. Il faudrait peut-être laisser ces livres visibles dans le message en citant les raisons pour lesquelles ils devraient être évités. Peut-être même une section séparée pour les livres NON recommandés ?

0 votes

Cette liste est-elle toujours considérée comme "aléatoire", conformément à l'avertissement initial, ou a-t-elle fait l'objet d'une sélection active, comme le suggérait le méta-message cité dans cet avertissement ?

0 votes

@LorenzoDonati--Codidact.com - la liste est beaucoup moins aléatoire qu'elle ne l'était à l'origine, mais elle n'est toujours pas aussi définitive ou complète qu'il serait souhaitable. Elle est activement maintenue à jour. Il y a encore des livres dans la liste que je n'ai pas examinés et que je considère comme quelque peu douteux. Elle répertorie quelques vieux livres sur le langage C pré-standard qui devraient peut-être être supprimés.

132voto

Dana Robinson Points 1801

J'aimerais faire une anti-recommandation . Vous ne devez en aucun cas lire les livres de Herbert Schildt . En particulier, vous devez rester à l'écart C : La référence complète .

65voto

dwc Points 12676

C Pièges et écueils par Andrew Koenig. Mon exemplaire date un peu, mais il couvre toujours des sujets pertinents qu'il n'est pas facile de trouver ailleurs. En plus du livre imprimé, il y a un vieux Version PDF en ligne .

55voto

Robert S. Barnes Points 17244

Je ne peux pas croire que personne n'ait mentionné la La FAQ C . Beaucoup de bonnes réponses à de nombreuses questions courantes sur la programmation en C, avec beaucoup de matériel pour les débutants, les intermédiaires et même quelques questions avancées.

29voto

Matthieu M. Points 101624

Apprendre le C à la dure

Le tutoriel de Zed Shaw s'adresse aux débutants qui souhaitent adopter des pratiques modernes, en mettant l'accent sur la sûreté et la sécurité.

En Version Alpha est disponible en ligne.

Je pense que le préambule de Zed le couvre mieux que je ne pourrais le faire :

Comment lire ce livre

Ce livre est destiné aux programmeurs qui ont appris au moins un autre langage de programmation. Je vous renvoie à Apprendre Python à la dure ou à Apprendre Ruby à la dure si vous n'avez pas encore appris un langage de programmation. Ces deux livres s'adressent à des débutants complets et fonctionnent très bien. Une fois que vous les aurez lus, vous pourrez revenir et commencer ce livre.

Pour ceux qui ont déjà appris à coder, ce livre peut sembler étrange au premier abord. Il ne s'agit pas d'un livre où l'on lit un paragraphe après l'autre de prose et où l'on tape un bout de code ici et là. Au lieu de cela, je vous fais coder tout de suite et j'explique ensuite ce que vous venez de faire. Cela fonctionne mieux parce qu'il est plus facile d'expliquer quelque chose que vous avez déjà expérimenté.

En raison de cette structure, il y a quelques règles à respecter dans ce livre :

  1. Tapez tout le code. Ne faites pas de copier-coller !
  2. Tapez le code exactement, même les commentaires.
  3. Faites-le tourner et assurez-vous qu'il imprime la même sortie.
  4. S'il y a des bogues, corrigez-les.
  5. Faites les crédits supplémentaires, mais il n'y a pas de mal à sauter ceux que vous ne comprenez pas.
  6. Essayez toujours de comprendre le problème avant d'essayer d'obtenir de l'aide.

Si vous suivez ces règles, faites tout ce qu'il y a à faire dans le livre et ne pouvez toujours pas coder en C, vous avez au moins essayé. Ce n'est pas pour tout le monde, mais le fait d'essayer fera de vous un meilleur programmeur.

Ce livre n'est pas pour les âmes sensibles : Chapitre 5 - Exercice 4 : Présentation de Valgrind ! Mais c'est là sa force : il n'essaie pas de vous protéger de la vérité, mais expose les détails sanglants sur-le-champ et explique comment y faire face.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X