This section goes far beyond fopen and fprintf. Key insights include:
if (condition) // code to execute if condition is true
* `if-else` statements:
```c
if (condition)
// code to execute if condition is true
else
// code to execute if condition is false
switch (expression) case value1: // code to execute if expression == value1 break; case value2: // code to execute if expression == value2 break; default: // code to execute if expression does not match any value break; Stephen G Kochan- Patrick H Wood Topics in C Programming
#### Loops
* `while` loops:
```c
while (condition)
// code to execute while condition is true
for (init; condition; increment) // code to execute while condition is true
* `do-while` loops:
```c
do
// code to execute at least once
while (condition);
While other books discuss pointers to ints and arrays, Kochan and Wood dedicate over 50 pages to the sophisticated use of pointers: This section goes far beyond fopen and fprintf
The original edition (1988) covered “classic” K&R C. The revised edition (1991, sometimes 1995) is the one to find—it updates all examples to ANSI C (C89/C90), which remains the common denominator for embedded systems, legacy codebases, and operating system kernels.
Is the book outdated? Parts are:
However, 90% of the content is still gold. The core challenges of C programming—memory management, pointer manipulation, modularity, portability—haven’t changed. In fact, modern C standards (C11, C17) add features but do not invalidate the foundational techniques taught here.