Your input will affect cover photo selection, along with input from other users. La prima edizione del libro, pubblicata nel , fu la prima guida disponibile per il linguaggio di programmazione C. La seconda edizione del libro fu pubblicata nel : essa aggiornava la guida al linguaggio seguendo le indicazioni della standardizzazione ANSI dello stesso, in particolare con l'inclusione di materiale di riferimento alle librerie standard. Nel piccolo delle sue pagine seconda edizione , la trattazione degli aspetti del linguaggio rimane dettagliata e con pochi fronzoli. I dettagli tecnici del C sono corredati dalle osservazioni degli autori sulle buone pratiche di programmazione, che sono illustrate con esempi concreti e realistici.
|Published (Last):||11 May 2009|
|PDF File Size:||19.91 Mb|
|ePub File Size:||6.46 Mb|
|Price:||Free* [*Free Regsitration Required]|
C is a complex programming language that is difficult to pick up on-the-go by reading online tutorials. A comprehensive book is often the best way to learn the language, and finding a good book is the first step. It is important to avoid badly-written books, and even more importantly, books that contain serious technical errors. Note that the question is locked, so no new answers will be accepted. A single answer is being maintained with the list. Feel free to debate book choices, quality, headings, summaries, skill levels, and anything else you see that is wrong.
Books that are deemed satisfactory by the C community here will stick around on the list; the rest will be regularly removed. This question was discussed on Meta as part of the Deleted Questions Audit The consensus was to keep it undeleted and actively maintained.
This is a list of random books of diverse quality. In the view of some people with some justification , it is no longer a list of recommended books. People who are aware of such books can edit this answer to help improve it.
See The C book list has gone haywire. What to do with it? Kernighan and Dennis M. Ritchie Still a good, short but complete introduction to C C90, not C99 or later versions , written by the inventor of C.
However, the language has changed and good C style has developed in the last 25 years, and there are parts of the book that show its age. Harbison and Guy R. Steele An excellent reference book on C, up to and including C It is not a tutorial, and probably unfit for beginners. It's great if you need to write a compiler for C, as the authors had to do when they started.
The comp. Web site with answers to many questions about C. Various versions of the C language standards can be found here. There is an online version of the draft C11 standard. Jones The "new standard" referred to is the old C99 standard rather than C Rationale for C99 Standard. King A good book for learning C. Programming in C 4th Edition - Stephen Kochan A good general introduction and tutorial.
Deitel Lots of good tips and best practices for beginners. The index is very good and serves as a decent reference just not fully comprehensive, and very shallow. Beginning C 5th Edition - Ivor Horton Very good explanation of pointers, using lots of small but complete programs.
Jones and Peter Aitken Very good introductory stuff. Covers C in 5 levels encounter, acquaintance, cognition, experience, ambition from beginning C to advanced C.
It covers C11 and C17, including threads and atomic access, which few other books do. Not all compilers recognize these features in all environments. C Interfaces and Implementations - David R. Hanson Provides information on how to define a boundary between an interface and implementation in C in a generic and reusable fashion.
It also demonstrates this principle by applying it to the implementation of common mechanisms and data structures in C, such as lists, sets, exceptions, string manipulation, memory allocators, and more.
Basically, Hanson took all the code he'd written as part of building Icon and lcc and pulled out the best bits in a form that other people could reuse for their own projects.
It's a model of good C programming using modern design techniques including Liskov's data abstraction , showing how to organize a big C project as a bunch of useful libraries. Feuer The Standard C Library - P. Plauger It contains the complete source code to an implementation of the C89 standard library, along with extensive discussion about the design and why the code is designed as shown.
In addition to the C language, the book explains gdb, valgrind, autotools, and git. The comments on style are found in the last part Chapter 6 and beyond. Algorithms in C - Robert Sedgewick Gives you a real grasp of implementing algorithms in C. Very lucid and clear; will probably make you want to throw away all of your other algorithms books and keep this one.
Pointers on C - Kenneth Reek Hanly and Elliot B. Koffman Not ideal, but it is worth intermediate programmers practicing problems written in this book. This is a good cookbook-like approach suggested by comp. Lots of interesting information and war stories from the Sun compiler team, but a little dated in places.
Perry Stevens and Stephen A. Rago Note that this describes the C90 language at several points e. This is the book of the web site listed earlier. It doesn't cover C99 or the later standards. Excellent book if you need a reference for C Teaches modern practices that are invaluable for low-level programming, with concurrency and modularity in mind. The Practice of Programming - Brian W. Kernighan and Rob Pike C Traps and Pitfalls by A.
Koenig Very good, but the C style pre-dates standard C, which makes it less recommendable these days. Some have argued for the removal of 'Traps and Pitfalls' from this list because it has trapped some people into making mistakes; others continue to argue for its inclusion.
Perhaps it should be regarded as an 'expert' book because it requires a moderately extensive knowledge of C to understand what's changed since it was published.
An enjoyable way to learn C. Covers C89 and C Although this isn't a book as such, many programmers recommend reading and implementing as much of it as possible. MISRA-C was originally intended as guidelines for safety-critical applications in particular, but it applies to any area of application where stable, bug-free C code is desired who doesn't want fewer bugs? MISRA-C is becoming the de facto standard in the whole embedded industry and is getting increasingly popular even in other programming branches.
There are at least three publications of the standard , , and the current version from For example, directive 4. This is appropriate in the embedded systems for which the MISRA rules are designed; it is not appropriate everywhere. Compilers, for instance, generally use dynamic memory allocation for things like symbol tables, and to do without dynamic memory allocation would be difficult, if not preposterous.
Most of these don't look to be on the main site anymore, and you can't browse that by subject anyway. Be wary of books written by Herbert Schildt. Many people view it as an outdated book that teaches Turbo C and has lots of obsolete, misleading and incorrect material. A book with mixed reviews. A critique of this book by Tim Hentenaar:. To summarize my views, which are laid out below, the author presents the material in a greatly oversimplified and misleading way, the whole corpus is a bundled mess, and some of the opinions and analyses he offers are just plain wrong.
I've tried to view this book through the eyes of a novice, but unfortunately I am biased by years of experience writing code in C.
Reference (All Levels)
The book was central to the development and popularization of the C programming language and is still widely read and used today. Because the book was co-authored by the original language designer, and because the first edition of the book served for many years as the de facto standard for the language, the book was regarded by many to be the authoritative reference on C. The first edition, published February 22, , was the first widely available book on the C programming language. In April , the second edition of the book was published, updated to cover the changes to the language resulting from the then-new ANSI C standard, particularly with the inclusion of reference material on standard libraries. The second edition of the book and as of , the most recent has since been translated into over 20 languages. However, no new edition of The C Programming Language has been issued to cover the more recent standards. Don't read any further until you have this book!
To continue, please check the box below:
Oh no, there's been an error