History

  • C is a programming language developed at AT&T’s Bell Laboratory of USA in 1972.
  • It was designed and written by Dennis Ritchie.
  • Dennis Ritchie inherited the features of B and BCPL programming language and added some features on his own and developed a language called C.
  • Dennis Ritchie first implemented C on a DEC PDP-11 that used the UNIX Operating System.
  • Brain Kernighan is the main contributor in designing the C language after Dennis Ritchie

Introduction

  • Language
    • A language is a mode of communication between two objects/people.
    • It is necessary for those two objects/people to understand the language in order to communicate.
    • If the two objects/people do not understand the same language of communication, a translator can help to convert one language to the other, understood by the second objects/people.

Definition

  • C is a  standardized, industrial-strength, general purpose, mid-level, procedural/structured programming language known for its power and portability.

Characteristics/Features

  • C lies in between low level language and high level language categories. That’s why it is often called a middle level language. This is because it combines the elements of high level languages with the functionality of assembly language.It provides relatively good programming efficiency (as compared to machine 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.It binds the low level and high -level programming language. We can use C language as a System programming to develop the operating system as well as an Application programming to generate menu driven customer driven billing system.
  • The main properties of C programming language are –
    • Simple – C is a simple language because it follows the structured approach, i.e., a program is broken into parts.
    • Portability – Provides platform independent feature i.e. the program is written can be run on any machine with little or no modifications.
    • Mid Level – C is a mid-level programming language as it combines the low- level language with the features of the high-level language.
    • Modularity – Provides possibility to break down large programs into small modules.
    • Flexibility – Provides the possibility for a programmer to control the language.
    • Speed – As we know that C comes with support for system programming feature and hence it compiles and executes with high speed when compared with other high-level languages. It is very fast as it uses a powerful set of data types and operators.
    • Memory Management – C provides an inbuilt memory function that saves the memory and improves the efficiency of our program.
    • Structured C is a structured language as the C program is broken into parts.
    • Extensibility – Provides to add new features by the programmer when need.
  • C supports several control structures such as while, do-while and for and various data structures such as structures, files, arrays etc.
  • C is a case sensitive language.
  • All C programs consist of one or more functions. One compulsory function that must be present in every C program is main() function. This is the first function called up by the compiler when the program execution begins. Basically, main() is user defined function that outlines what a program does. Although main is not given in the keyword list, it cannot be used for naming a variable.Every C program contains a function called main(). This is the starting point of the program. This is the point from where the execution begins.
  • It is a robust language with rich set of built-in functions and operators that can be used to write any complex program.
  • The C compiler combines the capabilities of an assembly language with features of a high-level language.
  • Programs Written in C are efficient and fast.
  • C is commonly referred to as the mother language as it is generally considered to be one of the most prominent programming languages. Since its development in 1972, it has gone on to become the most widely used programming languages of all time. Most of the compilers, JVMs, and kernels in use today are written in C. Most of the languages which are developed after C language has borrowed heavily from it like C++, Python, Rust, javascript, etc. It introduces new core concepts like arrays, functions, file handling which are used in these languages.
  • They support extensive use of pointer implementation.
  • C language has variety of data types and powerful operators.
  • C is highly portable language. i.e. C programs written for one computer can easily run on another computer without any change or by doing a little change.

Advantage

  • C source code is very portable, i.e. it allows the same C program to be run on machines with different hardware configurations.
  • C is very flexible language that is why it is used for systems programming as well as for application programming.
  • C language is a building block for many other currently known languages. 

Disadvantage

  • It is a primitive programming language.
  • Debugging is difficult.
  • C compilers can only identify errors and are incapable of handling exceptions/run time errors.
  • C doesn’t support Object Oriented Programming(OOP) features.
  • It does not support constructor and destructor.
  • C does not support for namespace like C++. Without Namespace, we cannot declare two variables of same name.

Editor and Platform for C Program

  • A C program can be executed on platforms such as DOS, UNIX,Window operating system etc.
    • DOS operating system stores C program with a file extension .c. Program code can be entered using any text editor such as Notepad, DOS Editor, Unix or Linux Vi Editor or any other specific compiler added with editor such as Turboc2, Turbo C, Dev C++, Code Block etc.
    • UNIX operating system also stores C program in a file extension .c. The program is written in Unix/Linux specific text editor like vi, emacs or xedit editor. To write/edit a C file in Unix/Linux we use a popular specific editor called vi editor.

Structure of a C Program

Pre-processor directives(#) with header files
Global variable/data declarations         /* if required */
returntype main ( )                              /* main function*/
  {
     Variable declaration part;
     Input program statements;
     Processing program statements;
     Output program statements;
  }
/* User defined functions, if required */
    func1( )
     {
           program codes/statements;
     }
   func2 ( )
    {
           program codes/statements;
    }
    .
    .
    .
   func n ( )
    {
           program codes/statements;
    }

Execution of C Program

Use/Applications

  • To develop application software like databases and spread sheets.
  • It can be used to design the most complex system software like operating system and compiler.
  • It develops graphics related applications like computer and mobile games.
  • C language is able to evaluate any kind of mathematical equation.
  • It is used to develop the core part of UNIX operating system called Kernel.
  • It can be used to design Network Devices.
  • C‘ language is widely used in embedded systems
  • It is widely used for developing desktop applications.
  • Most of the applications by Adobe are developed using ‘C‘ programming language.
  • It is used for developing browsers and their extensions.

Loading

Categories: C

0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.