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.
Characteristics
(i) Flexibility; (ii) Portability and (iii) Modular approach.
(i) Flexibility:
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.