C is an imperative (procedural) language. It was designed to be compiled using a relatively
straightforward compiler, to provide low-level access to memory, to provide language constructs
that map efficiently to machine instructions, and to require minimal run-time support. C was
therefore useful for many applications that had formerly been coded in assembly language, such as in system programming.