takes care of conditional compilation
takes care of macros
takes care of include files & acts before compilation
All of the above
need not start on a new line
need not start on the first column
has # as the first character
comes before the first executable statement
The scope of a macro definition need not be the entire program
The scope of a macro definition extends from the point of definition to the end of the file
New line is a macro definition delimiter and it may go beyond a line.
reduces execution time
increases code size
increases execution time
both reduces execution time & increases code size
masking
pruning
biting
chopping