C Programming Language Notes (i) Preface and introduction

Source: Internet
Author: User

The C language was originally designed and implemented by Dennis Ritchie in 1973 and was originally conceived as a programming language for UNIX systems.

The C programming Language published the first edition of the book in 1978.

In 1983, the National Standards Institute (ANSI) set up a committee with the goal of "a non-ambiguous and machine-independent definition of language" while maintaining the original "spirit" of the C language, which produced the ANSI standard for C .

C language is a common language. It has a very close connection with UNIX systems.--c languages are developed on UNIX systems, and most of the programs that run on UNIX or on it are written in C. However, the C language is not restricted to any one operating system or machine. Because it is well-suited for writing compilers and operating systems, it is called a "system programming language", but it is also suitable for writing most programs in different areas.

Many of the important concepts of C are derived from the Bcpl language. The influence of BCPL on C language indirectly comes from B language

Both the BCPL and the B languages are untyped languages. The C language provides many data types. Its basic types include characters, shaping with multiple lengths, and floating-point numbers. In addition, various data types that are generic pointers, arrays, structs, and union derivations.

A function can return a value of a base type, struct, union, or pointer type. Any function can be called recursively. Local variables are usually "automatic", which is re-created each time a function call is made.

Variables can be valid only within a function or outside of a function, but only in one source file, and can be valid throughout the program.

The pre-processing phase of the compilation replaces the program text with a macro, contains additional source files, and makes conditional compilation.

C language is a relatively "low-level" language. This is not a derogatory remark, it simply means that the C language can handle objects that most computers can handle, such as characters, numbers, and addresses. These objects can be combined and moved by a specific machine-implemented arithmetic operator and logical operator.

The C language does not provide operations that directly handle compound objects such as strings, collections, lists, or arrays.

Although the entire structure can be copied as a unit, the C language does not handle the entire array or string operation.

In addition to the static definitions and stacks provided by local variables of the function, the C language does not define any memory allocation tools, nor does it provide heap and useless memory reclamation tools.

Finally, the C language itself does not provide input and output functionality, and there are no read and write statements. There is also no built-in file access method.

All of these high-level mechanisms must be provided by explicitly called functions. Most implementations of the C language have reasonably included a standard set of these functions.

Similarly, the C language only provides a simple single-threaded control flow, which does not provide multi-channel programming, parallel operation, synchronization, and co-routines.

A library of functions is defined in ANSI. It describes a number of functions such as accessing the operating system, formatting input and output, memory allocation, and string manipulation. The standard also defines a series of standard header files that provide a uniform method for accessing function declarations and data type declarations. This ensures that there is a compatible behavior between programs that use this library to interact with the host system.

C Programming Language Notes (i) Preface and introduction

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: info-contact@alibabacloud.com 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.