首先,where与which/that这属于关系代词与关系副词的区别:方式是看空后句子有没有主与和宾语,如果有就选where,如果缺主语或宾语就选that或which;再者就是翻译看空后句子意思通不,通顺就选where,不通就选which、that.如;
Do you know that village ______is introuduced by this book?A.which B.where
很明显从句中没有主语,就选A.
Do you knwo the village _____your father spent his childhood?A.which B.where
空后句子有主语your father、宾语his childhood,所以选B.
考考你:
Do you remember the village _____your father visited last year?A.where B.that
B
此次,that和which用来指代物是可以互换,但在两种情况下不用that,一种是空在介词后,如in/on/after/for/to等;二是空在逗号后,即所谓的为限制定语从句.
He failed again,______made me angry.A.that B which C where
逗号后不能用that,空后却主语,故选B.
Do you know the place _____they are talking?
A.about which B.about that
介词后不用that,故选A.
此外,有好多情况下用that而不用which,如先行词本身为all,everything/anthing/nothng等不定代词时;先行词既指认又指物时;先行词前有最高级、序数词、all/only等词修饰时,等几种,不过一般而言,只要不是在逗号和介词后,如果从句缺少主语或宾语,that/which同时出现,一般that作为答案的机会大.
如:All ___I have done is for you.A.that B what C.which
all是不定代词作先行词,在从句中作宾语,故选A.