三道英语题。。

I have been studying Chinese history for four years.【为什么用现在完成进行时】
I have worked at No.17 Middle school for 8 years.【为什么用现在完成时】
My uncle has been collecting stamps for twenty years.【为什么用现在完成进行时】求解啊!!!!!!!!!!!!!!!!!!!!!

1. since的意思是“自从……时候起”,一般后面有一个状语从句。那么这里就有一个时间上的起始点的问题,这个时间的起始点应该是和谓语动词有关。在英语中,谓语动词被分为短暂性动词和延续性动词(也可称之为状态动词)。那么这个时候我们就要注意了,since 表示的是“自从该动作或者该状态结束时起”,只要谨记这一点,很多句子就可以轻易理解了!大家可以尝试用这样的方式来理解下面的两个句子:
It's three years since he joined the army.

It's three years since lie was a soldier.

上面的两个句子很多学生都觉得意思应该是一样的,就是因为他们对于since这个词的用法不熟悉造成的,或者他们查过词典,但是对词典上的那种锣嗦的解释给弄糊涂了。如果你能用我刚才的方法就很容易找出来他们意思不同之处了。第一个例句的意思是:他参军已经三年了,而第二个例句的意思是他已经退伍三年了,或表示他不是一个战士已经三年了。大家可以再看一个句子。

We haven't seen each other since we were children.

自从我们长大以后我们就再也没有见过对方了。 It + be +一段时间十since从句在这一句型中,主句中的be动词常用is或has been,since引导的从句中的谓语动词常用一般过去时。如果主句中的be动词为was,since从句中的谓语动词则用过去完成时。注意:从

句中的谓语动词如果为短暂性动词,应为肯定意“某人做某事已经有多长时间了”;如果从句中的谓语动词为延续性动词,则为否定意“某人已经有多长时间没做某事了”。又如:It is/has been three years since he left his village.“他离开村子已经有五年了”。It was six years

since she had lived in this city.“那时他不住在这个城市已有三年了”。有时考查该句型中的谓语动词。

1) since +过去一个时间点(如具体的年、月、日期、钟点、1980, last month, half past six)。

I have been here since 1989.

2)since+一段时间+ago

I have been here since five months ago.

3)since+从句

Great changes have taken place since you left.

Considerable time has elapsed since we have been

here.

4)It is+一段时间+since从句

It is two years since I became a postgraduate student.

2. since和for用法比较:

Since用来说明动作起始时间,for用来说明动作延续时间长度。

I have lived here for more than twenty years.

I have lived here since I was born.

My aunt has worked in a clinic since 1949.

Some new oilfields have been opened up since 1976.

I have known Xiao Li since she was a little girl.

My brother has been in the Youth League for two years.

I have not heard from my uncle for a long time.

注意:并非有for作为时间状语的句子都用现在完成时。

I worked here for more than twenty years.

(我现在已不在这里工作。)

I have worked here for many years.

(现在我仍在这里工作。)

当现在完成时+一段时间,这一结构中,我们用下面的公式转化,很容易就能排除非延续动词在完成时中的误使。

I)(对)Tom has studied Russian for three years, =Tom began to study Russian three years ago, and is still studying it now,

2)(错)Harry has got married for six years.

=Harry began to get married six year-, ago, and is still getting married now.

显然,第二句不对,它应改为Harry got married six years ago.或Harry has been married for six years
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-17
瞎推荐答案啊......

其实中三句用现在完成时或现在完成进行时都是可以的,只是侧重点不一样而已。

现在完成时和现在完成进行时的区别主要有以下三点:
1. 现在完成时可以表示过去发生,且已经完成的动作,并强调其对现在造成的结果或影响。
但是现在完成进行时没有此种用法。
如:I‘ve lost my bike.
不能说:I’ve been losing my bike.
2. 当然,现在完成时也可以表示过去开始发生的动作,一直延续到现在,这一点和现在完成进行时没有太大区别。
如:I have been studying Chinese history for four years.
= I have studied Chinese history for four years.
现在完成进行时和现在完成时相比,在于前者更加强调动作的反复性和持续性,且表明该动作一定延续了,可能刚刚结束,也可能现在还在进行,也可能会继续延续下去。
3. 少数状态性的动词(不能用于进行时态的动词)只能用于现在完成时,不能用于现在完成进行时。
如:I‘ve had this book for three years.
不能说:I’ve been having this book for three years.

楼主所给的三个例句,既可以用现在完成时,也可以用现在完成进行时,都没有错误。

参考资料:英语牛人团

本回答被提问者采纳
第2个回答  2012-06-17
自己写