The correct answer is B. Liar.
A liar is someone who tells lies. A lie is a statement that is not true, and is usually made with the intention of deceiving someone. Liars may lie for a variety of reasons, such as to protect themselves, to gain an advantage, or to simply entertain themselves.
Crook is a slang term for a dishonest person, especially one who cheats or steals. Scoundrel is a more formal term for a dishonest or unscrupulous person. Hypocrite is a person who pretends to have beliefs or feelings that they do not actually hold.
In the context of the question, the man who rarely speaks the truth is most likely a liar. He may be lying to protect himself, to gain an advantage, or simply because he enjoys deceiving others.