【正确答案】
B
【答案解析】[分析] but作为关系代词也可引导定语从句,同具有否定意义的主句连用,其先行词可以是人,也可以是物,but在意义上等于“that... not,who... not”,而且but只用于限定性定语从句中。如:There was not one house but was burnt down. 所有的房子都被烧掉了。There are few of them but admire your achievement. 他们几乎每个人都敬佩你的成就。本题如果用关系代词that,可以这样表达:There are very few rules of grammar that have no exceptions. 如果用分词应该说: There are very few rules of grammar having no exceptions.