I have read several classic books carefully and repeatedly, and I have read them for a hundred times ". The advantage of C language learning is that these books basically cover all aspects of the C language programming field, and will not be as confused as C ++, even after reading a pile of books, there are still such difficult traps. 1. Reference Books
I listed a book order on Douban. You can refer to it directly.Http://book.douban.com/doulist/636329/
In the following simple comment, it is best to refer to the listed order of reading order.
The C Programming LanguageHttp://book.douban.com/subject/1230004/
If you only want to buy a book to learn C language, you only need to buy this one. If you have enough funds, we recommend that you buy more books and store them in your office or home. Three words are used to describe it: Classic! Classic! Classic! This thin book with more than two hundred pages covers all aspects of the C language. It has never been used before and has never been used before. It cannot be described in any word.
The C Programming Language (K & R) contains a simple syntax parser, including how to implement malloc and a complete operating system directory browsing program, these programs are highly practical. It can be said that if you can learn any language to implement the above functions independently, it is basically an entry. Each section in the K & R book contains a lot of practical software development engineering experience worth exploring. Without some development experience, I can't see the content below these iceberg, for example, in the first chapter, we propose to use the full code writing method for teaching. in the book, the traps of C language or problems may be mentioned, but due to space limitations, it is very simple to write, it is difficult to understand. I am reading this book from words to words. I hope I can give some comments and share some blogs.
C programming language (version 2nd-New Version)Http://book.douban.com/subject/1139336/
This is a K & R Chinese translation. You can start with the Chinese translation and read the original English version again. You can learn English and understand the simple and elegant style of the original.
C traps and DefectsHttp://book.douban.com/subject/2778632/
C expert ProgrammingHttp://book.douban.com/subject/2377310/
These two books are also essential for learning and using C language. For example, C expert programming, we use two or three chapters to introduce the differences between arrays and pointers in C language, to some extent, these two books provide a detailed supplement to K & R skipped and are strongly recommended.
C Language Reference ManualHttp://book.douban.com/subject/2132084/
This is the last reference book that strongly recommends you to buy home as a case book. The previous books may be a little concise or focused on a specific topic, so it is not suitable to review the questions. This "C Language Reference Manual" can be viewed as a "Xinhua Dictionary" programmed in C language, which is comprehensive and authoritative. It also covers C99 content, keeping up with the trend of the times.
The following books can be used as a cross-cutting reference and are of great value. We also recommend that you buy them as well as make good books, such as friends, the books I have recommended are rated very high on douban or amazon, and they are repeatedly revised.
C and pointerHttp://book.douban.com/subject/1229973/
What is the importance of pointers? Anyone who has learned C language (or C ++) knows that this book even raises pointers to a position equal to C language. In fact, it is also introduced from the beginning, it can also be used as a reference book for teaching.
C Standard LibraryHttp://book.douban.com/subject/3775842/
This book specifically introduces how to implement the standard library of C language, such as the malloc algorithm, how to write in Standard C language? How Should strlen be implemented? Although many of the Code in the book is much different from the real C Standard Library (because the standard library needs to consider performance optimization, many functions have some specific trick), but the absolute value is worth reference.
495 C language problems you must knowHttp://book.douban.com/subject/3422332/
This book is actually the printed version of the C-FAQ, C-FAQ in a variety of programming languages FAQ can be called quality first class. If you want to apply for or recruit C-language programmers, you must refer to this book.
Linux C Programming one-stop learningHttp://book.douban.com/subject/4141733/
This book is based on a specific operating system Linux to introduce C language programming, can be used as a computer-related professional textbooks or entry reference books, is also the only Chinese original programming book in the book list, very rare. Almost all the content in the book is made public on the Internet and the comments of the readers are modified. This is also a rare open attitude. We recommend that you buy one.
To learn C language, you must not only read books. You should practice the project requirements in the book (such as writing a directory browser) and the exercise questions in each chapter. This requires a lab environment. The following is a brief introduction to different operating systems.
2. Build a hands-on lab environment
I haven't investigated it. I don't know if I still use TurboC2.0 to program C language in my school. If I still use this combination, it would be too bad. Let's leave them alone.
The following describes the Integrated Programming Environments on different operating system platforms. Based on beginner's preferences and my personal preferences, we do not recommend using vim for programming on the command line and directly using IDE.
In Windows, we recommend that you use the Code: blocks. The biggest advantage of this software is that it comes with mingw-based GCC and GDB. As long as the software package is about 70 MB, it can fully support C ++ and C programming. Various functions (such as debugging functions) are also very powerful, and version updates are also relatively fast. Download a file with the mingw name. For example, the latest version is codeblocks-10.05mingw-setup.exe (the version may be different ).
Home page:Http://www.codeblocks.org/
To develop a Windows operating system, you can download Visual C ++ 2010 Express.
Because Code: Blocks does not contain Windows programming header files (because there is no Windows SDK), you cannot write Windows OS-related interface applications or service programs. While VC ++ Express comes with these header files and programming libraries, although the functions are a little simple, it is basically enough for exercises.
Home page:Http://www.microsoft.com/express/windows/
For students of computer science, we recommend that you use the Linux operating system, or use the Xubuntu operating system as the desktop and the combination of Netbeans and GCC (of course, you can also choose Code :: blocks ). In Xubuntu, you can run the apt-get install build-essential command to install gcc-related programs. You can compile C language programs under Terminal, but for ease of use, you can download the C ++ support package from the Netbeans website.
Home page: