Part I, Chapters 15–25 (pp. 251–380) of Computer Science I.
Chapters
| Ch | Title | Page |
|---|---|---|
| 15 | Basics (Hello World, preprocessor, main(), I/O) | 253 |
| 16 | Conditionals (comparing strings/chars) | 271 |
| 17 | Loops | 283 |
| 18 | Functions (prototypes, pointers, passing by reference, function pointers) | 291 |
| 19 | Error Handling (language error codes, POSIX, enums for error codes) | 305 |
| 20 | Arrays (dynamic memory, contiguous 2-D arrays, dynamic data structures) | 313 |
| 21 | Strings (char arrays, string library, conversions, tokenizing) | 325 |
| 22 | File I/O (plaintext, binary) | 335 |
| 23 | Structures (nested, arrays of, factory & to-string functions) | 341 |
| 24 | Recursion | 357 |
| 25 | Searching & Sorting (comparator + function pointers, sorting pointers) | 361 |
What C Exposes
- Pointers and pass-by-reference (Ch 18) — makes call by reference concrete.
- Manual memory:
malloc/free, contiguous 2-D arrays (arrays & dynamic memory). - No exceptions → error codes / POSIX / enums (error handling).
- No native strings → null-terminated char arrays (strings).
- No classes → structs + factory functions approximate objects.
- Function pointers drive comparators in searching & sorting.
Typical target: Computer Engineering majors’ CS1.
Citations
[1] Computer Science I, Part I, pp. 251–380.