Introduction to C Programming
Subject: Data Structures and Algorithms · Language: C · Level: beginner · 4 min read
Start C programming from the basics: what C is, why it is used, how a C program runs, and how the first program works.
C is a general-purpose programming language. It is simple in syntax, fast in execution, and close enough to hardware to help you understand how computers actually run programs.
C is called a procedural language because a program is written as a set of step-by-step instructions. These instructions are usually grouped inside functions, and the computer executes them in a clear order.
Who Created C?
C was developed by Dennis Ritchie at Bell Labs in the early 1970s. It was created while working on the Unix operating system. Before C, many system programs were written in assembly language, which was difficult to write, difficult to maintain, and tied closely to one machine.
Dennis Ritchie and the Unix team needed a language that was efficient like assembly but easier to read, write, and move to different computers. C solved that problem, which is why it became one of the most influential programming languages in computer science.
Main Purpose of C
The main purpose of C was to build system software, especially operating systems and tools. It gives programmers control over memory, files, hardware-level operations, and performance, while still keeping the code more readable than assembly language.
Where C Is Used Today
C is still used in places where speed, memory control, and hardware-level access matter.
- Operating systems and kernels
- Embedded systems and microcontrollers
- Compilers and interpreters
- Device drivers
- Networking tools
- Game engines and performance-critical modules
Even when a project uses another language, some low-level parts may still be written in C because C is fast and predictable.
Why Learn C?
- C builds strong programming fundamentals
- It helps you understand memory, pointers, arrays, strings, and data structures
- Many languages such as C++, Java, JavaScript, and Python borrow ideas from C
- It is widely used in operating systems, embedded systems, compilers, device drivers, and performance-focused software
C Is a Compiled Language
C code does not run directly as source code. First, a compiler converts the `.c` file into machine code. This is different from some scripting languages where code is interpreted line by line at runtime.
Because C is compiled, many mistakes are caught before the program runs. This helps you learn discipline in syntax, types, functions, and memory.
Basic Program Structure
A beginner C program usually has three main parts.
- Header files give access to library functions such as `printf` and `scanf`
- `main()` is the starting point of the program
- Statements inside `{ }` tell the computer what to do step by step
```c
#include <stdio.h>
int main(void) {
printf("Hello, PrepCampus!\n");
return 0;
}
```
Important Rules
- C is case-sensitive, so main and Main are different
- Most C statements end with a semicolon
- Code inside { } belongs to the same block
- Every normal C program must have one main function
- Small syntax mistakes can stop compilation, so read compiler errors carefully
What Happens When You Run C Code?
First, you write the source code in a .c file. Then the compiler checks the code and converts it into machine-understandable instructions. If there is a syntax error, compilation fails and the compiler shows an error message. If compilation succeeds, the program runs and displays the output.
Source Code -> Compiler -> Executable Program -> Output
Compiler and Source File
A C program is usually saved with the `.c` extension. The compiler reads this file, checks the grammar of the code, and creates an executable program.
If the compiler reports an error, read the first error carefully. Many later errors are often caused by one missing semicolon, bracket, or wrong spelling near the top.
What Students Should Focus On First
- Understand the structure of a program before memorizing syntax
- Learn how input, output, variables, and conditions work together
- Practice tracing code line by line
- Do not ignore compiler messages; they are clues
Recommended Learning Order
A good path for learning C is: output, variables, input, operators, conditions, loops, functions, arrays, strings, pointers, structures, and then data structures.
Do not rush to advanced topics before loops, functions, and arrays feel comfortable. These topics become the base for almost everything in DSA.