How to learn C language well

Source: Internet
Author: User
Tags map data structure

Many people feel that learning C language is not enough, often ask me the same question: How exactly to learn C language? I am a teacher and have developed a program for many years. Like many people who have just started, the first computer language to learn is the C language. After these years of development, I deeply appreciate the C language for a program designers how important, if you do not understand the C language, you want to write the underlying program this almost sounds ridiculous, do not understand C language, you want to write excellent and efficient procedures, this is simply. Why is C language so important?

First: C language grammar structure is very concise and exquisite, write the program is also very efficient, very easy to describe the algorithm, most programmers are willing to use the C language to describe the algorithm itself, so, if you want to be in the program design achievements, you have to learn it.

Second: C language can let you deep into the bottom of the system, you know the operating system, which is not written in C language? All of the Windows,unix,linux,mac OS, without an exception. If you don't understand the C language, how can you go deep into these operating systems? Not to mention that you're writing their kernel program.

Third: Many new languages are derived from the C language, C++,java,c#,j#,perl ... Which one isn't it? Master the C language, you can say that you have mastered a lot of language, after a simple study, you can use these new language to develop, this once again validated the C language is the important basis of program design. And Ah, say a little more: Even now recruit programmers, exams are test C language, you want to join IT industry, then you must master the C language.

So how do you learn C language?

1. 工欲善其事, its prerequisite

Here are a few things to learn C language must:

A development environment, such as Turbo C 2.0. This used to occupy the DOS era of the development process of the half of the land. But now the Windows age, with Turbo C feel inconvenient, edit the program is very difficult, but no function variable automatic induction function, query reference materials are not convenient. It is recommended that you use Visual C + +, which is relatively bulky, but once installed, it is convenient to use.

A learning course, now a lot of C language textbooks, but recommended the use of "C language Programming" (Tan Haoqiang Editor-in-Chief of the second edition of Tsinghua University Press), the book is written for beginners, and the content is also very essential.

In addition, there are a lot of assistive learning software, after all, now is the window era, learning software a dime, not as we have studied, only reading to do the problem so cliché. I recommend to you one--integrated learning environment (C language), the knowledge points in the summary and routine explanation are very good, there is a test bank testing environment, is said to have thousands of problems, and even a windows under the Turbo C. Beginners do not even have to install other compilers, you can practice programming, very suitable for beginners. There is also a "C language learning system" software, but the feeling is just a question bank system, if you think the problem does not enough, may wish to try.

2. Sunflower Treasure

What's the best way to learn computer language? Answer Yue: Read the procedure.

Yes, reading program is the fastest and best way to learn C language. As I am, I now learn new j#,c# and other languages, instead of holding the book line by row gnawing, but learning their routines. Of course, for beginners who have not learned any computer language, it is better to read the tutorials first, to finish each chapter, to understand all the concepts of this chapter, and then do not let go of all the routines mentioned in this chapter, and then carefully study the program until each line is understood, and then find a few programming questions, It is better to be similar to the routine or the same, you try to write this paragraph has been read the program, do not think that you have read the routine, you can write the same program, absolutely not, do not believe you try it. If you can't write it, don't worry, go back and study the routine, think about why you can't write it, and then write it again and again until you extremely easy. Congratulations, you're getting started.

3. The Pinnacle

The highest level of writing a program is to master a variety of means to solve problems (data structure) and solve the problem of the method (algorithm).

is writing the underlying program a master programmer? Not too. Write the underlying program, nothing but the hardware structure, and hardware and hardware is not the same, to give a chip to write the driver, is to master the chip of the various registers and its combination, and then write value reading value, nothing more. It's just familiarity with some IO functions. So how do you master programming? For example: You have 10 people in front of you, find a person called "John", What should you do? The first method, directly to the 10 people asked: "Who is called John?" ”。 The 2nd way, you ask each one: "You are not John?" "Until the one who asks is John. The third way, you ask each person: "Do you recognize John?" Show me. " Do not underestimate this question, you say of course will choose the first method, yes congratulations you correct. Because this method is the fastest and most efficient. But finding the best solution to the problem in programming and the means you use is an important sign of a programmer's level of programming, and it's not easy to achieve. Just now this problem is similar to the map data structure, exhaustive lookup and binary lookup in data structure and algorithm. So master the data structure and some commonly used algorithms, is the peak of the inevitable road. Finally, we recommend Min's "Data Structure" (Tsinghua University Press), and I hope everyone who wants to be a master of programming will read this book.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.