Correct Answer:
A. at, for
The correct prepositions are at and for. We laugh at someone, and we laugh for a reason. Therefore, 'I laughed at him for making a silly mistake' is the grammatically correct and idiomatic expression. Options with 'on' or 'of' are incorrect prepositional usages in this context.