have had或had had都对
have had与had had都对,但它们的含义略有不同。前者具有“至今”的含义,后者只表示在last night以前。
have had与had had都对,但它们的含义略有不同。前者具有“至今”的含义,后者只表示在last night以前。
1. 现在完成进行时和现在完成时皆可表示动作对现在产生的结果,但前者所表示的结果是直接的,而后者所表示的则是最后的结果。如:
有的动作是离现在不久完成的,如“He has gone.”; 有的动作则是离现在颇久或很久完成的,如“He has travelled in Tibet.”。
这也是现在完成时和过去一般时的区别之一。有一位英国语法家把这种区别与两个冠词联系起来。
be leaving含有“意向”,相当于“打算”,较口语化。如用will leave,则有歧义: 一是表“意愿”,一是只单纯表一个未来的事实。
命题者显然要求选A,因为 will get 在此是规范英语。其实C也不算错,虽然主要用于美国英语(也有人说用现在一般时比较亲切)。 B不合语法,D则不合乎习惯。
我认为选A 比选D好,因为从句中有过去时间 many years ago, 不知对否?
有一读者问:许多教科书和语法书上说,no sooner ...than结构中的 no sooner 之后应用过去完成时,实例如:
1. 两个过去一般时皆指一过去某一时刻(具体什么时间由上下文决定),但由于有连词before,不会被误会为同一时间。
(a)句用现在一般时works,表示约翰工作努力,经常如此,已经成为他的一个特点了; (b)句用现在进行时is working,只说明现在(说话人说话的时间)约翰很努力工作,至于他平常工作如何,就另当别论了。
finish 与 have finished 都不错,只是前者意味着它与 will go 之间无时隔,后者则意味着它与 will go 之间有时隔。
有一读者问: 有的书上说下面一句中应用现在一般时:(1)It's almost a year since we came to this farm.
Copyright © 2025 | Sitemap | 鄂ICP备2020020141号-1