先回答你的问题:
当关系代词作主语或宾语或表语,且先行词是物时是否才存在that和which 的辨析?
which指代物,who/whom指代人,that既可指代人也可指代物.所以如果先行词是物,那么就是that和which的选择;如果先行词是人,那么就是that和who/whom的选择.
先行词是数词或被数词修饰,是否就用that引导呢?
是的..先行词为序数词、数词、形容词最高级时,只用that.
从句是否必须紧跟着前面的先行词.还是关系代词只是指代主句当中的一部分,而非必须紧挨着?
原则上说应该尽量跟着前面的先行词,但并非必须紧跟着.关系代词也不是只指代主句中的一部分,还可以指代主句全句.
至于这道题为什么选B,因为从句在逗号后面,故而为非限定性定语从句,that肯定不能用的.可以用的是 the price of which 或 whose price.这题的先行词是vase, 代入到定语从句中:
the price of (the vase) was very reasonable.
用which指代vase,所以从句为the price of which was very reasonable.
或者还可以写成(the vase's) price was very reasonable.
因为是所有格,可以用whose指代,写成:whose price was very reasonable.