There are countless C language courses, such as "C Program Design", "C Programming", "C Language Program Design" of the numerous, these are not well-known to consider, to see the classics. The author of painstaking reading more than 10 C language primer, to its dregs to extract its essence, recommend the following C language Primer classic books, I hope you can less detours, into the magical world of C language.
If you are 0 basis
C language of the Ming Dynasty (337 pages) Recommended index: ★★★★★
At first glance I thought it was a new book, but the original was released in 1999, and it was too late to introduce it. Belong to the more serious teaching materials, loyal to the professional terminology, did not consider the more popular expression, and related to some algorithms, suitable for serious geoscience C; Content organization is very successful (the arrangement of the structure part of the practice is very magical), gradual, the knowledge point is relatively shallow, not comprehensive, Relatively remote and the contents of the details do not tell (and do not have to get the head of the Novice), no redundancy, should be quiet to word to see, the slightest can not be missed. PS: It is wise to put the historical background of C in the appendix, after all, the reader may be more concerned about how to write a Hello world immediately.
"21-day Learning C language" (614 pages) Recommendation index: ★★★★★
Slot One: The title is also vulgar, this kind of books are generally not parallel imports?
Explanation: It is always a matter of criticism to have such titles, but you should never miss the book. This is a tutorial from abroad, formerly known as the "Sams Teach yourself C in a few days", but the quality of the domestic names of those similar books are difficult to compare.
slot Two:614 pages, also a thick bar! It's all genius-class beginners only.
Explanation: The 21-day course in C has accounted for only the first 431 pages, followed by additional courses such as C + +, Java, C #, and so on.
In this book, each part of C is carefully explained , with examples, experiences, points of attention, suggestions, etc., as well as a detailed description of the various questions that may arise in your mind or problems you may encounter in practice. Some textbooks are more or less explicit or implicit to require readers to be able to extrapolate, and this book not only introduces the "one", the "three" is also explained (such as the combination of knowledge points). There is no death in the knowledge structure to arrange the content, but according to the reader slowly adapt to the learning process gradually. to ensure that the reader understands clearly, the knowledge points introduced in advance are re-explained in the following chapters.
However, the example of running to give is not simple, peremptorily introduced a lot of things, 0 of the basic people may have nodded big. There are still some places that are not rigorous, although not misleading, but may cause confusion. To remove these flaws, I was finally amazed by it, recommend. PS: I see this August 2012 the first printed version has a lot of typographical errors, I hope the subsequent printing plate will be corrected.
"C Primer Plus" (626 pages) Recommended index: ★★★★★
How to say, to see that such a writer is really understand C, love C people, to each version of the C standard know-how. Like writing articles, no talent of the people mechanically to tell things clearly, and all the brilliant people a little shake, text scattered into a masterpiece. The first chapter of the overview of my naked surprise to the same introduction of the history and background of C, but not other books as rigid display, language refining meaning Gai, do not need to talk about the decisive, need to speak of a language, no nonsense, one go. It's not the one that hated what I learned from C.
Run up a brain introduced a lot of things, very fine, the beginner may see the head big, but if you can be able to understand carefully under the temperament, will sigh it speaks really good. Very delicate, rigorous, even if the beginner may not realize this point, the content is detailed, meticulous, worthy of the thickness of the book, commonly used, the basic application of advanced applications, public in the corner of the nook and cranny of everything ; comprehensive multi-level practical tips, precautions, examples of classic, clairvoyant, Both the introduction of books and reference book temperament.
Overall on the Cloud top studio translation is still good, but you will still encounter some awkward sentences, but after all, his flaws, the overall quality of the book there, see the introduction of the sixth Edition can be translated better.
"Aha C!" Think fast you step on (191 pages) Recommendation index: ★★★★☆
This is the only physical book and electronic version I have not been able to access, perhaps not hot enough, the online can not find a complete PDF, even before the publication of the draft version of "Aha C language" is only half of the public. If a friend can get the complete electronic version, please share a copy with me. What I see here is that only half of the content of the pre-version (and the official version of the dozens of-page probation), but also with fresh typos and wrong sentences, but the layout is close to the official version, reading is more comfortable.
I don't know. Halle (author) This Buddy is the sacred, but also only an idea of ordinary people, the book is so introduced: "Once in the Chinese Academy of Sciences played single-chip computer." Wuhan University in the history of the first to join MSRA as an undergraduate partner, in or engaged in search engine research. Publication of an international conference paper (IEEE). National Youth Informatics Olympic gold coach. "I love this young generation of books, casual, with facial expression, blog style, no cliches, no generation gap, looking very close." This book is called "Elementary school students sit on the toilet can read the ' C Language programming ' Primer", you may not believe, college students are shouting to learn C dull, elementary school that point the basis and IQ don't mention, but this book is really enough to understand the pupils, I even think some places can also write more cute, more image. However, pupils can accept the degree is limited after all, the book is so low, so that only introduced the most shallow part of the knowledge of C, more space for example, to increase the reader's programming interest, is just too suitable for the 0 basic primer! and, uh, Halle's own gcc-based. C compiler is also very suitable for beginners to practice programming, as he said, is concise can not be concise C language programming software, no project concept, no compile link steps, no environment configuration, all kinds of no, you open even code framework has been written, It is a conscience product specially made for beginners.
"C Program Design" (third edition 378 pages, fourth edition 390 pages) Recommendation index: ★★☆☆☆
The "issue of more than 11 million copies" of the message printed on the cover of the big central practice is too two, you are the designated textbook is not a bestseller, the National Colleges and universities with you do not break tens of thousands of blame it! And, tens of millions of sales also mean to accept tens of millions of readers of the test, a little less rigorous is easy to be sprayed. There is a 500-page Word document on the Internet (Baidu "C Program Design" error "can be found), simply too much pain, he can not read the end of the others!" This book is not rigorous + printing problem layer out + many places there are serious errors, but this document is a bit fastidious, many of them are very difficult to agree with, more than 500 pages of water is too large.
This textbook, beginners to learn programming is indeed easier to understand, but the C language grasp will have a certain deviation , careful reading. And we may as well overlook some of these major issues and revisit them. As a model in the domestic textbook, although the content of the organization is still well-behaved, but the knowledge point is very popular, because of popular, slightly (I mean slightly) wordy. Teaching materials can be, not suitable for self-study, because you are not sure which is secondary. After all, as a state-level teaching material, the cover is to include, not only the door, but also to ensure that the reader to achieve the degree of examination, not to get rid of the characteristics of examination-oriented education, in order to consolidate knowledge points, from time to time will appear (i++) + (i++) + (i++) and a+=a-=a*=a such magical formula. If you like this style, do not miss this book, yes, I was a bit like this style, is one of the reasons why the book is good-let me understand such a complicated mess (later found that no one in the actual programming to do so)!
If you have learned a little
C programming language (258 pages) Recommended index: ★★★★★
Nickname K&r (two authors initials), thefather of the C language Works, like to introduce their own children, can not be incisive, no longer authoritative , is a C-language Bible. There is no uniform standard in the era of the 78, the first edition of K&r was widely accepted as the C standard, other claims to be the Bible C language book is too much to take for granted ...
The Bible is like a standard template, the countless C tutorials at home and abroad are written in reference to K&r, as the vast number of browsers have used the IE kernel. B5 's folio is just 258 pages, except for 166 pages for the appendix, and the 8th chapter, "Unix System Interface", only 148 pages left, so little space will speak C clearly, it is a gorgeous art!
This writing is very rigorous, the need to mention the old version of C, can be said to learn C must see, but not suitable for the 0 basic primer, as its 1th edition of the preface: "This book is not an introductory manual on program design, it requires the reader to familiarize themselves with basic program design concepts, such as variables, assignment statements, loops and functions." "From start to finish is written terminology, and related to reverse Polish, binary tree, UNIX and other professional knowledge, but also often the C and Fortran, Pascal language comparison, if you do not understand these look at a certain headache, so k&r is not the best choice to get started.
"C Language Primer Classic" (4th edition 571 pages, 5th edition 584 pages) Recommendation index: ★★★☆☆
A look at this domineering title know it is a classic, of course, this is the translation, (4th edition) formerly known as "Beginning c:from Novice to Professional", the expression is more pertinent, yes, the form is novice, first you have to be a novice, The preface suggests that you'd better have been exposed to programming before. The content is a whole piece of a whole piece of talk, and strive for comprehensive, in-depth, no priorities, speak up so far, when necessary, not polite to use the behind-the-minute technology, resulting in an excessive amount of knowledge points in front of the reader. Most chapters have an example of programming, and these examples are obviously too complex for beginners.
The most deadly is, (4th edition) I have seen quite sketchy, but still found a few serious errors, not a clerical error is not a printing problem, in order to exclude the possibility of translation errors, deliberately compared to the English original, (also ruled out the C standard version of the factors) is indeed wrong (the following examples of two, not yet C friends please skip) In addition, many places are not clear enough, I read with reverence, the result is not very good at the end.
Error 1 (version 5th fix)
P267 about the ReAlloc () function: Obviously, the value of the second parameter should not exceed the number of bytes previously allocated. Otherwise, the newly allocated memory will be the same size as the previously allocated memory area.
The original p270:obviously the value of the second argument should not exceed the number of bytes, was previously allocated. If It is, you'll only get a memory area allocated that's equal to the size of the previous memory area.
Error 2 (version 5th not fixed)
P462 about Flow: a stream is an abstract representation of an external data source or data destination, so the command line and files on the keyboard, monitor, and file are streams. ...... There are two ways to write data to a stream (that is, a disk file).
Original P468:a Stream is a abstract representation of any external source or destination for data, so the keyboard, the command Your display, and files on disk is all examples of streams .... There is the ways of writing data to a stream, which is a disk file.
The 5th edition of the change is very small, the 4th version of the 90% content is copied, and finally added a chapter "Advanced and Speciallized Topics" (high-level dedicated theme), the introduction of Unicode, threading and so on, not easy to understand or even unintelligible. It's a little bit more in typography, better for reading, and if you're going to have a hard copy, the 5th edition will be a lot nicer.
"Hi-turn C" (588 pages) Recommended index: ★★★★☆
Mo be frightened by this thickness, its word is very big, blank is big, picture many ... If you compare a general professional book to a Word document, then "Hi-C" is a PPT, a variety of fonts, various illustrations (even if more than just meaning to add fun and the official content is not relevant), you will feel the light, such as:
The strong guy on the right is thinking (say? ): "But I love this one, there are kittens!" "Such countless, casually opened a page can encounter such a unreasonable spit groove or crazy talk, no limit to spoof, the knowledge point and story full of stories together, want to forget all difficult, the translator is also humorous, do a lot of localization work, such as" three diamond Bachelor ready to participate in today's ' non-sincerity do not Disturb ' "... The overall feeling is even like a kindergarten's introductory album. (Head first Series None of this is a brain-like, I'll talk nonsense? )
Before starting the knowledge point to guide the reader to think, guess what these things are doing, and even often let you stand in the perspective of the compiler or language designer to think about the problem, these practices are unique, let you from the outset from the very essence of the level to contact C; At the same time urge readers to brain, exercises interesting and short, tips, The answers and explanations are also very well in place. However, the book is full of bright old beautiful style, very high very passionate, can imagine the American students read this book very likely to make very practical very creative things, and Chinese students may feel a little confused. and its starting point is not low, quite low, specifically, for people who have learned other languages (such as Python) to learn C, the latter part of the advanced application is related to the operating system and the network knowledge, although it also made a brief introduction, but I believe that the friends have not been contacted suddenly is unacceptable.
"C Language Drip" (302 pages) Recommendation index: ★★★★★
I can see that the author is a good teacher with enthusiasm and ideas, language easy humor has connotation, running up to 1.1 knots of equipment, programmers dick Silk dress will be able to flash your eyes. The real sense of the simple, the first shallow to even water is not, and then unknowingly dive to the Mariana Trench. The content is not systematic, compared to other C language books, it is not a textbook but a teaching aid, more is a summary of things (use of tips and tricks)--the author summed up his teaching process common problems and experience, referring to some classic, the contents of which were two times in a more understandable way to present to the reader --and rather than a leak to fill the teaching aid, in fact, it is more like a good writing series of blog, no matter how much you know about C, read a little bit will be harvested .
So for beginners, you'd better learn a little C, even if it's only a tiny bit, compared to 0 basics or learning other languages. There are a lot of terms that appear without explanation, and you'd better have a main textbook. This book is specialized in auxiliary, but it is very clear to analyze the difficulty, it is very helpful for beginners to grasp the knowledge point quickly and accurately. If you have a place to see, do not worry, it is a "drip", temporarily missed a few drops harmless, and later later.
PS: The book does not have anything to spit groove, only 1.2 poor arrangement: from the search engine, e-mail, chat tools, social networking sites, forums, blogs, downloads, oh no, is taught, accurately said to be 0 basic teaching, although said quite interesting, but actually no need, now as long as a bit of cultural level, Even elementary school children and even kindergarten kids will be on the Internet, and without literacy, illiterate, will not use the computer, more unlikely to see C language, a change of perspective, C readers will not surf the internet, these things are written to whom to see?
C-Language Introductory classic bibliography recommendation--Turn