2.____for a long time, the fields are all dried up.

来源:百度知道 编辑:UC知道 时间:2024/06/22 17:33:20
2.____for a long time, the fields are all dried up.
A. There has been no rain ? B. Having no rain C. There having been no rain? D. There being no rain
答案是C能不能都讲解下啊?

There having been no rain 是独立主格结构 可以单独存在

A. There has been no rain 不可以 ,因为后面是逗号,逗号不能连接两个句子

B. Having no rain 语法错误 这时 the fields 是 Having no rain 的主语 明显搭配不当

D. There being no rain 表示进行 用在这儿不合适

很长一段时间都没下雨了,田地都闹干旱。
考察独立主格结构,排除A
for+ 一段时间,要用完成时,排除D 而且是延续性动作,排除B
选C

there be 句型 的独立主格结构,相当于一个原因状语从句。常用在书面语中,尤其试题中,口语中没有这个用法。

首先明确逗号不能连接两个句子,逗号后面的已经是一个完整的句子了,所以逗号前面的一定不能使 一个完整的句子,当然不能出现谓语,A排除。前面半句想表达一个there be的存在与否,而后面表达的是土地,主语即陈述的对象不一样,所以B排除。既然there be 句式又不能用句子,就应该考虑到独立主格了,这个语法使得逗号连接两个主语不同的成分成为可能。C D 就是动词的形式问题了,由for a long time 可知,这是一个持续很长时间的过程,过去一段时间都是这个状态,所以动词形式用现在时having done。选C

There having been no rain不是一个句子(缺少be动词),而是状语,表示原因。可以改成With having been no rain 或 Since there has been no rain,etc.

这里there be句型是作状语的,不单独做一个句子(中间有逗号)所以要用现在分词。又因为有for a long time,所以要用have been的形式表示这个动作(没有雨)已经持续了一段时间。所以AB不符合语法,D不符合语境。