From The Handbook of Object Technology (Editor: Saba Zamir). CRC PRESS LLC, Boca Raton. 1999. ISBN 0-8493-3135-8.
An Overview of the C Programming Language
Overview C programming language
Bjarne Stroustrup
AT & T Laboratories
Florham Park, NJ07932-0971, USA
[Original person]: Bjarne Stroustrup (C designer)
[Translator]: K] [N g of @RKTM
[KINGOFARK]: Translation This C father's big master is really a double tootion, let's have a big fight against my English level, I have also revealed my national language level "insufficient The old bottom of the outside world. In fact, this is not the experience of this translation, I have realized it in the past. - So suddenly one day I found that I am very selfish, very shameless, because I have translated, nothing is improving my English reading ability; translation Unlaking article, and not to say that it is not worthy of the original, at least a lot of high, the low hand is forced to give me the opinions and suggestions, and finally I have something to gain. scare! Is this not selfish? Isn't this shameless? ... When I present this article unconditionally (ie, mandatory) to everyone, I have already faced red, and I am free. So, please cast aside me, criticize me, teach me. I am living! ... Sincerely look forward to everyone to criticize me.
Summary
By way of example, this article introduces some of the key concepts in the following three aspects: C design, C programming, and technical content of C language. C is a partial partition-oriented programming, a general purpose programming language; it supports efficient low-level operations, data abstraction, object-oriented programming, and model programming.
1 Introduction and Text Overview (Introduction and Overview)
The C programming language provides a model for calculation and storage, which is extremely close to the calculation and storage models used by most computers. The language structure of C also provides adaptive, powerful abstract mechanisms for abstracting problems; this language structure allows programmers to create and use new types (Type), and these new types It can be adapted to the concepts contained in the actual application. It can be seen that C supports both low-level programming styles and supports high-level programming style. Among them, the low-level programming style is based on the direct manipulation of hardware resources, with this to get a considerable efficiency; while high-level programming style is based on user-defined new types, Provides such a data and calculation model: When a task is completed, the model used by the computer is very similar to the model used by human own and completes the task. These high-level programming styles are often described as data abstraction, object-oriented programming, and model programming.
This article describes the main programming style of C direct support, including:
[§2 C design and evolution]:
Introduce the design objectives of the C language and its evolutionary principles;
[§3 C program design model]:
Describes the C-language subset included in C and other language facilities that support traditional system programming style; [§4 C abstract mechanism]:
Introducing the concepts and usages of class (Class) (how to define new types that can be used as in-house use); how the abstract class is used to provide a variety of different types of objects; description The class hierarchical mechanism used in object-oriented programming; and a template mechanism for supporting the model program design;
[§5 large scale programming]:
Description Namespace and an Exception Handling mechanism (when multi-independent components are combined with a complete program, use them to slow down the difficulty of the entire process);
[§6 C standard library]:
Introduce some standard amenities, such as input / output stream, string, container (such as vector, List, and Map), a model algorithm (such as sort (), find (), for_each (), etc.), and support for mathematical calculations.
Finally, this article also introduces some applications that use C and give suggestions for further reading.