Siksha Sarovar

Siksha Sarovar (sikshasarovar.com) is a free educational web application that helps students in India learn programming and prepare for academic and competitive exams. The platform offers structured coding courses (C, C++, Python, Java, HTML, CSS, PHP, Power BI, AI, Machine Learning, Data Science), complete university curriculum notes for BCA/MCA students with previous year question papers, Class 10 and Class 12 CBSE/HBSE school notes, and dedicated preparation material for SSC, UPSC, Banking, Railway and other government exams. Browsing the site is completely free and requires no account. Users may optionally sign in with Google solely to save their learning progress, quiz scores and personal preferences across devices.

Privacy Policy | Terms of Service | Contact Siksha Sarovar | About Siksha Sarovar

v4.0.9 · PWA
Siksha Sarovar logo
Siksha Sarovar
Your Learning Universe

Siksha Sarovar is a free e-learning platform for coding courses, BCA university notes and competitive exam preparation. Optional Google sign-in saves your learning progress across devices.

Initializing knowledge base…
Compiling modules 0%

Unit 1 — History and Features of C

Lesson 2 of 32 in the free C Language notes on Siksha Sarovar, written by Rohit Jangra.

History and Features of C

Origin of C

C was developed by Dennis Ritchie at Bell Labs between 1969 and 1973. It grew out of the B language (itself derived from BCPL) and was first used to rewrite the UNIX operating system.

Timeline:

YearEvent
1967BCPL developed by Martin Richards
1969B language by Ken Thompson
1972C language by Dennis Ritchie
1978"The C Programming Language" book (K&R C)
1989ANSI C (C89) standardised
1999C99 standard released
2011C11 standard released

---

Why Learn C?

  • C is a middle-level language — it has features of both high-level and low-level languages.
  • It is the foundation of many modern languages (C++, Java, Python runtime is in C).
  • Used in operating systems, embedded systems, compilers, and more.

---

Features of C

  1. Simple — easy to learn with a small set of keywords (32 in C89).
  2. Portable — programs can run on different hardware with minimal changes.
  3. Fast — compiled language with direct memory access.
  4. Structured — supports functions and modular programming.
  5. Rich Library — vast standard library for I/O, string handling, math.
  6. Pointers — direct memory manipulation via pointers.
  7. Extensible — you can add your own functions to the library.

---

Structure of a C Program

/* Documentation Section */
#include <stdio.h>       /* Preprocessor Directive */

int main() {             /* Main Function */
    printf("Hello, World!\n");
    return 0;
}

Sections of a C program:

  • Documentation — comments explaining the program
  • Preprocessor directives#include, #define
  • Global declarations — variables/functions accessible everywhere
  • main() — entry point of every C program
  • User-defined functions — additional functions

---

Compilation Process

  1. Source Code (.c file) → Preprocessor → Expanded Source
  2. Expanded Source → Compiler → Assembly Code
  3. Assembly Code → Assembler → Object Code (.obj)
  4. Object Code + Libraries → Linker → Executable (.exe)