虚拟语气的两道选择题

来源:百度知道 编辑:UC知道 时间:2024/05/27 19:33:32
1. But that he saw it,he( )it.
A could not have believed B did not believe
C could not believe D can not believe
答案是选A ,从句是一般过去时,主句不应该是过去将来时吗?那这么选A呢?
2.He must have an accident ,or he ( )here then.
A should have been B should be
C would be D were
答案是A.主句是过去将来时,那么从句应该是一般过去时或者过去将来时,怎么是A 呢?

做虚拟语气的题不能这样分析的。
主要是要掌握怎样的表达是表达什么意思。
could not have done 是本不应该做而做了 意思刚好对.
should have done 是本应该怎样的意思。最主要的是要记住一些固定的语法。而不是死背该用什么时态。

“要不是他亲眼所见,他绝不可能相信这件事。”用过去将来时是因为他确实已经相信了。 could not have 不可能已经 “But that”接句子 “but for” 接名词,要不是……
“他一定是出了什么事,要不然他应该已经到这了。”
should have been 本该做某事而实际上没做。他本该到达而实际上没到。

多做点虚拟语气的题你就会有感觉的了。

could not have done 是本不应该做而做了
should have done 是本应该怎样的意思