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