选C。我不同意一楼的回答。题目中的他没听电话,肯定是因为他睡着了。C和D的区别就是asleep和fall asleep 的不同。
意思都是入睡但fall asleep强调入睡的动作
be asleep 强调睡着的状态
例如:The baby is asleep,don't turn up the radio.
My father was so tired that he fall asleep quickly.
所以选c更好,因为强调他睡着了,而不是D已经在入睡这个动作
D 是我个人认为,由题意应该是在他打打电话给我时我已经睡了。应用过去完成时,且“入睡”用fall asleep。