一道初中的反义疑问句练习,帮忙回答下并说明理由~

问题描述:

一道初中的反义疑问句练习,帮忙回答下并说明理由~
2.Tom has been writing letters all afternoon,but he should have finished them by now,
______?
a.hasn’t he b.has he c.shouldn’t he d.didn’t you

选C
解析如下:
此句陈述部分是表转折关系的并列句,附加疑问句则需和就近的分句的主语和谓语一致.由此可以判断应该对后半句进行反问.
Tom has been writing letters all afternoon,but he should have finished them by now,______?
汤姆整个下午都在写信,那他现在应该写完了,_是吗___?
b.has he 不符合反意疑问句前肯后否的原则
d.didn't you 时态和人称都不符合答案
a.hasn't he?如果此选项可选那么应改为如下形式
but he should finish them by now,______?
即should do 表示对现在的推测,而反意疑问句要对即存事实进行反问,所以为
hasn't he?此用法可参照Must 在反意疑问句中的用法.
而原文 he should have finished ...其中的"should"就是一个单纯的情态动词
修饰现在完成时.表推测和表虚拟都与"by now"时态不符.
If you still feel confused ,leave a message please