Who vs. Whom

This is an easy way to remember which form to use:

INCORRECT: Who did you buy the present for?
CORRECT: For whom did you buy the present?

EXPLANATION: If you subsitute "she" and rearrange the sentence structure to Did you buy the present for her?, you will see that "whom" is the correct choice.