📄️ C Fundamentals
A comprehensive guide to the fundamentals of the C programming language, covering syntax, data types, control structures, and more.
📄️ Formatted Input/Output
Learn C programming's formatted input/output with printf and scanf through hands-on exercises covering format specifiers, field width, precision, and practical programming projects including date formatting, ISBN parsing, and magic squares.
📄️ Expressions
C programming expressions, operators, and arithmetic through comprehensive exercises covering precedence, assignment operators, increment/decrement, UPC/EAN check digit algorithms, and practical programming projects.
📄️ Selection Statements
C programming selection statements including if-else conditionals, switch statements, logical operators, and relational expressions through comprehensive exercises covering operator precedence, short-circuit evaluation, and practical programming projects.
📄️ Loops
C programming loops (for, while, do-while) with focused exercises and projects — loop translations, prime testing, GCD, fraction reduction, calendars, and common loop pitfalls.
📄️ Basic Types
C basic types, constants, and type conversion with hands-on exercises and projects (typedefs, numeric/escape conversions, Newton's method, phone-number translator, Scrabble scorer, factorials, and sizeof experiments).
📄️ Arrays
Practical C arrays tutorial with hands-on exercises and projects covering array sizing with sizeof, designated initializers, multidimensional arrays, common array algorithms (Fibonacci, seven-segment, chess/checker boards, temperature averaging, random walk, magic square) and C99 features.
📄️ Functions
C functions with comprehensive exercises covering function declarations, parameter passing, return values, scope, storage classes, recursion (GCD, Fibonacci, day-of-year calculations), and practical programming projects.
📄️ Program Organization
C program organization with comprehensive exercises covering external variables, scope rules, storage classes, function organization, header files, and multi-file program structure through practical programming projects.
📄️ Pointers
Explore C pointers with practical exercises covering pointer basics, pointer arithmetic, dynamic memory allocation, function pointers, and advanced pointer concepts through engaging programming projects.
📄️ Pointers and Arrays
C pointers and arrays with focused exercises on pointer arithmetic, pointer-array relationships, pointer comparisons, and common pointer-based array algorithms.
📄️ Strings
Comprehensive C Strings chapter covering string basics, pointer/array relationships, standard string functions (strcpy, strcat, strcmp, strlen), formatted I/O, and practical exercises/projects (capitalize, censor, palindrome, anagrams, command-line tools, URL/extension parsing).
📄️ The Preprocessor
Learn the C preprocessor with practical exercises on macros, parameterized macros, token-pasting, stringizing, conditional compilation, _Pragma, macro pitfalls, and macro vs function tradeoffs.
📄️ Writing Large Programs
Learn best practices for organizing large C programs - modularization, header files, multi-file builds, makefiles, scope/storage classes, and build/dependency management through examples and hands on projects.
📄️ Structures, Unions, and Enumerations
C structures, unions, and enumerations with practical exercises and projects covering struct/union layout, nested structures, typedefs, bitfields, enum usage, and common algorithms like complex numbers, dates/times, and shapes.
📄️ Advanced Uses of Pointers
Advanced C pointers such as dynamic memory allocation wrappers, pointer-based data structures (linked lists, stacks), function pointers, and pointer-related algorithms with hands-on exercises and projects.
📄️ Declarations
C declarations such as storage classes, type qualifiers, specifiers, declarators, initializers, storage duration, scope, and linkage with hands on examples and exercises.
📄️ Program Design
C program design with hands-on exercises implementing ADTs (stacks, queues), modular interfaces, makefiles, memory management, and multi-file project organization.