一:cancould +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 prize?
二: maymight+ have done
表示對過去行為的推測,一定,想必。
He may not have finished the work.
If we had taken the other road, we might have already arrived there.
三:must+ have done
用于肯定句,表示對過去行為的推測,意思,想必,一定
You must have seen the film .
否定形式為:can’t
四:should(ought to ) + have done
用于肯定句,表示對過去行為的推測,表示本應該做而實際上沒有做。
用于否定句,表示本來不該做而去做了
You should have helped me .(本來應該幫忙,但是沒有幫)
You shouldn’t have made such mistakes .(本來不應該犯這樣的錯,但是卻犯了)
五:needn’t + have done
表示本來不必做,卻做了某事
You needn’t have watered the flowers, because it is going to rain.
六:will+ have done
用于第二三人稱,表示對已經發(fā)生的事情的推測
He will arrived at home by now.
八、 情態(tài)動詞+不定式完成式(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。
表示“本應該做而實際上沒有做某事”,其否定式表示某種行為本不該發(fā)生卻發(fā)生了??梢耘cought 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)
主要用于第二、三人稱,表示對已完成的動作或事態(tài)的推測。
聯(lián)系客服