C language is a general purpose, structured programming language. Among the two types of programming languages, C lies in between these two categories. That’s why it is often called a middle-level language.
It means that it combines the elements of high-level languages with the functionality of assembly language.
It provides relatively good programming efficiency (as compared to machine-oriented language) and relatively good machine efficiency as compared to high-level languages).
As a middle-level language, C allows the manipulation of bits, bytes and addresses – the basic elements with which the computer executes the inbuilt and memory management functions.
C code is very portable, that it allows the same C program to be run on machines with different hardware configurations. The flexibility of C allows it to be used for systems programming as well as for application programming.
C is commonly called a structured language because of structural similarities to ALGOL and Pascal.
The distinguishing feature of a structured language is compartmentalization of code and data.
Structured language is one that divides the entire program into modules using the top-down approach where each module executes one job or task. It is easy for debugging, testing, and maintenance if a language is a structured one.
C supports several control structures such as while, do-while and for and various data structures such as structs, files, arrays etc.
The basic unit of a C program is a function – C’s standalone subroutine. The structural component of C makes the programming and maintenance easier.