This document provides an overview of C programming language preprocessor directives. The preprocessor processes source code before it is passed to the compiler. Key preprocessor directives include: #define - Used for macro expansion to replace text in a program. Macros can take arguments like functions. #include - Used for file inclusion to incorporate the contents of one file into another. #ifdef - Used for conditional compilation to include or exclude code based on whether a macro is defined. The preprocessor allows code to be modularized across multiple files, constants to be defined via macros for improved performance, and single programs to be compiled conditionally for different environments. Preprocessor directives must be on their own lines and start with #.