Preprocessor directives are lines processed by the preprocessor before compilation. They begin with # and include commands like #include, #define, #ifdef. Option A correctly states this. Option B is incorrect because directives like #define DO produce code (macro expansion). Option C is wrong because directives must be written BEFORE main, not within it. Option D is incorrect because directives don't end with colons - they're line-based.