Getting Started with C Programming
Your first step into C programming! Learn how to install a compiler, set up your computer, and write your very first "Hello World" program. No prior experience needed.
Master C programming with our comprehensive tutorial series. Follow the structured path or jump to any topic you want to learn.
Follow these tutorials in order for the best learning experience
Your first step into C programming! Learn how to install a compiler, set up your computer, and write your very first "Hello World" program. No prior experience needed.
Learn the fundamental building blocks of C programs. Understand the main() function, how to write comments, and why proper formatting makes code readable.
Learn the rules for naming things in C - variables, functions, and more. Know what names are valid, and follow naming conventions that professionals use.
Learn all 32 reserved words in C that have special meaning. These words are reserved by C and cannot be used as variable names.
Learn to store different kinds of data: numbers (int), decimals (float), and characters (char). Understand how much memory each type uses.
Make your programs interactive! Learn to display output with printf() and read user input with scanf(). Essential for every C program.
Master escape sequences like \n (newline), \t (tab), \\ (backslash), and \" (quotes). Essential for formatting output and handling special characters.
Learn all the operators in C: math (+, -, *, /), comparisons (==, <, >), and logical operations (&&, ||). Build expressions that compute values.
Understand which operators are evaluated first. Learn the PUMAS REBL TAC memory trick and when to use parentheses.
Make your programs smart! Use if-else to make decisions and switch for multiple choices. Programs can now respond differently to different situations.
Repeat actions automatically! Master for, while, and do-while loops. Learn which loop to use when, and how to control loops with break and continue.
Organize code into reusable blocks! Functions let you write code once and use it many times. Learn to create, call, and pass data to functions.
The static keyword gives variables memory that persists between function calls. Learn how static creates "sticky" variables and private globals.
Control how variables live and where they are stored. Learn auto, static, register, and extern - the four storage classes in C.
Store multiple values of the same type together! Learn 1D arrays (lists), 2D arrays (tables), and how arrays are stored in memory.
Strings are character arrays ending with \0. Learn to create strings, read them safely, and use string functions like strlen, strcpy, strcmp.
Create named constants for better code readability. Instead of using 0, 1, 2 for days, use MON, TUE, WED with enums.
Group related data together! Create your own data types with struct. Store a student's name, age, and grade in one variable.
Unions are like structures but all members share the same memory. Useful for saving memory when you only need one field at a time.
The most powerful feature in C! Pointers store memory addresses. Learn what they are, why they matter, and how to use them safely.
Add and subtract with pointers! Learn how pointer math works with arrays and why ptr++ moves by the size of the data type.
See how C programs are organized in RAM! Learn about Stack, Heap, Data, BSS, and Text segments. Essential for understanding memory.
Allocate memory at runtime! Use malloc, calloc, realloc, and free. Create arrays whose size you don't know until the program runs.
Combine structs with malloc! Create dynamic arrays of structures that grow as needed. Build real data structures.
Read and write files! Learn fopen, fclose, fprintf, fscanf, and more. Save data permanently and load it back.
Complete reference for stdio.h - all printf, scanf, and file functions with prototypes, parameters, and examples.
Complete reference for stdlib.h - memory allocation, string conversion, random numbers, sorting, and program control.
Complete reference for string.h - strlen, strcpy, strcat, strcmp, searching, and memory functions.
Complete reference for math.h - power, roots, trigonometry, logarithms, and rounding functions.
Complete reference for ctype.h - character classification (isalpha, isdigit) and conversion (toupper, tolower).
Complete reference for time.h - getting time, formatting dates, measuring durations, and working with timestamps.
Interact with the operating system directly! Learn open, read, write, fork, exec, and other system calls that give C its power on UNIX/Linux.
Code that runs before compilation! Learn #include, #define macros, and conditional compilation with #ifdef.
Functions that call themselves! Learn this powerful technique, understand how it uses the stack, and know when to use it.
Store functions in variables! Pass functions as arguments, create callbacks, and build flexible code.
Work with individual bits! Set, clear, toggle, and check bits. Implement permission systems and flags efficiently.
Begin your C programming journey
Core concepts of C programming
Learn the fundamental building blocks of C programs. Understand the main() function, how to write comments, and why proper formatting makes code readable.
Learn the rules for naming things in C - variables, functions, and more. Know what names are valid, and follow naming conventions that professionals use.
Learn all 32 reserved words in C that have special meaning. These words are reserved by C and cannot be used as variable names.
Learn to store different kinds of data: numbers (int), decimals (float), and characters (char). Understand how much memory each type uses.
Make your programs interactive! Learn to display output with printf() and read user input with scanf(). Essential for every C program.
Master escape sequences like \n (newline), \t (tab), \\ (backslash), and \" (quotes). Essential for formatting output and handling special characters.
Learn all the operators in C: math (+, -, *, /), comparisons (==, <, >), and logical operations (&&, ||). Build expressions that compute values.
Understand which operators are evaluated first. Learn the PUMAS REBL TAC memory trick and when to use parentheses.
Create named constants for better code readability. Instead of using 0, 1, 2 for days, use MON, TUE, WED with enums.
Decision making and loops
Make your programs smart! Use if-else to make decisions and switch for multiple choices. Programs can now respond differently to different situations.
Repeat actions automatically! Master for, while, and do-while loops. Learn which loop to use when, and how to control loops with break and continue.
Modular programming with functions
Organize code into reusable blocks! Functions let you write code once and use it many times. Learn to create, call, and pass data to functions.
The static keyword gives variables memory that persists between function calls. Learn how static creates "sticky" variables and private globals.
Control how variables live and where they are stored. Learn auto, static, register, and extern - the four storage classes in C.
Working with collections
Store multiple values of the same type together! Learn 1D arrays (lists), 2D arrays (tables), and how arrays are stored in memory.
Strings are character arrays ending with \0. Learn to create strings, read them safely, and use string functions like strlen, strcpy, strcmp.
Custom data structures
Group related data together! Create your own data types with struct. Store a student's name, age, and grade in one variable.
Unions are like structures but all members share the same memory. Useful for saving memory when you only need one field at a time.
Combine structs with malloc! Create dynamic arrays of structures that grow as needed. Build real data structures.
Master pointers and memory
The most powerful feature in C! Pointers store memory addresses. Learn what they are, why they matter, and how to use them safely.
Add and subtract with pointers! Learn how pointer math works with arrays and why ptr++ moves by the size of the data type.
See how C programs are organized in RAM! Learn about Stack, Heap, Data, BSS, and Text segments. Essential for understanding memory.
Allocate memory at runtime! Use malloc, calloc, realloc, and free. Create arrays whose size you don't know until the program runs.
Reading and writing files
C standard library reference
Complete reference for stdio.h - all printf, scanf, and file functions with prototypes, parameters, and examples.
Complete reference for stdlib.h - memory allocation, string conversion, random numbers, sorting, and program control.
Complete reference for string.h - strlen, strcpy, strcat, strcmp, searching, and memory functions.
Complete reference for math.h - power, roots, trigonometry, logarithms, and rounding functions.
Complete reference for ctype.h - character classification (isalpha, isdigit) and conversion (toupper, tolower).
Complete reference for time.h - getting time, formatting dates, measuring durations, and working with timestamps.
Deep dive into C
Interact with the operating system directly! Learn open, read, write, fork, exec, and other system calls that give C its power on UNIX/Linux.
Code that runs before compilation! Learn #include, #define macros, and conditional compilation with #ifdef.
Functions that call themselves! Learn this powerful technique, understand how it uses the stack, and know when to use it.
Store functions in variables! Pass functions as arguments, create callbacks, and build flexible code.
Work with individual bits! Set, clear, toggle, and check bits. Implement permission systems and flags efficiently.