Current location - Quotes Website - Excellent quotations - C language learning
C language learning
The first is the pure C textbook.

The first book: How to Program by H.M.Deitel and P.J.Deitel (C Programming Tutorial).

The author is a father and son who have been engaged in compiling Chinese textbooks for more than 40 years. This book has been selected as a teaching material by many American universities, and it can be used as an introduction or browsing, which is very good. The author of this FAQ thinks that if you only plan to read one book, you should choose him.

The second book: C Programming Language (C Brian W.Kernighan and Dennis M.Ritchie

This book is called K &;; R written by the founder of C language is the largest selling C language textbook in the world, and its quality is beyond doubt. But not suitable for entry, suitable for consolidation and improvement after entry. Physical books are purchased in original and translated versions, and there are more English electronic versions.

The third book: Tan Haoqiang's C programming.

Advantages are: facing China students, the language is easy to understand, and the book is not long, many people have read it, and it is easy to find someone to consult. However, the concepts in all aspects are not in-depth, and there are actually some minor mistakes, which are not very rigorous. Therefore, it is suitable for the first introductory study, and the examples can basically be abandoned after completion. There are physical books and electronic versions to download. At the same time, there are problem sets and problem answers, which are suitable for self-study.

The fourth book: Wang Dagang's C language programming collection.

The quality is good, just like Lao Tan's book, which is very suitable for China students. TC's graphic programming is thorough. I didn't find a physical book, maybe it's only available online, and it's reprinted in VCgood forum:

/bbs/forum_posts.asp? TID= 1560。 PN=2

/C/C/ index.html

The fifth book: an introductory lecture on C language for beginners by unknown authors.

Reprinted by VCgood forum, the author is unknown, and the quality is the same as above. /bbs/forum_posts.asp? TID= 1294PN=4

The sixth book: C and the Pointer by Kenneth A. Rick

Advanced reading, the pointer chapter is interpreted as a book, which shows its technical accuracy. Pointer is the soul of C. Only by understanding the ideas in this book can we really understand the mystery of C pointer and understand C.

The seventh book: andrew koenig's "C Trap and Defect"

For advanced reading, don't read it yet, but read the introductory book carefully. This book sells well for 14 years, which proves its quality.

The last book: ISO C89 specification /C99 specification

Of all the questions about C language, only one is the most authoritative, and that is the ISO specification. But this is not an official publication, it is a technical description similar to the legal text, and it is only available in English. Novice readers, beware of vomiting blood and dying.

Then there is the C++ textbook.

C++ is much more complicated than C, so the textbook is more complicated. There are both comprehensive introductory and particularly in-depth reading, and reading should be gradual. The following is introduced in stages (the following part of the text is quoted from others' comments).

First of all, when there is no foundation, we must first master grammar and form the concept of programming.

Level 0:

How does c++ program H.M.Deitel and P. j. deitel(c++ university courses)?

Father and son again. There are many so-called C++ introductory books, but after my observation, if you want to choose a book that can be recommended to novices without programming concepts, this book is one of the best. I recommended the C programming tutorial for the father and son.

Still K & ampr, Brian W.Kernighan and Dennis M.Ritchie's C Programming Language.

Although the father of C++ said that it is best to learn C++ as a new language, I personally think that learning C at first has at least two advantages. Compared with C++, C is still very simple and easy to master, lest you fall into the grammatical quagmire of C++ prematurely. At the same time, learning C can help you understand the basic operation of the computer and establish a good concept.

Qian Neng's C++ Programming Course

One of the best C++ textbooks in China, written by teachers and summarizing many years of teaching experience, is more suitable for domestic students.

PS: Lao Tan also has a C++ textbook, which is not recommended here. It looks at C++ completely with C thinking.

When readers have a certain c/c++ foundation,

Recommended reading order:

Grade 1

Starting with Hou Jie's translation of essential c++ by Stanley B.lippman, it is short and pithy, so we can further understand its characteristics. Stanley B.Lippman's occupation is to provide training, consulting, design and guidance on C++ and object-oriented. He is also a member of the Bell Labs Foundation project led by bjarne stroustrup, and is responsible for the object model in the C++ programming environment. In a word, he is one of the founders of C++.

Take c++ Primer by Stanley B. Lippman, Jose LaJoie and Barbara E. Moo as a dictionary and extracurricular reading, because it is too thick to read at one go. Of course, you can also use it as the main teaching material. Lippman said that Josee LaJoie was the former head of the C++ Standards Committee, and Barbara E.Moo was an independent consultant, who participated in the development of the first commercial product written in C++ and led the company's first C++ compiler project.

The C++ Programming Language written by bjarne stroustrup, the father of C++, or TCPL of BS for short, is a comprehensive and in-depth book, but its disadvantage is that it is too thick.

This stage can also be extended to the previous stage of the German-iron father and son's teaching materials.

At level 2, we should develop good habits.

Then I started to switch from Scott Meyers's effective c++. This is the Bible. Please observe the 10 commandment, read frequently, and flip through if you have nothing to do.

Then there is Herb Sutter's exception c++. This man is the chairman of the C++ standards committee. Who objected to what the chairman said?

Followed by Scott Meyers's more effective c++ and Herb Sutter's more exceptional c++, please read and remember these terms carefully.

Level 3 At this stage, the classes of C++ are thoroughly understood.

Stanley B.lippman's insided the c++ Object Model has swept away your doubts about the language like a breeze. You can finally understand what the compiler is doing behind your back. This book is difficult to read. You'd better read it several times to deepen your impression.

After reading the last book, bjarne stroustrup's book "Design and Evolution of C++" will repeat the process of the father of C++ designing the whole language.

Stephen C. Dewhurst's C++Gothas: Avoiding Common Problems in Coding and Design (c++ Programming Trap) will help you avoid design mistakes.

Level 4 goes deep into STL at this stage.

Nicolai M.Josuttis's c++ Standard Library (c++ c++ Standard Library-Self-study Tutorial and Reference Manual) is stl's dictionary, and everything can be found.

Scott meyers Effective stl, like the Bible, is the norm of your daily behavior. Have you noticed that Mr Scott meyers has been studying effective series?

Matthew H. Austern's generic programming and stl (generic programming and STL) make you change from OO (object-oriented) to GP (generic programming).

We need to know how stl works, so Hou Jie's stl source code analysis will solve all your puzzles.

Level 5 thoroughly grasps template generic programming.

For c++, it is nothing more than OO and GP. In order to further improve OO, Herb Sutter's executive c++ style is an esp long article based on the chairman's many years of experience.

A stl master can't help but understand the template. C++ template is an encyclopedia, which is enough for you to be familiar with GP after reading it.

Andrei alexandrescu's modern c++ design is written by people who are too smart to see.

Level 6

At this time, for C++ grammar itself, you should have reached the realm of arbitrary. What you need to practice is probably the design of large-scale C++ programs, the use of some general efficient libraries, and the reasons for doing so.

So C++ iostream and localization, C++ network programming and large-scale C++ programming are what you need.

At the same time, C++ textbooks are different: Reflections on C++ by Barbara E Mu and Andrew Keniger is worth reading. It reflects the key idea and programming technology of C++, explains what c++ is like, what it can do, and tells you not only how to program, but also why to program like this. This book appears in many books recommended by C++ experts.

Like C, there is one last book.

Iso+iec+14882-1998c++specification. This is not the Bible, it is the law of C++, and all questions are subject to it. However, there is a footnote, and some details depend on the compiler implementation.

Next is Windows programming.

At least in China, programming in Windows environment is still very marketable.

The first book: Windows Programming by Charles Petzold (Windows Programming).

If there is only one book in the field of windows programming, it is him. Windows programming was first published by Microsoft Press in 1988, and was later considered as the best introductory reading in this field. 1In May, 994, Petzold, as one of only seven people (and the only writer), was awarded the Windows Pioneer Award by Windows Magezine and Microsoft Company in recognition of his contribution to the success of Microsoft Windows. This book is so classic, for Windows programmers, "Look for the answer from Chares' book (window programming). "This has almost become a wise saying.

You can see him in this place, /pw5/, which is available in domestic bookstores, but the electronic version needs careful search.

The second book: Jeffrey Richter's Windows (Windows Core Programming) and Advanced Windows Programming Applications (Windows Advanced Programming Guide).

It is as close as the book above. Let's just say that after reading it, you will regret why you didn't watch it earlier. It is recommended to look at the advanced first, and then at the core.

Personally, unless there is a revolutionary change in windows, reading these three books is enough to cope with the usual Windows programming.

The above three books introduce how to directly use WindowsAPI to realize applications. Generally speaking, it is a very basic but complicated way. There are many programming libraries under Windows, and both VC and BCB have their own excellent libraries.

For VC, the version is different. If it's version 6.0, you basically have only one choice, but for versions after 2002, including the newly released 2008, MFC, ATL and. The nets are all good.

For MFC.

To learn how to use it, you can look at these books:

The Chinese version of a series of books authorized by Microsoft Press is entitled "Technical Insider of Programming Visual C++ 6.0 (5th Edition)" by David J.Kruglinski, Scotwing and George Shepherd, which is the fifth edition of the classic "Technical Insider of Visual C++".

Tsinghua University Publishing House published Yang's Practical Course of ·《Visual c++ 6.0 (second edition). This book is not so classic, and there are many similar books, but the advantage is that it is cheap and can be bought, and some books are no longer available.

If you want to understand the principle of MFC, Hou MFC 》(Dessecting MFC is worth reading carefully.

Because. Net in VC2002-2008, it seems that there are no classic books such as Windows programming, after all. Net has not appeared for a long time. But there are still some things that are related to. net MFC ATL。

The quality of Visual C++. NET: How to Program, written by H.M.Deitel, P.J.Deitel, J.P.Liperi and C.H. Yaeger * *, is considered excellent. Do you remember Daitl, the author of Father and Son? On chinapub, you can see as many as 47 sets of teaching materials for father-son cooperation, and they all sell well. I think they are like Tan Haoqiang in the United States, but their level is much higher.

The inside story of Visual C++. Net technology (6th edition) by George Shepard and David Krugelinsky. The. NET upgraded version of the above books.

IVOR HORTON's Classic Introduction to VISUAL C++ 2005 can also be read.

Before version 6, BCB used the famous VCL library, while BCBX used the wxWidgets library. Because the author himself has never dabbled in BC, please look up the textbooks of these two libraries by yourself.

Just like the standard documents of C++ and C, there is a miracle similar to Wanbaoquan in Windows programming, that is, MSDN introduced by Microsoft itself.

MSDN stands for Microsoft Software Developer Network. This is Microsoft's development plan for developers. You can view information about software development at. VisualStudio includes the CD-ROM of MSDN Library, including the help files of VisualStudio and many technical documents related to development. The MSDN library is updated quarterly. You can subscribe to the updated CD from Microsoft, but the price is not cheap.

MSDN is Microsoft's technical encyclopedia, and all the public data of Microsoft software system development are on it. If you can't find the answer there, you can only try to consult the hidden cheats from Microsoft internal engineers. Don't expect to read it all. Documents with 3G capacity (mostly text, not pictures and videos) are too large.