In C one can write programs like that of high-level languages as in COBOL, BASIC, FORTRAN, etc. as well as it permits very close interaction with the inner workings of the computer. It is a general-purpose programming language. It is usually called system programming language but equally suited to writing a variety of applications. It supports various data types It follows the programming style based on fundamental control flow constructions for structured programming Functions may be predefined or user-defined and they may return values of basic types, structures, unions or pointers.