1. Modularity

``modules'' are called functions in C.

A module is reusable - can be called multiple times with different arguments; can be reused in other programs.

A module provides an abstraction - like a ``black box'' (after it's written and tested); the user provides inputs, gets outputs, and doesn't care much about the internal details.