求助分词的选择题!!!

Then she swam to the shore after spending the whole night in the water.
after后面为什么用分词?

这一题又是怎么回事
She swam to the shore_____the night in the water?
A. having spent
B. having spending
C. when spending
D. had spent

为什么不选C 要选A?
还有 为什么要用have。这题真难啊~

第一个 原因就是大家说的after是介词 那么后边要接名词 因为spend是动词 所以就变成了ing形式 也就是动名词 就可以了
第二个 最好是空格前面有一个逗号 那就肯定选择A了 但是现在也是对的。这句话是一个简单句,句子主干是She swam to the shore. 后面的成分肯定是一种可能 就是状语 现在分词(doing)可以做状语 而这里之所以出现了一个having 是因为它想表达动作先后的关系 现在分词有一般式(doing)和完成式(having done) 它们的唯一区别就是 完成式的动作是在主句的动作(swam)之前发生的 那么这句话就可以翻译成;她先在水里度过了一个晚上之后游到了岸边。C项一翻译就知道肯定是错的了 当她在水里度过一晚上的时候他游向了岸边。不可能同时发生啊。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-02
1.第一句是“介词+现在分词”的形式,after后接ing的整句话做时间状语.

2.而第二句是典型的“现在分词的完成式”,having spent后面整句话做时间状语,并且分局动作发生在swam之前,she 和spend是主动关系,所以第二题选A。
以后要多注意这样的形式。

翻译:在水里度过了一晚上后,她游去了海岸。

这个语法知识我到现在还没学到,应该是高二才学吧,总之这个语法考试常考!~ 努力!~~
第2个回答  2010-01-02
after 有连词词性,也有介词词性。它后面要么接完整的句子,要么接动词的ing形式。

having done 是 doing 的现在完成时,用having spent代替spending, 表示“在水中度过一晚”是先发生的,“游到岸边”是后来发生的。
第3个回答  2010-01-02
after 作介词,介词后加名词作修饰. after doing sth 中的doing sth 可以考虑成名词,类比:after breakfirst

若C,字面翻译为:当他正在河里消磨夜晚的时候,他游向岸边。
when在这里表示伴随状态。
having done演变自 have done, 表示完成时。这里意思是他游向岸的时候已经在河里泡了一夜了。意思上更为通顺。

选择题有时候语法不清楚可以试着从字面上找答案……
第4个回答  2010-01-02
第一题是介词后面的动名词 用进行时表示主动 第二个是一个从句选c缺少主语