Introduction to C
Last Updated : Jan 2026
In Previous sections, we understand programming, algorithms, programs, compilers, let's understand C itself.
C is a general-purpose, procedural programming language.
It was designed to provide a good balance between:
- Human-readable programming
- Direct control over computer memory
- High performance
- Portability
C is one of the foundational languages of modern computing. Many technologies and languages are influenced by C, including C++, Java, C#, and others. Before C, developers commonly used languages such as Assembly and B for system-level programming.
Assembly provides very low-level control, but writing large programs in Assembly is difficult. C was designed to provide something between:
High-level languages
↑
│
C
│
↓
Low-level Assembly
So C gives us relatively readable syntax while still allowing direct memory manipulation. This is one reason C is still important.
History of C
C was developed by Dennis Ritchie at Bell Labs in the early 1971. It evolved from earlier languages, particularly:
BCPL
↓
B
↓
C
C became especially well known because it was used extensively in the development of the Unix operating system. You might wonder:
"If C is old, why should we learn it?"
Because C is still extremely useful. C is used in areas such as:
- Operating Systems : Parts of operating systems and system software are written in C.
- Embedded Systems, For example:
- Microcontrollers
- IoT devices
- Automotive systems
- Electronic devices
- Industrial controllers
- Compilers, Many compilers and low-level tools use C or C-like languages.
- Database systems
- Networking, C is widely used for high-performance networking and system software.
- Game Engines
- Hardware-Level Programming
Characteristics of C
Procedural : Programs can be organized into functions and procedures. For example:
main()
↓
calculate()
↓
display()
Statically Typed : The type of a variable is determined as part of the program's declarations. For example:
int age;
float price;
char grade;
Compiled: C programs are normally compiled before execution.
Fast : C has relatively little runtime overhead and provides low-level control.
Portable : Well-written C programs can often be compiled for different platforms with appropriate changes.
Low-Level Access : C allows programmers to work directly with:
Memory addresses
Pointers
Bytes
Bits
Hardware interfaces
Middle-level language : It's useful to think of languages as a spectrum:
More human-oriented
↑
│
Python / Java
│
C
│
Assembly
│
↓
More machine-oriented
C is often called a middle-level language because it combines higher-level programming constructs with low-level capabilities. The term isn't an official technical classification, but it's useful for understanding C's position.
Way Of Learning Languages
let start with a simple question,How we learn any language (suppose English) ? You May answer :
Letter → Word → Sentence → Paragraph
In Same Way We Learn Programming Languages but instead of :
Letter → Word → Sentence → Paragraph
↓
Symbol → token → Instruction → Program
So start with Symbol:
Symbol
A symbol is a character which is used to represent something in a computer program.There are several types of symbols so remember them. :
(0-9) Number
(a-z,A-Z) Alphabet
Special Character With Name:
~ Tilde
` Backtick
! Exclamation mark
@ At
# hash, pound, tag
$ Dollar
% Percentage, Modules
^ Caret, Power , Exponent
& Ampersand, And
* Star, Multiply,Asterisk
( Open/Left Parenthesis, Opening Small Bracket
) Close/Right Parenthesis, Closing Small Bracket
_ Underscore, Subscript
- Hyphen, Subtraction
+ Plus, Addition
= Equals, Assignment
{ Open/Left brace, Opening Curly bracket
} Close/Right brace, Closing Curly bracket
[ Opening Square bracket, Opening Big bracket
] Closing Square bracket, Closing Big bracket
/ Forward slash, Division
\ Backslash
| Pipe, Vertical bar
" Double quote, Quotation mark
' Single quote
: Colon
; Semicolon
, Comma
. Dot, Point
< Less than, Left arrow, Open angle bracket
> Greater than, Right arrow, Close angle bracket
? Question mark
Note: Each sign have ASCII value. It is also called character code.Which is between 0-255.
ASCII stand for American Standard Code for Information Interchange.
Some Comma ASCII Values:
0-9: 48-57
A-Z: 65-90
a-z: 97-122
