Let's talk about books in C language. What, C language? Some readers are wondering. Yes, this time the main character is the C language that was born in 1973 and is now full of children and grandchildren. The reason we want to talk about C is not only because of its profound influence, but it can be proved by the prosperous development of the C-series language family: c ++, Java, C #, and Objective C have successively become mainstream languages in the software industry or various operating systems. Our primary reason is the charm of C language. More than 30 years later, it was not eclipsed by the passage of time. Whether it is Tianyi's programming language vane or the sales in the book market, it shows that C ++ is the second largest language behind Java in today's increasingly exhausting C ++.
Although the number of books related to C language has been quite large, it is often based on similar data sources and the overall quality is not high. From the perspective of market sales data, many readers still blindly Choose C-related books, and there is a certain amount of bad currency, to a large extent, this has become one of the root causes of many software developers with poor foundation and many bad problems.
Classic
Different from other mainstream languages, there are often several works that are irreplaceable classics. In the C language world, only one book has such a supreme status, it is of course the immortal work co-authored by Dennis Ritchie, the father of C language, and another technical expert kernighan:
C programming language (version 2nd · New Version)
Brian W. kernighan, Dennis M. Ritchie
Translated by Xu Baowen Li Zhi
Machinery Industry Press
30 RMB
This book is often referred to as "K & r c" (K and R are the first letters of the two surnames respectively ), its position in programming language books is almost the same as that in C programming language books. Many books begin to output "Hello world !" The first example is from here. Interestingly, some people have criticized this practice recently to make it easy for students to program and create many follow-up problems. Although it is justified, it is always harsh.
This book has many consistent advantages of the works of the Bell lab masters. It is very small, but rich in content, and the description is very clear. Like most works written by father, it is mainly intended for readers with certain programming experience. It is not a complete entry-level book. Of course, this leaves room for others to write various tutorials. By the way, this book also has a supporting exercise set "C programming language (version 2nd · New Version) exercises and answers" (Mechanical Industry Press, 2004), and also has a printing plate.
CStandard Library
P. J. plauger
Translated by Xu Mingliang
People's post and telecommunications Press (coming soon)
Function libraries are an important part of programming languages. However, in all the previously published C language books, the function libraries were not fully elaborated. The publication of this book will well fill this gap. The author is a well-known C/C ++ expert who once served as the Chairman of the Standardization Committee andC/C ++ user's journal. More importantly, he is a well-known function library developer who provides function library implementation for many mainstream compiler manufacturers. This book has almost done its utmost-the complete implementation source code of the C standard library is provided and explained one by one. This makes it eligible to be tied to K & r c.
Getting started
I often wonder why there have been many excellent entry books in C language in recent years, are you still choosing the mainstream traditional textbooks that are unable to meet your current requirements and have many problems, or even overwrite them?
In general, there are good entry books that have been translated from foreign countries and original articles. Relatively speaking, these excellent teaching materials share a common advantage, that is, they can be closely integrated with development practices, and are used for teaching and learning, unlike some domestic teaching materials, because the author often lacks practical software development experience and can only teach for teaching. The resulting features include: focusing on software engineering, cultivating readers correct programming habits and styles, and choosing the focus from the actual needs, rather than presenting all knowledge points in a flat manner.
CLanguage Programming: modern methods
K. N. King
LV xiufeng
People's post and telecommunications Publishing House
55 RMB
Some people praise this book as "the best C language book in the past 10 years ." It has been used by more than 200 schools around the world as teaching materials, including Harvard University, MIT, Stanford University and many other prestigious schools. The main knowledge points in C language, including the function library, are fully covered. Unfortunately, this book was published earlier and cannot be incorporated into the new features of the c99 standard. However, the new version has been published this year, and the Chinese version is expected to be updated soon.
CClassic Programming Tutorial: Section4Version
Harvey M. deitel, Paul J. deitel
Yi Xuejun, He Jun
Tsinghua University Press
43 RMB
Another well-known C language book is widely used in teaching materials. The new version covers c99.
C primer plusChinese version (fifth edition)
Stephen Prata
People's post and telecommunications Publishing House
60 yuan
A clear and insightful C language tutorial. Covers c99. Comprehensive content.
In addition, Stephen kochan, C language programming (the third edition) (Electronics Industry Press), Eric Robert ts, C Language Science and Art (Machinery Industry Press) hanly and koffman, detailed explanation of C language (5th edition) (People's post and telecommunications Publishing House) are all excellent entry-level teaching materials. In recent years, the University of C language practical tutorial (2nd edition) (Electronic Industry Press) chen liangyin, Sichuan University, and other "C language programming (c99 edition)" (Tsinghua University Press) are among the best.
Advanced
CExpert Programming
Peter van der Linden
Xu Bo
People's post and telecommunications Publishing House
45 RMB
CTraps and Defects
Andrew Koenig
Gao Wei
People's post and telecommunications Publishing House
30 RMB
C language does not have such a book as Objective C. Its blank space is probably only the two books that can be slightly filled, both of which belong to the immortal classic column. The Chinese version was published again recently, with a strong response.
In addition, David Hanson's "C language interface and implementation: Technology for creating reusable software" is one of the authors of the "C language interface and implementation: the technology for creating reusable software", which is highly valuable but ruined by translation, cannot be recommended.
Practice
CLanguage puzzles
Alan R. Feuer
Translated by Yang Tao
People's post and telecommunications Publishing House
RMB 29
This book was originally written as an internal training material for Bell Labs. As a guide to C language learning, it is very useful.
CA selection of hundreds of skills
Mirror light
Machinery Industry Press
44 RMB
The author of this book is a professor at the University of Michigan Technical University. He has excellent selection materials and high code quality.
Reference
CCore language Technologies
Peter Prinz; Tony Crawford
O 'Reilly Taiwan company Translation
Machinery Industry Press
CLanguage Reference Manual(English photocopies)(The5Version)
Samuel P. Harbison, guy l. Steele
People's post and telecommunications Publishing House
55 RMB
Both books are excellent query manuals and both cover c99. Unfortunately, the Chinese version of the former has no index, and half of it is useless; the Chinese version of the latter has poor translation, and only photocopies can be recommended.
C language is still widely used. It should also include books on Embedded System Programming and single-chip microcomputer programming. However, at the moment, I could not find a suitable recommendation, but I could only leave it blank. If you find something, please let me know.