Series 2: C Foundations
Time to translate your Java skills into C. This series covers everything from your first #include
Lessons
Week 3: Text Processing & Intro to C
Grep & Regular Expressions
grep, regex syntax, find – searching files by name and content. Connecting Java’s Pattern class to Unix tools.
Processes
ps, top, kill, background/foreground jobs. Every program you run becomes a process.
Introduction to C
From javac + JVM to gcc + native binary. Program structure, #include, main(), and the four stages of C compilation.
Week 4: C Fundamentals
Variables, printf & scanf
C data types, printf format specifiers, scanf for input, and defensive input handling patterns.
Operators & Expressions
Arithmetic, relational, logical, bitwise operators. Operator precedence and the gotchas that catch Java programmers.
If/Else, Switch & Loops
Conditional statements, switch/case, for, while, do-while. Control flow in C vs. Java.
Functions & Recursion
Function prototypes, pass-by-value, scope. Why C requires explicit prototypes and what void means differently than in Java.
Week 5: Functions & Arrays
Arrays & Strings
Fixed-size arrays, null-terminated char arrays, string.h functions, and buffer overflows.
Headers, Makefiles & CLI Args
Header guards, Makefile rules, argc/argv, and organizing multi-file C projects.
Sorting & Searching
Selection sort, linear search, binary search. Sorting arrays of integers and strings.
Related resources:
- C vs Java Cheat Sheet — keep this open during labs for quick Java-to-C translation
- CTF Challenges — weekly security challenges tied to what you learn each week
Previous series: ← Series 1: Unix Foundations
Next series: Series 3: Pointers & Memory →