Chapter Topics#
The chapters progress from program shape, output, and basic types through operators and control flow, then to arrays, functions, pointers, user-defined types, dynamic memory, and files. Each content section ends with a short exercise, and Preview, Lab, and Homework activities accompany each chapter. The table reflects the planned topics while the chapters are still in scaffold form.
Chapter |
Topics |
|---|---|
Program shape and compilation; output with |
|
Values, identifiers, declarations, and assignment; primitive types and literals; formatting values with |
|
Arithmetic expressions; assignment and update operators; comparisons and logical operators; bitwise operators. |
|
Conditions and branch selection; multi-branch decisions; ternary expressions; |
|
Repetition and stopping conditions; |
|
Fixed arrays and indexes; traversal with loops; array size and element count; character arrays and strings. |
|
Function shape and calls; parameters and return values; scope and decomposition; arrays with functions; recursion. |
|
Addresses and pointer variables; dereferencing and mutation through a pointer; pointer parameters; arrays and pointers. |
|
Why related fields need a user-defined type; struct definition and field access; enum values for readable states; a short design example. |
|
Why fixed-size storage falls short; allocating and freeing a block; runtime-sized collections; resizing and cleanup; common dynamic memory mistakes. |
|
File motivation and paths; reading a file; writing a file; errors and cleanup. |
Set up your compiler and editor with Development Environment before Chapter 1, and keep Build Reference at hand once you compile more than one file.