钻石原石种类图片:请教语法问题 P138/159

来源:百度文库 编辑:高考问答 时间:2024/03/28 21:26:26
___ slowly he might have understood you.
A.If you spoke
B.Speak
C.Had you speak
D.If you should speak
答案是C,请问为什么?A为什么错?

后面句子用的是might have done结构,由此可知前面应该是对过去事实的虚拟,所以用had done。如果改成if you had spoke,则正确。

这里是虚拟语气啊,要是你说的慢点,他可能会懂你的意思
HAD此处虚拟语气提前,但并不是疑问句只是加重语气

虚拟语气
如果是A应该是If you spoke slowly he might understand you.

C.Had you speak
如果你讲的慢些也许他会听的懂。

因为这是一个与过去事实相反的假设,就是说你讲的太快以至于他听不懂
结构:从句:had+过去分词,主句:might+have+过去分词

我刚刚查了语法书,楼上的那位朋友说的是正确的
条件句中有could,should,had,were时,可以省略if,把could ,should,had,were放在句首句子意思不发生变化,只是较为正式一点。
例如:If you had informed me earlier,I wouldn't have signed the contract.=Had you informed me earlier,I wouldn't have signed the contract.
不过严格来说这也是一种倒装。

Had you speak slowly he might have understood you. 这里是虚拟语气,也就是说,如果你说慢一点,可能他就听懂了。但事实上,你当时并没有讲得慢,与过去相反,所以是虚拟had done

实际上这里还考到一个语法点原句应该是If you had speak slowly he might have understood you.题中是一个前置。

在if引起的虚拟条件句中,如果谓语有should ,were,had,可以把if省略,把这些词提到if的位置。这样就有了题中的答案c.