From this beginning, according to my understanding, the Kernigham and Ritchie "C Programming language (2nd edition • New version)".
0.1 C
C is suitable for writing compilers and operating systems, known as the " system programming language ", bcpl language-->b language-->c language;
data type: Basic (character, multiple length integer and floating point type), derivation (pointer, array, struct, union), expression: operator + operand, always as statement; Pointer: provides an arithmetic operation of the address that is not related to the specific machine;
control Flow structure: Statement Group, conditional judgment (If-else), multi-channel selection (switch), terminating the test at the top of the loop (while, for), terminating the test at the bottom of the loop (do), jumping out of the loop (break) early;
function: can return basic, structure, union, pointer type, total recursive call, local variable, function, variable scope can be changed;
preprocessing: macro Substitution of program text, including other source files, conditional compilation;
The C language does not provide direct manipulation of composite objects (strings, collections, lists, arrays), no storage allocation tools are defined in addition to the static definitions provided by local variables, and no input/output functionality is provided. All of these high-level mechanisms must be provided by an explicit calling function .
imperfections: Some operators have incorrect precedence, and some grammars can be optimized
0.2
ANSI CThe changes
syntax changes: function declaration and definition (modification), structure assignment and enumeration definition (new), Suppress pointer and integer interchange values, require variables to be correctly declared and explicitly coerced type conversions
Define Standard library : access to OS; format I/O; memory allocation; string manipulation; Standard header file (Access function declaration or data type declaration);
Proposed portability , preset a constant set to describe machine characteristics;
0.3 book Structure
The 1th Chapter: C language core part;
Chapter 2-6: language Features
Basic data types, operators, expressions;
Control flow;
Functions and program structures (including external variables, scope rules, and multi-source files), and preprocessor;
pointer and address arithmetic;
Structure and union;
7: standard library, all C-enabled machines support it
8: C and UNIX interface: I/O; file system; Storage allocation
Appendix A: Language Reference Manual Concise version: For programmers to see, ANSI C is to write the compiler to see
Appendix B: Standard Library Compact version
Appendix C: Summary of changes to ANSI C and original C. Standards and individual compilers are the ultimate authority for interpreting languages.
"C Programming Language (2nd Edition/New Version)" Chapter No. 0 Introduction