请英语高手解释一下这道题,正确答案是B,但我不大明白,能每个选项都解释一下吗?

It's getting late. We ______ the office now, or we'll miss the last bus.
A. had rather leave B. had better leave
C. would rather leave D. would rather have left

would rather是固定用法,意思是“宁愿、宁可、更、最好、还是为好”,后接动词原形,常省略为’d rather,表示优先选择的一种方式
其否定形式是would rather not do sth。would rather没有人称和数的变化,所有的人称一律用would rather。
“would rather+动词原形”是英语中常见的一个惯用句式,美国英语中多用had rather。would (had)在此决无“过去”之意,它是一个情态助动词,且无词性、时态变化。
例:He’d rather work in the countryside. 他宁可到农村去工作。
had better 用于提出建议或请求时,并不是一个很客气委婉的表达,它暗示对方有义务去做某事,因此通常用于长辈对晚辈或上级对下级等,而不宜反过来用。
例:You had better sit here and have a rest. 你最好在此坐坐休息一会儿。(现在时)

我认为此句意思是“天色晚了,我们最好离开办公室了,不然我们赶不上末班车了。”,would rather主要指更加倾向于做某事,而had better主要指提出建议。

希望采纳,谢谢!追问

had better 是提出建议,如果是have better可以吗?我不大懂为啥用的是过去完成时。

追答

had better 是固定用法,have 和better也能连在一起,但不是词组。如: We have better computers than you.

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-22
It's getting late.天色变晚了

We ______ the office now, or we'll miss the last bus.我们现在_____办公室,否则我们就会错过最后一趟的公交车了。

had better最好;后面跟动词原形
所以答案填B. had better leave

would rather----宁愿

没有had rather 的说法

满意请及时采纳,谢谢追问

那B时态用的是过去完成时,如果,我说的是如果,如果还有现在完成时或过去将来完成时的选项,那该用哪一个?

追答

had better是情态动词,不是过去完成时(had+过去分词)

现在网上出现了had rather宁可,但在这里也不符合语意

你真令人失望

本回答被网友采纳
第2个回答  2014-12-22
这个很好理解,首先A选项不存在这样的搭配,B选项译为最好离开,C选项译为宁愿离开,D选项译为宁愿已经离开,结合语境,天晚了,我们最好现在离开办公室,否则会错过最后一班公交车,故选择B。如果还有什么问题,可以来精锐这边,我们这边有一个高效自学吧,可以随时答疑解惑,欢迎前来体验。