英语句式问题,此句该怎么填?If the weather had been better,we could have a picnic.But it __ all day.A.rained B.rains C.has rained D.is raining应该选哪个?为什么?

问题描述:

英语句式问题,此句该怎么填?
If the weather had been better,we could have a picnic.But it __ all day.
A.rained B.rains C.has rained D.is raining
应该选哪个?为什么?

A
虚拟语气题。if引导的条件句,用的是过去完成,而主句是could have done的结构,明显的是虚拟语气与过去事实相反的情况,表示的是过去发生的事。 那天一整天都在下雨,所以选rained。

If the weather had been better,we could have a picnic.这个句子是个虚拟语气表示天气不好,所以没去野营。而But it __ all day表示客观的事实, all day是完成时的标志词
选C

A. 虚拟语气,从句用过去完成时,那么主句就用过去时.虚拟语气记的时候有个方法法,从句的时态比主句要早一个时态.比如从句用现在完成时,主句就用一般现在时.
希望能帮到你~

C,一整天都在下雨,all day.