getting Started:
Getting Started is to have an understanding of the idea of programming and can program some small problems. Getting Started must choose a good book, if it is too low, it will cause misleading to the reader, thinking that programming is such a thing; it is not too deep, free to combat readers' confidence. Since the entry requirements of programming are compiled some small programs to solve small problems, then there is no need to learn C directly, I feel that loop, judgment, jump, pointer is the most basic programming idea, learn these for these after learning C is very help.
I suggest that C is solidly learning, not only to master C's grammar, because the ultimate goal of learning programming is to solve practical problems, so it is necessary to properly grasp the ability to link practical problems with programming, I recommend "C program design Language (2nd Edition) ", this book is written by the father of C language, not only detailed in the grammar of C, but also provides a lot of practical small problems as an example, you can say that you can see it after this book. Programming Learning to make a solid foundation!
improve:
After learning the "C Programming Language (2nd Edition)", you can start learning C . There is no need to drill very deeply in the beginning, "Essential C Chinese version" is very suitable for beginners, a week can be read, see It can quickly have a knowledge of C , although it will not be able to master C immediately.
We can't satisfy the problem of solving "100 money to buy hundreds of chicks". It is really a lot of non-functional issues, such as how to do less memory? How can I do it faster? After familiar with one language, you must carefully learn the data structure! The data structure guarantees that our program can run in an efficient manner. "Data Structure Algorithm and Application C Language Description" is a good book, which provides a lot of practical examples, such as train station scheduling, walking labyrinth, compared to "100 money to buy hundreds of chicks" this problem has increased a level.
Next, you can choose C level, you can choose "C Programming Thoughts", then look at "Effective C Chinese 2nd Edition" and "More Effective C Chinese version", these two books describe valuable experience, language, use C Very humorous. At this point, you can self-proclaimed a C programmer, congratulations!
Here are a few books, interested friends can choose. If you want to use C development software efficiently, STL must learn! "C standard library - self-motion tutorial and reference manual" can help you learn STL's use, and you can use it to make a manual when developing, with the basis of the previous data structure, and learning STL will not encounter any difficult. If you still want to know the STL's design ideas and principles, you may wish to see "generic programming and STL". Some friends may ask, how is the object-oriented mechanism of C ? "Depth Exploration C Object Model" gives you an answer, which analyzes the implementation of C underlying. Finally, if you want to have a C Encyclopedia, that is not a "C programming language (special edition)" is! This book is the masterpiece of C 's father Bjarne Stroustrup, an authority in the book.
Rethimize:
Up to now, you have been proficient in C language. Now it is necessary to improve the design idea. The biggest feature of object-oriented (OO) is to transfer our attention from the system's execution architecture to the conceptual architecture, so use OO development Large systems will easier. But you can often see that people have a problem-oriented ideological solution. The lack is the object-oriented design idea. It is no wonder that the books you have seen before don't teach you how to use object-oriented method development system, top more It introduces what is object-oriented, and it is inevitable that such a book is going to be mainly, the idea of "C language program design" (or the first programming book you see) affects us. This gap is remedied by "design pattern - can be used for object-oriented software"! The so-called mode is summed up. After a system structure of thousands of hammers, the design mode shows 23 classic patterns. By learning, understanding, you can see what is real oriented. After watching the "Foundation of Design Mode - Can Duplicate Software", there is time to see "Reconstruction - Improved Code (Chinese Version)", learn the object-oriented design idea to see it. You can stand at a high degree of re-examining your own C programming level.
Conclusion:
Be careful in the process of learning programming! When you study, you will find a good way to find a good way. You will find a lot of enthusiastic friends to learn with you, can you play more than a better friend? Finally, I hope you can become an excellent programming designer, contribute a power for the development of China's software!