问题
选择题
She _____ your birthday party, but she had to look after her mother in hospital.
A.should attend
B.ought to have attended
C.can have attended
D.must have attended
答案
答案:B
题目分析:考查情态动词用法。本题是虚拟语气,根据but后面的had说明本题是对过去情况的虚拟,使用情态动词+have done的形式。C项表示推测,指可能做了某事;D项指一定做了某事;ought to have done本应该做某事,实际上却未做;句意:她本应该来参加你的生日聚会的,但是她不得不照顾她生病住院的妈妈。故B正确。
点评:注意but后面的句子使用陈述语气,前面的句子要根据后面句子的时态来决定虚拟语气的形式,