If you are starting a new ERC20 token:
Answer : C
If you need more fine-grained functionality than solidity offers out of the box:
Answer : A
Using selfdestruct(beneficiary) with the beneficiary being a contract without a payable fallback function:
Answer : B
All low-level functions on the address, so address.send(), address.call.valueQQ, address.callcode and address.delegatecall:
Answer : C
The difference between address.send() and address.transfer() is:
Answer : A
Loops in Solidity:
Answer : B
If a User calls contract A and that calls Contract B, then msg.sender in Contract B will contain the address of:
Answer : B