- The C programming language is a structure oriented programming language, developed at Bell Laboratories in 1972 by Dennis Ritchie
- C programming language features were derived from an earlier language called “B” (Basic Combined Programming Language – BCPL)
- C language was invented for implementing UNIX operating system
- In 1978, Dennis Ritchie and Brian Kernighan published the first edition “The C Programming Language” and commonly known as K&R C
- In 1983, the American National Standards Institute (ANSI) established a committee to provide a modern, comprehensive definition of C. The resulting definition, the ANSI standard, or “ANSI C”, was completed late 1988.
C programming language standards:
- C89/C90 standard – First standardized specification for C language was developed by the American National Standards Institute in 1989. C89 and C90 standards refer to the same programming language.
- C99 standard – Next revision was published in 1999 that introduced new features like advanced data types and other changes.
C11 and Embedded C language:
- C11 standard adds new features to C programming language and library like type generic macros, anonymous structures, improved Unicode support, atomic operations, multi-threading and bounds-checked functions. It also makes some portions of the existing C99 library optional and improves compatibility with C++.
- Embedded C includes features not available in C like fixed-point arithmetic, named address spaces, and basic I/O hardware addressing.
- Operating systems, C compiler and all UNIX application programs are written in C language
- It is also called as procedure oriented programming language. The C language is reliable, simple and easy to use. C has been coded in assembly language.
Features of C programming language:
- Efficiency and Effectiveness
Uses of C programming language:
The C programming language is used for developing system applications that forms a major portion of operating systems such as Windows, UNIX and Linux. Below are some examples of C being used.
- Database systems
- Graphics packages
- Word processors
- Operating system development
- Compilers and Assemblers
- Network drivers
Which level is C language belonging to?
|High level languages provide almost everything that the programmer might need to do as already built into the language||Middle level languages don’t provide all the built-in functions found in high level languages, but provides all building blocks that we need to produce the result we want||Low level languages provides nothing other than access to the machines basic instruction set|
The C language is a structured language
|In this type of language, large programs are divided into small programs called functions||In this type of language, programs are divided into objects||There is no specific structure for programming this language|
|Prime focus is on functions and procedures that operate on the data||Prime focus is in the data that is being operated and not on the functions or procedures||N/A|
|Data moves freely around the systems from one function to another||Data is hidden and cannot be accessed by external functions||N/A|
|Program structure follows “Top Down Approach”||Program structure follows “Bottom UP Approach”||N/A|
C, Pascal, ALGOL and Modula-2
C++, JAVA and C# (C sharp)
|BASIC, COBOL, FORTRAN|
Key points to remember in C language:
- The C language is structured, middle level programming language developed by Dennis Ritchie
- Operating system programs such as Windows, Unix, Linux are written in C language
- C89/C90 and C99 are two standardized editions of C language
- C has been written in assembly language
C language tutorial reference E-books & research papers:
- [ANSI 89] American National Standards Institute., American National Standard for Information Programming Language C, X3 159-1989
- [Kernighan 78] B. W. Kernighan and D. M. Ritchie, The C Programming Language, Prentice-Hall: Englewood Cliffs, NJ, 1978. Second edition, 1988.
- [Thinking 90] C* Programming Guide, Thinking Machines Corp.: Cambridge Mass., 1990.