-
would/could/might/should have
done
等
用法和区别
一、在虚拟语气中的用法(情态动词都是过去时态!)
1.
should
have
p>
done
:原本应该做某事,
(
否
)shouldn't
have
done
:
原本不该做某事
2. ought to have done
原本应该做某
事,
(
否
) oughtn't to
have
done
:
原本不该做某事
注意:
ought to do
语气更强,常用于长辈对小辈的用语
或某规则上的要
求(严格的规则应用
must
).
should do
可用语平辈朋友间,较为客气与口语化
3.
need
have
done
原有必要做某事
(
否
)
needn't
have
done
原
本没必要做某事
< br>注意:做情态动词,
need
的过去式仍然是
need;
做实意动词,
need
的过去式是
needed.
4.
could have
done
原本能够做某事
注意:
couldn't have done
无虚拟语气的用法,
只表推测,相
当于
can't
have done
:过去不可能做了某事
5.
might have done
原本可以做某事
注意:
might not have done
无虚拟语气的用法,
只表推测,
相当于
may not
have done
:过去可能没有做某事
have done
原本会做某事
1. I would have told you all about the
boy's story, but you didn't ask me.
p>
二、对过去事情表推测的用法
(
情态动词用
原型或过去式都可以,只
是在说话者看来,可能性大小稍微有所不同而已
)
1.
must
have
done
:过去肯定做了某事。不存在
mustn't
have
done
的形式。其否定或疑问形式须用
can(could)have
done
:“不可能做
过某事”
来表示:
Since the road is wet, it must have
rained last night.
既然路是湿的,那昨天晚上肯定下雨了。
He can't/couldn`t have missed the way.
I drew him a map.
他不可能迷路。我(当时)给他画了张图。
“The dictionary
has
disappeared. Who could/can have taken
it?”词典不见了,(过去)谁可能把它拿走了?
2. may / might have done
may / might have
done
:过去可能做了某事,
may
比
might
表示可
能性稍大些。
may/might not have
done
过去可能没有做某事:
I
can't
find
my
keys.
I
may
/
might
have
left
them
at
the
school
yesterday.
我找不到我的钥匙了。我可能昨天把他们落在学校了。
John may/might not have passed the
exam; he looks very sad.
约翰可能没有通过考试。他看起来很忧伤。