温馨提示
情态动词+have done的用法小结:
must+have done 表示对过去情况的推测,只用于肯定句中,意为“一定……”,其否定的意义用can’t+have
done表示。
can/could have
done 对过去已发生的情况的推测,用于疑问句或否定句中。
could+have done本来有能力做而实际上没有做
needn’t+have done本来不必做的事,实际上却做了
might have done本来可以做而实际上未做。
may (might)+have
done表示对过去的推测,多用在陈述句,意为“也许;可能……”。用might 比用 may 语气更加委婉。
would+have done 用于虚拟条件句中,表示与过去事实相反。
He ought not to have
taken the old clothes away.
他不该把旧衣服带走。(事实上已带走。)
The street is
wet. It must have rained last night.
路面是湿的,昨天晚上肯定下雨了。
Page No.147
If I could have
stopped, there wouldn’t have been an accident.
如果我能够停下来,事故就不会发生了。
I needn’t have
gone to the office yesterday.
昨天我没必要去办公室。
Please don’t do
that. You might both have been caught
and killed!
请不要那样做。你们俩很有可能被抓住然后被杀掉!
易混辨析
should/ought to
①两者均有“应该”之意,should多表示说话人主观建议,ought
to多表示道义和责任。
Doctors and nurses
should take good care of patients.
医生和护士应该仔细照顾病人。
You shouldn’t
drink and drive.
你不该喝了酒还开车。
|