安徽省懷遠(yuǎn)一中 王玉峰
解讀“情態(tài)動詞+have done”結(jié)構(gòu)
安徽省懷遠(yuǎn)一中王玉峰
請同學(xué)們先看下面教材里的典型句子,認(rèn)真體會斜體部分的用法:
1.In the past,if someone like me had failed to get into university through the college exam,he would have had no chance of getting a degree.(北師大版教材模塊五Unit15 Lesson1 P36)
2.I know that I wasn't a willing student and I shouldn't have been so difficult at school,but it was probably because I lacked confidence in myself.(北師大版教材模塊五Unit15 Lesson3 P40)
3.It was a dilemma because the footballer could have demanded damages if we were wrong.(人教課標(biāo)版教材模塊五Unit4 P26)
從上述三個句子可以看出“情態(tài)動詞+have done”結(jié)構(gòu)既可以用來表示與過去事實(shí)相反的情況,也可以表示對已經(jīng)發(fā)生的事情的推測、責(zé)怪、后悔、遺憾等。要注意每一個情態(tài)動詞都含有相應(yīng)的說話者的語氣,所以我們既要了解每個情態(tài)動詞的基本用法,又要體會說話者的語氣。接下來我們逐個解析。
(一)must have done
情態(tài)動詞must+have done只用于肯定句中,表示對過去發(fā)生的事情或狀態(tài)進(jìn)行肯定的推測,意為“過去一定做過某事”。如:
It must have rained last night,for the road is all wet.
昨天晚上一定是下雨了,因?yàn)槁愤€濕著。
【例】—Hurry up,Michael!It's ten to three.
—Goodness me!The class_______have begun.I'll be late again.
【答案與解析】must。從Goodness me!“天哪”的驚呼可以看出對開始上課的肯定推測,推測上課的動作必定已經(jīng)發(fā)生。句意是:肯定開始上課了。
(二)can't/couldn't have done
表示對過去發(fā)生的事情或狀態(tài)的否定的推測,用can't have done/couldn't have done,意為“過去不可能做過,肯定沒做過”,與must have done正好相反。can/could表示推測也可以用在疑問句中。如:
I can't remember when we went to Beijing but could it have been sometime last autumn?
我不記得我們什么時候去過北京,會不會是去年秋天的某個時候?
【例】—Where can Margaret have put the empty bottles?
—She can't_______(throw)them away.They must be somewhere.
【答案與解析】have thrown。根據(jù)問句的can have put看出是對過去的事實(shí)進(jìn)行推測,所以答句的否定句是can't have done結(jié)構(gòu)。
(三)may/might+have done
情態(tài)動詞may/might+have done表示對已發(fā)生的動作或存在的狀態(tài)進(jìn)行不確定的推測,might語氣稍弱一點(diǎn)兒,只能用于肯定句和否定句中,表示“過去可能做過某事或過去可能沒做過某事”。如:
You might/may(not)have read about it in the newspapers.
你可能在報(bào)上已經(jīng)看過(還沒有看過)這個消息。
【例】—I left my handbag on the train,but luckily someone gave it to a railway official.(改編自2011年江蘇卷)
—How unbelievable to get it back!I mean,someone might_______(steal)it.
【答案與解析】have stolen。根據(jù)包都找回來了,看出推測某人把包偷去的可能性顯得就很小了,根據(jù)gave看出所推測的steal動作應(yīng)該發(fā)生在過去,所以用might have done結(jié)構(gòu)。
(一)should/shouldn't(ought to/oughtn't to)have done
表示過去應(yīng)該做而(實(shí)際)沒有做的事情,含有責(zé)備或遺憾的語氣,意為“本應(yīng)該……”;其否定形式為“should not have done/ought not to have done”,表示某種行為不該發(fā)生卻發(fā)生了。如:
You should have known better than to go mountain climbing alone.
你本來不該笨得單獨(dú)去爬山。
You oughtn't to have crossed the road when the lights were red.
你不該在紅燈時過馬路。
【例】—I'm sorry for being late.I______(shall phone)you earlier.(改編自2012年陜西卷)
—That's all right.I've just arrived.
【答案與解析】should have phoned。根據(jù)前句的道歉和earlier可知phone本來該早點(diǎn)發(fā)生的,用should have done結(jié)構(gòu)表示自責(zé)。
【例】He oughtn't_______(tell)me your secret,but he meant no harm.
【答案與解析】to have told。根據(jù)后面的過去式謂語動詞meant可知tell動作應(yīng)該已經(jīng)發(fā)生,再根據(jù)轉(zhuǎn)折詞but可以看出是“本來不該告訴”的意思,情態(tài)動詞ought后跟不定式to,所以用to have told。
(二)could have done
could have done表示“過去本來能夠做某事,但實(shí)際上沒有做”。如:
He could have passed the exam,but he was too careless.
本來他能夠通過考試,但是他太粗心。
【例】Jerrydidnotregretgivingthecommentbutfeltthathe______(canexpress)itdifferently.
【答案與解析】could have expressed。根據(jù)前一分句的過去式謂語動詞和轉(zhuǎn)折詞but看出是“本來可以用不同的方式表達(dá)”,用could have done結(jié)構(gòu)。
(三)needn't have done
表示過去沒有必要做某事,但實(shí)際上做了某事。注意情態(tài)動詞need不用于肯定句,僅用于疑問句和否定句。如:
I needn't have bought so much wine—only five people came.
我本來沒有必要買這么多酒,只來了五個人。
【例】The weather turned out to be fine yesterday.I needn't_______(take)the trouble tocarry my umbrella with me.
【答案與解析】have taken。根據(jù)yesterday和fine的提示看出是“本來沒有必要帶傘”,事實(shí)上昨天卻帶了傘,用needn't have done結(jié)構(gòu)。
【例】 I needn't_______(worry)before I came to the new school,for my classmates here are very friendly to me.(改編自2015年天津卷)
【答案與解析】have worried。根據(jù)for的解釋“在這里我的同學(xué)對我非常友好”看出擔(dān)心是沒有必要的,現(xiàn)在不擔(dān)心了,所以用needn't have done表示本來沒有必要做某事。
(四)daren't have done
情態(tài)動詞dare用于疑問句或者否定句中,不用于肯定句,該結(jié)構(gòu)表示“過去不敢做某事”。
He daren't have left without your permission.當(dāng)時沒有你的許可我是不敢離開的。
用于虛擬語氣中的情態(tài)動詞用其過去式形式,不定式用其完成時表示過去。在主從復(fù)合句中,該結(jié)構(gòu)用于主句中。意思是“本來……,事實(shí)上卻……”。如:
【例】—If the traffic hadn't been so heavy,I_______(can be)back by 6 o'clock.
—What a pity!Tina was here to see you.
【答案與解析】could have been。if從句hadn't been是表示與過去事實(shí)相反的虛擬語氣,根據(jù)括號提示從句用could have done。句意:我本來6點(diǎn)之前能夠回來的,可是交通太擁堵了。
【例】If I hadn't seen it with my own eyes,I_______(will not believe)it.
【答案與解析】wouldn't have believed。根據(jù)前半句If I hadn't seen...可以判斷是對過去的虛擬。所以主句是wouldn't have done的形式。句意:如果不是我親眼看到,我不會相信。
【例】It_______(may save)me some trouble had I known the schedule.
【答案與解析】might have saved。if虛擬條件句中含有had時,可將if省去,同時將had提前構(gòu)成部分倒裝結(jié)構(gòu),由此可以看出是表示與過去事實(shí)相反的虛擬語氣。所以主句用might have done結(jié)構(gòu)。句意是:如果我早知道日程安排,可能會省去我一些麻煩。
【例】—Sorry,Mum!I failed the job interview again.
—Oh,it's too bad.You(shall make)full preparations.
【答案與解析】should have made。根據(jù)前句“又一次面試沒有通過”看出母親說的是“你應(yīng)該做好充分準(zhǔn)備的”,表示母親的責(zé)怪,用should have done結(jié)構(gòu)。