现在完成时
1. 表示过去发生或已经完成的某一动作对现在造成的影响或结果。
[例句] —Have you had your supper yet? —Yes, I have just had it.
2. 常与介词for, during, in, within, over等引导的时间状语连用, 表示过去的某一行为一直延续到现在。
[例句] I haven’t seen my English teacher for a long time.
3. 表示反复或习惯性的动作, 常与several times, once, twice, frequently等频度副词连用。
[例句] I have been to the USA several times.
4. 表示从过去到现在没有发生过的动作。
[例句] I haven’t swept the floor for a week.
5. 用在时间、条件状语从句中, 表示从句动作先于主句动作完成。
[例句] I’ll tell him after you have left.
6. 在“级+ 名词”或在“这是第几次…”之后跟定语从句,从句用现在完成时。
[例句] ①This is the third time I have been there.
②This is the best tea I have ever drunk.
只用that不用which的情况
1、.先行词为all,much,everything,nothing,something,anything,nothing,none,theone等不定代词时
2、先行词被only,any,few,little,no,all,just,very,right等修饰时.
3、当先行词是最高级或被形容词最高级修饰时。
4、当先行词是序数词或被序数词修饰时。
5、当先行词是数词时.
6、当先行词既指人又指物时。
7、如有两个定语从句,其中一个关系代词已用which,另一个关系代词则宜用that。
8、主句是Therebe结构,修饰其主语的定语从句宜用that作关系代词。
9、被修饰成分为表语,或者关系代词本身是定语从句的表语时,该关系代词宜用that。
10、先行词为what,关系代词用that。
11、有时为了避免重复而使用that引导定语从句。