I should ___ Peter with his work, but I had a lot of things to do myself.
A. help B. have helped C. helping D. be help
这句话为什么要用虚拟?是因为but后面的句子用的是一般过去时?
(本人英语初级者,不要介意过于深入)
结合选项中的关键词help和题干中的关键词but(前后相反),可以得知我本应帮助Peter,但实际上没有帮助他,考点就出来了,无需考虑“虚拟不虚拟”,牢记下面4个句型,这一类的考题都可以秒答:
该做但没有做 -->should have done / ought to have done
不该做确又做了 -->should not have done / ought not to have done
有必要做但没做 --> need have done
没必要做确又做了 --> need not have done
相关衍生
对过去的猜测:
= 100%的肯定 -->肯定做了...... --> must have done
= 100%的否定--> 肯定没做...... --> can’t/couldn’t have done
>100%的肯定 --> 也许/可能做了...... --> could/might have done
将以上7句背熟,以后想表达类似意思,就可以不假思索地脱口而出,口语也是这么练出来的。依赖语法分析,一辈子都开不了口。