This document provides an introduction to preprocessor directives in C++. It defines preprocessor directives as instructions for the preprocessor, not actual program statements. Several common preprocessor directives are listed, including #define, #include, #if, #endif, and #else. The #define directive is used to define macros by associating an identifier with a replacement text. An example demonstrates using #define to create constants for PI and then printing PI, pi, and their product. The document also shows how #define can be used to define a macro function called square() that squares its argument.