C language learning together: C language development and custom learning plan

How to learn a language? The problem has always been associated with different answers.

Benpian from the beginning of the regularly published "Learning C language with> series, this series guiding you to fly the C language in the world, in this vast sea of ​​knowledge, you will feel to learn a language should have what conditions.

Foreword

Early exposure program had never been seen, the programming world is full of mysterious feeling, for me, is so far away. You might ask, why do you say? Me slowly come ...
a student, I am more addicted to the game, leading the score is not very good, to what extent is it obsession? Take the "xx Journey xx" is sometimes in order to complete all copies of this week can not sleep at night, in order to bring a favorite animal, 2 consecutive months with a trumpet money (probably during the summer ...) ...
While playing games a waste of time and a waste of energy, but then achievements are numerous, almost every game close to the level of professional players. Reasons fond of computer time, the university also chose a computer professional, so Wanwusangzhi life has been to work nearly five months ago, my parents were more worried about my future development (think of it now is relatively guilt ~), deliberately let my brother I do ideological work, generally is to let me re-learn programming focus shifted to learning and work ...
I learned first official language is C language, then took three days to complete the entry (to understand the basic syntax ) study, perhaps the time to get my brother attitude is firm recognition (also at that time to establish self-confidence), on the road from the wave programming and further away.
For me, to learn programming necessary condition for the following three points:
1. Believe in yourself:
find the right direction to keep going and do not look back.
2. learn to comprehend:
learning was a cumbersome and tedious process, suffer in silence during this process brought about by the pressure and realize their own learning (memory) mode.
3. Progressive cycle:
whenever learn new knowledge, combined with previous knowledge can be learned quickly incorporate new areas of knowledge, learning and have their own ideas.

Whenever learn new knowledge, lost part of not missing, how confused into force this should also be required ninety-nine percent effort plus one per cent inspiration, of course, talent is acquired through the efforts of the accumulation.

text

1. Understand the C language

"Things are not having a real value, without going through the hard work and hard can get." - Thomas Edison

Everyone on the "learning" have different views, some people say that learning is simple, some people say that learning is a complex, painful, in the opinion of the author "learning" is a process, accompanied by pain happy, it is divided into three stage: understanding, awareness and use. This section of the course with you to understand the development of the C language, providing a huge imagination for our next study.

1.1 C language development

Before the formal contact with the C language, we first look at the development process of the C language:
1972 Bell Labs Dennis M.Ritchie make improvements on the basis of language B, C eventually named after the birth of this new language.
C language is designed for reuse and portability, before the C language, migration project is difficult, expensive (technical aspects), early programmers doing some duplication of work, changing the advent of the C language this situation.
C language early, there is no uniform standard, the major manufacturers compiler written in a unique style, written in a way no clear guidelines from the portability is concerned, this is not desirable.
In 1978, the preparation of Bran W.Kernighan and Dennis M.Ritchie The C Programming Language was published, the book became the first unofficial standard C language reference.
In 1983, the American National Standards Institute (ANSI) established a committee X3J11, according to various versions since the advent of C language development and expansion, has developed a first draft standard C language ('83 ANSI C).
In 1989, the American National Standards Institute (ANSI) published a full standard ANSI X3.159-1989, referred to as the C89 standard, also known as ANSI C.
In 1990, the International Organization for Standardization (ISO) certification C89 as an international standard ISO / IEC 9899: 1990, referred to as the C90 standard.
In 1995, the International Organization for Standardization (ISO) to revise C90, called ISO / IEC 9899: 1990 / Amd 1: 1995, referred to as the C95 standard.
In 1999, the International Organization for Standardization (ISO) be based on the C95 amendment adds some features, known as ISO / IEC 9899: 1999, referred to as the C99 standard.
In 2011, the International Organization for Standardization (ISO) be based on the C99 again revised, new standards to improve the compatibility of C ++, and adds some new features, referred to as the C11 standard.

1.2 C language has properties

"Knowing your enemy's friend, know yourself." - "Grandson seek to attack."

1.2.1 efficiency

Both close to the C language compilation of language efficiency, ease of use and high-level language. In the design, grammar lucid and full use of the advantages of the current computer on the ability to execute. After years of development, C language application scenarios have become very widespread, the use of either from the operating system to the upper application.

1.2.2 portability

Mainstream C, C ++ supports the GNU compiler is more or less relevant license (GNU stands for GNU is Not Unix), when we use programs written in the C standard library ported to other systems, with virtually no incompatibility. Of course, also we need to define the relevant reference system platform to make some changes.

1.3 C language application scenarios

The use of C language is widely used, described in a phrase is "heaven into the earth, all-powerful." C language is a golden age in the 1980s or so, UNIX system was rewritten in C language, since then, become the C language development system preferred language.
In embedded C language, database, server, microcontrollers, compilers and so was a great success, written in C programs can greatly reduce program size.

1.4 customized learning goals for themselves

Knowledge of the process of learning is boring, programming as well. Learn programming time authors, complex emotions, arguably interest accompanied by confusion.
Interests: Computer amazing friends! You can do things that humans can not do, if perhaps learn programming can be like those great God, and all-powerful in the computer industry, omnipotent.
Confused: Programming too strange for me, if I can learn knowledge of them, if you can stick with it, if you can find a job after he learns?
Most beginners will be more or less these mood swings, for the field do not understand, we are very cautious, this is human nature.
As an author who come, more or less through some ups and downs, and every period of low mood Bianxiang close friends and relatives to ask: worked as a programmer friend answer given by most of the then hold on, try again. And in another industry for friends occasionally support learning, mostly confused with ...... (case author and friend forced to look ignorant).
Now think of the feeling of the program: entry is relatively easy, intermediate or want to reach a higher level of need is patience. One week for 3 days or more time after work one to two hours a day out to view data or source code, a month can feel significant changes, such as the lifting of thinking, a problem to find information faster and so on.
Here the authors provide their own customized learning plan for your reference:
Getting Started on: each chapter sequence learning knowledge, experience problems do not understand the contents of the previous chapter should review and analyze the current predicament, think twice faster can help us out of the woods in the new knowledge points.
Early Programming: carefully written every example and learn to take notes, knowledge of general circulation in accordance with a gradual approach to gradually increase the difficulty, whenever forget the knowledge learned can quickly enter new knowledge by looking at notes.
Programming the mid-: with basic programming techniques and ideas as a precondition. First, learn to look for new knowledge, analysis and design style of the classic examples of design and background (such as the design of this program under what circumstances), whenever a new insight, blog or a way to write programs can use the example of their own, domestic blog platforms, many of them CSDN is the author writing a common platform.
Programming late (master): record R & D knowledge in life, preparation of large-scale projects in the core module, there are daily blog post.
Learning programming, more or less will encounter difficulties, insist on early heart to go farther and farther on this road.

1.5 learn to solve problems

In the section, we learned that the basic method of learning programming, complex problems encountered when just learning to understand there is some shame.
When they encounter problems, we have at least four solutions:

  1. Consult programming expert or teacher
    Typically, a wealth of programming experience than our people collectively referred to as the master. First, they have a broader field of programming ideas, even if some of the complex issues they had any contact, but can also provide basic solution ideas. In addition, they believe that in the case of thinking that leads to nowhere, can provide other implementations.

  2. Internet search for information
    in certain circumstances, such as there are not too ashamed or deeper owned programmers (toward senior programmer), web search data may be a good choice.
    Web search data is divided into the following categories:
    2.1 official information
    when they encounter problems, look for official information is a more direct way, but the basic requirement is slightly higher, not suitable for entry or junior programmers.
    2.2 Portal Search
    domestic portals mainly Baidu, Sina, Tencent, Netease, Sohu, Baidu recommended.
    There are foreign portals Google (Google), Yahoo (Yahoo), etc., it is recommended to use Google, but requires circumvention tools.
    2.3 hosting platform
    global open source project with a relatively large number of Github, on Github is mainly used to access these open source projects, you can refer to, or refer them to download the source code in the project document, generally used biased in favor of high-level programmers.

  3. Read books
    If you experience problems many and complex, and the need to understand the principles involved, reading books can enhance the understanding of all aspects, of course, a way of reading books is the most time-consuming.

  4. Post for help
    in CSDN forum center, you can see a lot of help paste text, after registering an account, we can also use this feature.

Published 87 original articles · won praise 195 · views 170 000 +

Guess you like

Origin blog.csdn.net/a29562268/article/details/103666071