4. This is where the oil ought to/should be.(含蓄)
八、 情态动词+不定式完成式(have done)
1) can / could + have done在肯定句中表示“本来可以做而实际上能做某事”,是虚拟语气;在疑问句或否定句中表示对过去行为的怀疑或不肯定, 表示推测。
1. You could have done better, but you didn’t try your best. (虚拟语气)
2. He can’t have been to that town.(推测)
3. Can he have got the book?(推测)
2) may / might +不定式完成式(have done)
表示对过去行为的推测。不能用于疑问句中,没有虚拟语气的用法。Might所表示的可能性比may小。
1. He may not have finished the work .
2. If we had taken the other road, we might have arrived earlier.
3)must +不定式完成式(have done)
用于肯定句中,表示对过去行为的推测。意为“一定、想必”。其疑问、否定形式用can,can’t代替。参看1) can / could + have done表示推测。
1. You must have seen the film Titanic.
2. He must have been to Shanghai.
4)should +不定式完成式(have done)
用于肯定句中,表示对过去行为的推测。
He should have finished the work by now。
表示“本应该做而实际上没有做某事”,其否定式表示某种行为本不该发生却发生了。可以与ought to +不定式完成式(have done)互换。
1. You ought to / should have helped him. (but you didn’t.)
2. She shouldn’t have taken away my measuring tape, for I wanted to use it.
5) needn’t +不定式完成式(have done)
表示“本来不必做而实际上做了某事”。
You needn’t have watered the flowers, for it is going to rain.
6) will +不定式完成式(have done)
主要用于第二、三人称,表示对已完成的动作或事态的推测。
He will have arrived by now.