关于定语从句的This is one of the best films( ).A.that has been shown this yearB.that have shownC.that have been shown this yearD.that you talked为什么选C不选A.到底哪个是正确的?

问题描述:

关于定语从句的
This is one of the best films( ).
A.that has been shown this year
B.that have shown
C.that have been shown this year
D.that you talked
为什么选C不选A.到底哪个是正确的?

先C的原因是定语从句讲究最近原则,films是复数,然后用被动句表达,所以先C.
A.错误的原因是films是复数,不能用has
B.错误的原因是没使用被动句
D.句子意思不通顺.

BD肯定排除了,所以我们需要对比A和C。对比后发现差别就只在于have还是has的问题,实质也就是单复数的问题。动词的单复数看它的主语,也就是that,这个that起到引导定语从句的作用,是单数还是复数要根据它所指代的名词来判断。这句话里,that指代的是“the best films”(是复数),所以谓语自然选have。
或者我们用逆向思维,如果选A:
This is one of the best films that has been shown this year.这里面that只能指代one。翻译过来就是:这是最好的电影中,今年播出的那一部。
如果我们选C:
This is one of the best films that have been shown this year.这里面that指代的是the best films,翻译过来就是:这是今年播出的一部好电影。

按照汉语的思维,明显选C更合适。

“one of+名词复数”后面的定语从句,谓语动词应该用复数;而“the (only) one of +名词复数”后面的定语从句的谓语应该用单数形式
He is one of
the students that have passed the exam他是通过了考试的学生之一.
He is the (only) one of the
students that has passed the exam.他就是通过考试的那个学生.

其实语法上选C和A都可以,但是实际逻辑上C更好一些。这是今年已经上映的最好的电影之一。have是因为定语从句的先行词是前面的films,是复数。如果是A的话,先行词就是one of the best movies了。但是我觉得逻辑上它应该修饰的是the best movies。