should have done 的应用

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后面的句子用的是一般过去时?

(本人英语初级者,不要介意过于深入)

请先 登录 后评论

最佳答案 2019-10-11 19:40

结合选项中的关键词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句背熟,以后想表达类似意思,就可以不假思索地脱口而出,口语也是这么练出来的。依赖语法分析,一辈子都开不了口。

请先 登录 后评论

其它 2 个回答

曾克辉  
擅长:英语考试
请先 登录 后评论
曹荣禄  
擅长:动词用法,句法问题

but后分句告诉你当时我自己有很多事要做,提示实际我没有帮助他。因此前一分句的意思为本该在过去做某事而未实际未做。用should have done结构。

请先 登录 后评论
  • 0 关注
  • 2 收藏,2132 浏览
  • Goofy 提出于 2019-10-09 21:17