C Programming Introduction

C is a powerful general-purpose programming language. C Programming is fast, easy, portable, highly efficient and available on all platforms. That’s the main reason behind its popularity despite being nearly 50 years old.

Standard C programs are portable. The code written in one system works in another operating system without any change.

Early Development of C Programming

C was originally developed by Dennis Ritchie between 1969 and 1973 at Bell Labs and was used mainly for the development of Unix operating system.

Since then C Language became the most widely used programming languages of all time with C compilers from various manufacturers available for the majority of existing computer architectures and operating systems.

C has been standardized by the (ANSI) American National Standards Institute in 1989 as called ANSI C and subsequently by the International Organization for Standardization (ISO).

In 1978, Brian Kernighan and Dennis Ritchie published the first edition of C Programming Language book known to C programmers as “K&R C”, served as an informal specification of the language for many years. The 2nd edition covers the ANSI C standard, described below.

K&R introduced several language features:

  • Standard I/O library
  • long int data type
  • unsigned int data type

Important NOTE: In early versions of C, functions that do not have return type has “INT” as default return type.

C relation with other Programming languages

Many languages developed after C language existence have their syntax or library files written directly or indirectly in C, including C++, JavaScript, C#, Java, Unix’s C shell, D, Go, Limbo, LPC, Objective-C, Perl, PHP, Python, Rust, Swift, and Verilog (hardware description language).

These languages got many of their control structures and other features from C. Most of them have their syntax very similar to C programs in general, and if you know C programming than you can easily understand compile or debug most of the languages without knowing it properly.

Overview of C Programming

C is also a structured programming language and allowing variable scope and recursion. In C, all executable code is divided into subprogram called as “Functions”. Function parameters are always passed by value. Pass-by-reference is achieved in C by explicitly passing pointer values while calling the function.

C program source is a simple text, free from any format and a semicolon at the end of each line called “Statement terminator” and curly braces for grouping blocks of statements.

The C language has the following characteristics:

  • C has a rich set of keywords, including the set of control flow statements such as for, if/else, while, switch, and do/while.
  • C has a large number of arithmetical and logical operators, such as,+, +=, ++, &, ~ etc.
  • More than one variable assignment can be performed in a single statement separated by a comma.
  • All data and variables have a type, but implicit conversions may be performed during execution.
  • User-defined (typedef) data type and compound types are possible.
  • “Struct” datatype allows the user to group co-related different data type elements in a single user-defined datatype.
  • Union is a structure with only the last initialized member has valid memory and Union gets the memory size of the largest datatype it contains.
  • Pointers allow Low-level access to computer memory.
  • A preprocessor directives used to performs macro definition, source code file inclusion, and conditional compilation.


  • C language used in creating computer applications and Embedded software.
  • Firmware for industrial and communications products which uses micro-controllers.
  • Used in developing Compiler for different Languages which covert input from other language into lower level machine language.
  • C is used to implement different OS Operations.
  • UNIX kernel is developed in C Language.
  • C & C++ used in developing VLC player.
  • C language is also used in database engines and Device driver development.

C does not include some features found in other languages, like object orientation or garbage collection, such features can be implemented or emulated in C, often by way of external libraries (e.g.,GLib Object System or the Boehm garbage collector ).

Notify of