虚拟语气 should have done 与 could have done

来源:百度知道 编辑:UC知道 时间:2024/06/14 00:45:04
Five minutes earlier,we_____the last train
A, could have caught B ought to have caught 为什么选A 为什么不选B 如果有个should have caught 可以选吗 为什么

must could should would might
这几个情态动词都可以用来表示对现在或者对过去的推测。
但他们表示的意思是有区别的,一般情况下不可以交换使用。
would 是最普通的陈述语气,如果你是客观的叙述一件事情,就可已选择这个词。
它的使用在条件句中很常见。如,If I hadn’t been ill, I would have finished the work.
must 和might放在一起区分比较容易分辨。
must 表示是的是十分肯定的推测,翻译成“一定”;might表示的是不太确定的预期,翻译成“可能”。
如,He musht have done it last night./He might done it last night.
could have done ,意思是“本来能够”
就是你题目中的这种用法:如果早五分钟,我们本来能够赶上末班车。
should have done,意思是“本应该”
比如你这句话可以延伸成为一个对话:
--Five minutes earlier,we could have caught the last train.
--Yes.We should have hurried up.
如果我们早五分钟,就能赶上末班车了。
是的,我们本应该快点。

这样说不知道你是否明白了。
should have done 和ought to have done差别不是很大,只是语气强弱之分,可以忽略不计。

是这样的
could have done 中带有能力的意味,表示本来有能力去做,但没做到
而ought to have done 和should have done 中带有肯定的意味,ought to have caught 比should have caught 语气稍弱,但实际上没差异,表示本应该去做,而没去做,太绝对,所以要选A。

楼上的对的
should have done 译为“本应该”,意思是本应该这么做,却没有这么做
我们能赶上火车 是could