Current location - Training Enrollment Network - Books and materials - Liu Xiaona majored in library management.
Liu Xiaona majored in library management.
Before recommending a book, pay attention to three points.

First of all, watching videos is not recommended. I have seen some C++ related videos on the Internet, and I feel that on the one hand, they are very short (because they are all in line with university courses and incomplete). On the other hand, what Mr. China said seems to have a certain distance from the standard C++, which is not good for future development. So it is enough to see through a book written by a foreigner. Moreover, books are expensive but not expensive, so reading one is enough.

Secondly, downloading is not recommended, because I have tried it before and watched it for a while, which is not suitable.

Because one is to take notes, if it is facing the computer, there is basically no place to write on the desk (I use a laptop), and the other is to write programs. Reading alone is not effective. Programming while reading is very important. If you use the electronic version, you have to program experiments on the computer and switch between books and windows, which is very troublesome. (Unless you use two computers)

So it is best to use paper books, and since you are a college student, there should be a lot of books in the library, so you should make more use of the library when you are in college. And even if you buy one, you won't lose money, because a classic book is enough for you to read for at least half a year or more. I borrowed it from the library before, but after reading it, I thought it was very good and bought it myself.

Finally, as mentioned above, it is absolutely necessary to program more when reading. After reading a book, if the program written is only a few dozen lines, the effect is definitely poor.

However, do not use VC6. It is ok to write C with VC6, but writing C++ does not meet many standards.

Recommend several free ide:v c++ 2005 Express;; v c++ 20 10 express; Dev-C++ (in Chinese, highly recommended); Code::blocks (no Chinese, language pack).

Ok, storytelling, I divide the learning of C++ into two stages, one is the basic stage, the other is the in-depth stage, and there is another one in the middle:

Basic stage

There are four classic works at this stage, so it is good to go deep into one, and you don't need to read all four. I recommend these books to give you a chance to choose, you can choose them at will, or look at which one is in your library (anyway, our library has them, and I have read a little-but I only read one of them, so I am confident to recommend them to you):

1."21day society c++":liberty, the latest sixth edition. Don't be confused by the name. Basically, unless you watch this all day, you can't finish it.

It is called "2 1 day learning" because it has joined the "2 1 day" series of Sam company. So, don't abandon this book because of its name, and don't really think it can help you get it done in 2 1 day.

This book, the explanation is very hierarchical and clear. It is more suitable for beginners without any programming foundation.

In addition, there is a book written by China people by this name. Pay attention to the author when buying, and don't be confused.

2. "C++Primer Plus": the latest fifth edition of Prata S, the content is similar to the previous book, but more detailed (just look at the number of pages). There are many people recommended by this website. But I think it's similar to the last book.

3. C++Primer (4th edition), written by Stanley B.Lippman. Note that there is a plus sign less than the previous book, which is not the same book.

This book is very distinctive, but it's best to know a little programming knowledge before reading it. This book starts with the C++ standard library from the beginning, which can lay a good foundation for object-oriented programming in the future.

The author of this book participated in the original C++ design, so this book is very sought after.

4.c++ Primer (Third Edition), Stanley B.Lippman, is the old version of the last one. Although it is an old version, it is not bad. This is an article I have read, so I will focus on it:

1. In fact, the fourth edition is to better meet the needs of beginners. On the basis of the third edition, the structure has been adjusted again, so the third edition is more comprehensive in content. After learning it once, you can continue to use it as a reference book.

2. The third edition is divided into three program ideas (process-based, object-based, object-oriented), each of which is written separately with distinct levels. I read the fourth edition, and the whole book is object-oriented. Personally, it is best to have a level of understanding of the development of programming.

Many people think that the most disgusting thing about this book is its difficulty. So that the people behind followed suit, I wonder how many people who said these words actually read the third edition. But according to my experience, people who say this are caused by two reasons:

On the one hand, because this book is really thick, 1000 pages, it doesn't look like an introductory book at all, so some people are daunting and find it difficult to combine some opinions on the Internet.

On the other hand, I think it is the main reason. Some people read the first few chapters and the beginning of some chapters according to the general habit of turning pages, and when they find that they don't understand, they say it's difficult. Who knows, the characteristic of this book is that the first two chapters give a general introduction to the whole book, and the content of this chapter (section) is briefly introduced at the beginning of each chapter or section.

In these introductory parts, some later contents are often involved, so people who read casually are all at a loss, so it is difficult to assert this book. Beginners only need to skip these incomprehensible parts and look directly at the main content, and they will find that they are basically speaking step by step.

Of course, if there is no programming background at all, it is still not recommended, because it is understandable, but it will be difficult. This is the same as the fourth edition.

Of course, this book is easy to recover, but the biggest problem is that it seems to be gone. If you want to use it now, you can only go to the library or Taobao to buy it, or, helpless electronic version. ...

Strengthening stage

After reading it, you must first make sure that you have learned all the main contents of C++, such as overloading, generics, class templates, inheritance, multiple inheritance and so on. If you are not sure, I suggest reading this book:

Exploring C++: 68 lectures on C++ Riesner, People's Posts and Telecommunications Publishing House.

This is a new book published this year, which talks about C++ in the form of lectures. Not suitable for people without foundation, but for C++ learners with little foundation. Moreover, the practical exercise inside is very good, and I am not familiar with the previous study. You can use this to review your studies, or you can use the exercises in it to write more programs.

You can also find some exercises on the internet yourself.

Of course, if you are confident that you have learned well before, you can skip this stage.

Deep stage

After you are really familiar with it, there are three directions below, which you can choose according to your needs:

First, continue to study C++ deeply, so that you can read C++ Language Programming by bjarne stroustrup, the father of C++, which is the famous TC++PL, and get rid of 80% of the questions. Others, such as the essential series and effective system cracking, all come from this book.

But I don't suggest this direction, because the previous work is enough, and there is no need to go deep into grammar. This book may be what you need to learn when you choose C++ in your senior year or after work.

The second is to learn algorithms and data structures, which I suggest, because these will be important factors to determine how far you can go in the future. There are many such books, so you can read them at will. You can read textbooks in the future, whether it is C or C++. Anyway, you can finally realize them in C++ by yourself. (If you are a computer major, you are usually a sophomore, but most of them are realized in C. If you study C++ in a freshman, you can use C++ to realize it yourself. )

The third is to start system programming. Recommended is Windows programming (5th edition), which is about API. When you are studying, you can write some window programs with Microsoft SDK documents (mentioned in the book).

If you learn C++ quickly, you will have to wait until your sophomore year to learn data structure. Might as well start here, because this has little to do with algorithms and data structures. Learning this can make some practical programs. Of course, if you are still interested, you can go and see MFC again. With the object-oriented foundation of API and C++, it is easier to learn the essence of MFC in depth without floating on the surface.

All the above are written by myself (even if I learn five strokes, it's still a little hard to type so much), which is absolutely original and extra points, hehe.

Revision and supplement

I just saw the previous answer. Some people say that "C++ Primer" "The preface of the book also says that the necessary basis for reading C++ Primer is C language."

So I deliberately went to the third edition and only saw the preface "You don't need knowledge of C language to read this book, but being familiar with some modern structured languages will make your learning progress faster" (original words)

In fact, this is also the unanimous view of some Daniel including the father of C++. Because for a person who is proficient in C language, he will unconsciously use some bad habits in C++ learning (these habits are correct in C language, but have been replaced by some better and more robust methods in C++).