【正文】
ically. As a generalpurpose programming language, C has been closely associated with UNIX system where it was developed, since both the system and most of the applications that run on it are written in C. The language , however, is not tied to any one operating system or machine。 any expression, including an assignment or a function call, can be a statement. Pointers provide for machineindependent address arithmetic. C provides the fundamental controlflow constructions required for wellstructured programs: statement grouping, decision making (ifelse) , selecting one of a set of possible cases (switch), looping with the termination test at the top (while, for) or at the bottom (do), and early loop exit (break). Functions may return values of basic type, structures, unions, or pointers. Any function may be called recursively. Local variables are typically “ automatic” , or created anew with each invocation. Function definitions may not be nested but variables may be declared in a blockstructured fashion. The functions of a C program may exist in separate source files that are piled individually. Variables may be internal to a function, external but known only within a single source files, or visible to the entire program. A preprocessing step performs macro substitution on program text, inclusion of other source file, and conditional pilation. C is a relatively lowlevel language, meaning that C deals with the same sort of objects that most puters do, namely characters, numbers, and addresses. These may be bined and moved about with the arithmetic and logical operators implemented by real machines. C provides no operations to deal directly with poseite objects such as character strings, sets, lists, or arrays. There are no operations that manipulate an entire any storage allocation facility other than static definition and the stack discipline provided by the local variables of functions。 there are no Read or Write statements, and no builtin file access methods. All of these higherlevel mechanisms must be provided by explicitlycalled functions. Most C implementations have included a reasonably standard collection of such functions. Similarly, C offers only straightforward, singlethread control flow: tests, loops, grouping, and subprograms, but not multiprogramming, parallel operations, synchronization, or coroutines. Although the absence of some of these features may seem like a grave deficiency, keeping the language down to modest size has real benefits. Since C is relatively small, it can be described in a small space, and learned quickly. A programmer can reasonably expect to know and understand and indeed regularly use the entire language. In 1983, the American National Standard Institute (ANS