should have done和could have done的区别?

作者&投稿:大季钧 (若有异议请与网页底部的电邮联系)
should have done和could have done的区别~

should have done和could have done的区别为:
一、指代不同
1、should have done:本应该。
2、could have done:本可以做到的。
二、侧重点不同
1、should have done:表达一种责备或内疚的语气。

2、could have done:表示对过去事情的假设。
三、引证用法不同
1、should have done:在表示意向、要求、决定、建议等意义的从句里,如果主句的谓语动词是过去式,则从句中的should既可看作情态动词shall的陈述语气过去式,也可看作它的虚拟语气,但当句子的语气不够委婉时宜看作前者。
2、could have done:could用于疑问句中并不表示过去时,而是表示现在时,此时语气比较委婉,有时表示把握不大或犹豫; could用于特殊疑问句常含有惊讶、迷惑等感情色彩。

一、
“must+have+done”表示对过去事情的肯定推测,译成“一定做过某事”,该结构只用于肯定句。
1.
It
must
have
rained
last
night,
for
the
ground
is
wet.
昨晚一定下雨了,因为地面还是湿的。
2.
You
must
have
been
mad
to
speak
to
the
servant.
你和仆人说话,一定是发疯了。
二、
“can't+have+done”表示对过去事情的否定推测,译成“不可能做过某事”。
1.
Mr.
Smith
can't
have
gone
to
Beijing,
for
I
saw
him
in
the
library
just
now.
史密斯先生不可能去北京了,我刚才还在图书馆见过他。
2.
Mary
can't
have
stolen
your
money.
She
has
gone
home.
玛丽不可能偷你的钱,她回家去了。
三、
“can+have+done”表示对过去行为的怀疑,用于疑问句,译成“可能做过……吗?”。
1.
There
is
no
light
in
the
room.
Can
they
have
gone
out?
屋里没有灯,他们可能出去了吗?
2.
There
is
nowhere
to
find
them.
Where
can
they
have
gone?
到处找不到他们,他们可能到什么地方去呢?
四、
“could+have+done”是虚拟语气,表示对过去事情的假设,意思是本来能够做某事而没有做。
He
could
have
passed
the
exam,
but
he
was
too
careless.
本来他能够通过考试,但是他太粗心。
五、
“may+have+done”表示对发生过的事情的推测,意思是“可能已经”或“也许已经”,用于肯定句中。
—What
has
happened
to
George?
—I
don't
know.
He
may
have
got
lost.
—乔治发生了什么事?
——我不知道,他可能迷路了。
六、
“might+have+done”表示对过去事情的推测,might与may意思相同,但可能性更小。多用于虚拟语气结构中。
1.
He
might
have
given
you
more
help,
even
though
he
was
busy.
他或许会多给你一些帮助,即使他很忙。
2.
She
might
have
achieved
greater
progress,
if
you
had
given
her
more
chances.
如果你多给她点机会,她可能已经取得更大的成绩。
七、
“would+have+done”虚拟语气,表示对过去事情的假设,意思是“本来会做”。
1.
I
would
have
told
you
all
about
the
boy's
story,
but
you
didn't
ask
me.
我本来会告诉你这个小男孩的故事,但是你没有问我。
2.
Without
your
help,
I
wouldn't
have
achieved
so
much.
没有你的帮助,我是不会取得如此大的成绩。
八、
“should+have+done”意思是“本来应该做某事,而实际没做。”
“shouldn't+have+done”表示本来不应该做某事,而实际做了。含有指责对方或自责的含意。
1.
Tom,
you
are
too
lazy.
The
work
should
have
been
finished
yesterday.
汤姆,你太懒惰了,这项工作本来应该昨天就做完的。
2.
Look,
Tom
is
crying.
I
shouldn't
have
been
so
harsh
on
him.
看,汤姆哭了,我本来不应该对他如此严厉。
十、
“need+have+done”表示本来需要做某事而没有做。“needn't+have+done”则表示“本来不需要做某事而做了”。
I
needn't
have
bought
so
much
wine—only
five
people
came.
我本来没有必要买这么多酒,只来了五个人。

二者都是虚拟语气,区别在于含义的不同。

1、should have done意为“过去本应该做某事却未做。”,表达一种责备或内疚的语气。

2、could have done意为“过去本能够做某事却未做。”,表示对过去事情的假设。

3、could have done还可以表推测一般用在否定句和疑问句中,表示不相信或怀疑的态度。

4、表示推测过去某动作发生的可能性时,就表示的可能性程度而言,should 比 could可能性要大。

例句:

①He could have looked over the papers in less than ten minutes.  

他本可在10分钟内把文件翻看一遍的。

②If I'd waited in for you I could have waited all day. 

要是我真留在家等你,那早都等上一整天了。

③He should have stuck to his guns and refused to meet her.  

他本应坚持己见,拒绝与她会面。

④The night shift should have been safely down the mine long ago.  

上夜班的矿工应该早就安全地到达井下了。

⑤I don't think we should have been there in the first place.  

我认为我们从一开始就不该在那儿。

扩展资料

相关句子:

①I don't think we should have been there in the first place.  

我认为我们从一开始就不该在那儿。

②The competition should have been rescheduled for a later date.  

比赛本应另择日期。



should have done和could have done的区别:

1、could have done 本可以做而没有做, 能做而没有做 。
2、shuld have done  本应该做而没有做,猜测。

拓展资料

should have done的用法

1、You should have done that yesterday you idiot! 

你本该昨天把它做完的,你这个白痴!

2、I just did what I should have done. 

我只是做了份内该做的事。

3、I should have done that to you years ago. 

很多年前我就应该这样了。

4、That is what I should have done after all that controversy concerning Rooney and me.

在我和鲁尼的事情上引起争议后,这是我最该做的事情。

5、I never did actually, so I think I should have done more. 

事实上我还没有,所以我想我应该做得更多。

could have done

1、Whoever could have done such a dreadful thing? 

究竟是谁能干出这种可怕的事呢?

2、Yes, perhaps I could have done better, but that's not what I want in life. 

是的或许我可以做得更好,但这是不是我要的生活。

3、Had I been informed earlier. I could have done something. 

我要是早得到通知,我就能干事了。

4、You could have done better in my place. 

你要是处在我和位置可能比我干得好。

5、With better equipment, we could have done better. 

要是有更好的设备,我们会做的好的了



三者有交集的地方
should have done 是说 一件事情本来是有益/有帮助的/想做好的事情 你并没有做到 因而给你之前的动作提出另外一种建议的含义。
could have done是说一件本来有可能完成的事情你没有做到 重在说可能性,
would have done 是说一件一定可以完成的事情 你没有做到 这是对假象的结果(唯一)的猜测

比如说你考试没过你老师和你说 u should have passed the exam.你应该要过的(过了肯定对你有好处,)对你提出建议,如果是couldhave就是你本来可以过的(你有可能性/机会过的,这种可能性/机会包括个人能力或者是外部条件都行,但是你没过),wouldhave就是说你本来一定可以过的(你来了肯定过,但是可能是发生意外了,你没去考试)
此外,should have done 还可以表示后悔和自责的情绪 或者是给当下提建议 还有表示客气 或者是表示一件事情按计划/常识来看应该已经发生了。看语境需要 当你说 u should have done sth 不一定是指责他 ,比如有人做什么事情没做成,而你知道怎么做,你可以说 u should have told me. 你应该告诉我的,言下之意是你以后要做可以找我帮你。
表客气是比较固定别人送你礼物的时候你可以说 u should not have.
表示按计划/常识应该已经发生了 比如 按他的预期他现在已经完成了 可以说 if everything goes as expected, he should have finished work by now.
couldhavedone也可以单纯的表示对过去的猜想等于itwaspossiblethat..比如一个人迟到了,你可以说hecouldveoverslept.
could not have 就是 it was impossible that...

could have done 本可以做而没有做, 能做而没有做
shuld have done 1。本应该做而没有做;2。猜测

1. You could have won the first prize if you have spent more time on it.
2. The ground is wet. It should have rained last night.
3. It's 8 o'clcok. I am very hungry. You should have cooked the dinner.

should have done: 应该做到(而没有做)

could have done: 可以做到(而没有做)