C is an imperative procedural high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell Labs. C was originally first implemented on the DEC PDP-11 computer in 1972.
1960 — ALGOL-60 language came through but it was got failed.
1963 — at Cambridge (UK), CPL ( Combined Programming Language) existed but got failed because it is too big language hard to learn and difficult to write program.
1967 — Martin Richards (from Cambridge) written BCPL (Basic Combined Programming Language) got failed due to too less powerful.
1970 — Ken Thompson written ‘B’ Language at AT&T (American Telephone & Telegraph) Bell Labs got failed because as same as ALGOL.
1972 — Dennis Ritchie written ‘C’ Language at AT&T Bell labs.
1973 — UNIX OS was totally written in ‘C’.
1978 — Brian Kernighan and Dennis Ritchie published the first edition of The C Programming Language.
1983 — American National Standards Institute (ANSI) formed a committee, X3J11, to establish a standard specification of C. X3J11 based the ‘C ‘ standard on the Unix implementation.
1990 — ANSI C standard (with formatting changes) was adopted by the International Organization for Standardization (ISO) as ISO/IEC 9899:1990, which is sometimes called C90.
(i) Flexibility; (ii) Portability and (iii) Modular approach.
a) Freedom– ‘C’ allows lot of freedom to the programmer in developing the program. The rules and regulation of ‘C’ may not be followed compulsorily whereas the other languages such as C++, COBOL, JAVA, etc… are strictly followed.
b) Data Conversion– In ‘C’, conversion from one data type value to another data type value is simple and automatically converted. g :- Char ¬ Int; Int ¬ Char; Int ¬ Float; Float ¬ Int.
c) Low-level functions– ‘C’ language provides alot of low-level functions using which complex mathematical operations can be performed easily. Programs can be written faster. g:- Sqrt ( ), Pow ( ).
(ii) Portability: A program written in one computer, it executes in another computer even though there is a difference in Hardware (or) O.S. This feature is known as “Portability “. That’s why ‘C’ is popular.
(iii) Modular Approach: Dividing the large complex program into small parts which divided into sub-parts as Divider and Conquer method. In ‘C’ , functions are used to implement the modular approach.