can have done
can have done通常只用于否定句和疑問句。用于否定句時(shí)表否定推斷,推測(cè)肯定沒做;用于疑問句時(shí)意為難道真的做了嗎,表示懷疑。例如:
Can he have done such a foolish thing? (= Is it possible ?)
他會(huì)做這樣的傻事嗎?(表懷疑)
He can't have taken it home.
他不可能把它帶回家了。(表不可能)
could have done
could have done可用于肯定句、疑問句和否定句。用于肯定句既可以表示過去能夠做而實(shí)際未做,有惋惜、遺憾或委婉批評(píng)之意,也可以表示對(duì)過去動(dòng)作的推測(cè);用于否定句和疑問句的情況與can have done相同。例如:
You could have done better, but you didn't try your best.
你本可以做得更好,但是你沒有盡力而為。(表惋惜)
This glass is cracked. Someone could have dropped it.
這個(gè)玻璃杯破了。可能是誰把它掉在地上了。(表推測(cè)過去)
Could he have left the work unfinished?
他會(huì)丟下工作不干了?(表懷疑)
He couldn't have checked out so early.
他不可能這么早就離開了。(表不可能)
注意:can't have done的語氣比 couldn't have done要強(qiáng)一些。例如:
He can't have been to that town.
他根本不可能去過那座城市。(語氣略強(qiáng))
The measurement couldn't have been wrong.
測(cè)量不可能出錯(cuò)了吧。(語氣稍弱)