Historical Development of C
- C programming language was developed in 1972 by Dennis Ritchie at bell laboratories (Formerly AT&T Bell Laboratories - American Telephone & Telegraph), located in the U.S.A.
- It was developed to overcome the problems of previous languages such as B (1970), BCPL (1967), etc. Therefore it inherits many features of previous languages such as B and BCPL.
- Initially, C language was developed to be used in UNIX operating system.
Features of C Language
Simple: C code resemble with English language which is simple to understand.
Machine Independent or Portable: C programs can be executed on different machines.
Structured programming language: C is a structured programming language in the sense that we can break the program into parts using functions and it also provide code reusability.
Rich Library: C provides a lot of inbuilt functions that make the development fast.
Memory Management: It supports the feature of dynamic memory allocation. In C language, we can free the allocated memory at any time by calling the free() function.
Fast Speed: The compilation and execution time of C language is fast.
Pointers: We can directly interact with the memory by using the pointers.
Recursion: In C, we can call the function within the function. It provides code reusability for every function.
Extensible: C language is extensible because it can easily adopt new features.
C in Present Context
- According to Toptal, UNIX operating systems are written in C and most of Linux is also in C.
- For decades, the world’s most used operating system i.e. Windows OS, with about 90 percent of the market share, has been powered by a kernel written in C.
- Every program and driver in a Mac, as in Windows and Linux computers, is running on a C-powered kernel.
- iOS, Android and Windows Phone kernels are also written in C. They are just mobile adaptations of existing Mac OS, Linux and Windows kernels. So smartphones you use every day are running on a C kernel.
- Also databases such as Oracle Database, MySQL, MS SQL Server, and PostgresSQL are coded in C.
- Other programming languages, like C++, C#, JAVA are derived from the language C and the compilers or interpreters of Python and Perl, are also written in C.
Structure of C Program
1. Documentation section |
/* Program name: Addition of two numbers given by user. */ Author: Jen Date: May 30, 2021 Time: 11:00 A.M. |
2. Link section |
#include < stdio.h > #include < conio.h > #include < math.h > |
3. Definition section |
#define PI 3.1415 |
4. Global declaraction section |
void message(); // Function prototype decleration int a,b = 10; |
5. Main function section |
void main()
{
int a, b, c; //declaration part
clrscr();
printf(“Enter the value for a,b”);
scanf(“%d%d”,&a,&b);
c=a+b;
printf(“Required sum is %d”,c);
message(); //calling function
getch();
}
|
6. Subprogram section |
void message() //called function
{
printf(“This is user define function”);
}
|
1. Documentation section
Documentation section consists of comment lines which include the name of the program, name of the programmer and other details like time and date of writing the program. Documentation section helps anyone to get an overview of the program. Comments should be enclosed in /* */ and can be written anywhere in the program.
2. Link section
Link section consists of the header files of the functions that are used in the program.
It provides instructions to the compiler to link functions from the system library using the #include directive. A large number of already define general purpose functions are stored in system library.
3. Definition section
This section defines all symbolic constants using the #define directive. Macros are known as symbolic constants.
4. Global declaration section
There are some variables that are used in more than one function. Such variable are called global variables and declared in the global declaration section that is outside of all the functions.
This section also declares all the user-defined functions.
5. Main function section
Every C program must have a main function to start the execution of the program. Body of main function consists of declaration and executable parts enclosed by the opening bracket {and the closing bracket}.
a. Declaration part: The declaration part declares all the variables used in the executable part.
b. Executable part: There must be at least one statement in the executable part.
All statements in the declaration and executable part end with a semicolon. The closing bracket of the main function is the logical end of the program.
6. Subprogram section
The subprogram section contains all the user-defined functions that are called from the main function. These functions are generally placed immediately after the main function, although they may appear in any order.
Note: All section, except the link section and main () function section may be absent when they are not required.