选C,Havingsufferedfromhearttroubleforyears,ProfessorWhitehastotakesomemedicinewithhimwhereverhegoes.句意是:由于身患心脏病多年,怀特教授无论到哪都必须随身携带着药品。这题考的知识点是非谓语的搭配选择,由于后面的句子ProfessorWhitehastotakesomemedicinewithhimwhereverhegoes.主谓宾已经齐全,且前面没有关联词,所以前面不能再是一个句子,只能是非谓语充当状语。选C的原因是sufferfrom的主语是主动者,即不必要再需要被动语态,固定搭配是sb.sufferfromsth.所以排除A和D。又因为后面有foryears,for的出现是完成时的标志,所以要用到完成时的助动词have.