All flights_____because of the snowstorm,many passengers could do nothing but take the train.
A.had been canceled
B.have been canceled
C.were canceled
D.having been canceled
为什么要选D呢?用进行时?
答:由于所有的航班都因为这大雪而停了,许多旅客只好改乘火车.
析:如果选A,则要么第一句前加上一个从属连词Since,Because,As,要么在第二句前加上一个并列连词so,表示因果关系.
D是独立主格结构.我们知道,分词短语也可以作状语,但它的逻辑主语是主句的主语,如果不是主句的主语,可以带上自己的逻辑主语,这就是独立主格结构之一.
D.all the flights having been canceled= Since all th flights had been canceled,.
PS:楼主似乎还没有分清非谓语动词之现在分词(V-ing)和谓语动词的形式之一 进行时态.
进行时态由助动词be+现在分词V-ing构成.
doing叫现在分词,
be doing叫进行时态
am/is are doing叫现在进行时态
was/were doing叫过去进行进态.
.
现在分词有四式:
一般主动式:doing 一般被动多:being done
完成主动式:having done 完成被动式:having been done