C Tutorial — Learn C Programming
Key takeaway: This free C tutorial teaches you systems programming from scratch — variables, pointers, arrays, functions, structs, and memory management — with practical code examples you can compile and run.
C is a general-purpose, procedural programming language created in 1972. It is used for operating systems, embedded systems, game engines, and performance-critical applications. This tutorial is for beginners, CS students, and developers who want to understand how computers work at a low level.
Last updated: September 2026
Operators in C
Operators are symbols that perform operations on variables and values. C provides a rich set of operators for different types of operations.
Arithmetic Operators
Used to perform mathematical operations:
| Operator | Description | Example | Result |
|---|---|---|---|
+ | Addition | 5 + 3 | 8 |
- | Subtraction | 5 - 3 | 2 |
* | Multiplication | 5 * 3 | 15 |
/ | Division | 15 / 3 | 5 |
% | Modulus (remainder) | 7 % 3 | 1 |
Assignment Operators
= Simple Assignment
x = 5; assigns 5 to x
+= Add and Assign
x += 3; same as x = x + 3;
-= Subtract and Assign
x -= 2; same as x = x - 2;
*= Multiply and Assign
x *= 4; same as x = x * 4;
Comparison Operators
Used to compare two values and return true (1) or false (0):
== Equal to!= Not equal to> Greater than< Less than>= Greater than or equal<= Less than or equal#include <stdio.h>
int main() {
int a = 10, b = 3;
// Arithmetic operators
printf("Arithmetic Operations:\n");
printf("%d + %d = %d\n", a, b, a + b);
printf("%d - %d = %d\n", a, b, a - b);
printf("%d * %d = %d\n", a, b, a * b);
printf("%d / %d = %d\n", a, b, a / b);
printf("%d %% %d = %d\n", a, b, a % b);
// Assignment operators
int x = 5;
printf("\nAssignment Operations:\n");
printf("x = %d\n", x);
x += 3;
printf("After x += 3: %d\n", x);
x *= 2;
printf("After x *= 2: %d\n", x);
// Comparison operators
printf("\nComparison Operations:\n");
printf("%d == %d: %d\n", a, b, a == b);
printf("%d > %d: %d\n", a, b, a > b);
printf("%d < %d: %d\n", a, b, a < b);
return 0;
}Explanation
- Arithmetic:
+,-,*,/,%perform math on numeric types. - Assignment: Compound operators like
+=,*=update variables succinctly. - Comparison: Return 1 (true) or 0 (false) and are commonly used in conditions.
- Common pitfalls: Integer division truncates results; operator precedence can surprise—use parentheses to be explicit.
Keywords
Quick Tips
- Use parentheses to control evaluation order and improve readability.
- Be mindful of integer division; cast to
doublefor precise results. - Prefer clear, simple expressions over clever but confusing ones.