英语~虚拟语气~问题一个

选择:
______if you had lost your watch.
A.Hadn't you been upset B.Wouldn't you be upset
C.Weren't you upset D.Wouldn't you have upset
答案是B没错,我也选对了,但是我是因为没得选了才选B的,谁能告诉我到底是为什么?
我感觉应该是Wouldn't you have been upset但是这里没有这个选项,那么为什么选B呢?

有这个感觉相信是因为你记住了虚拟条件句的3种用法了
语法书都灌输我们,虚拟条件句分3类

虚拟过去 if had done, would/could/might/should have done

虚拟现在 if did/were, would/could/might/should do

虚拟将来 if were to/would(/did/were), would/could/might/should do

现在使用的一些高中教科书更是把这些死板地分类成Second Conditional和Third Conditional之类的

--------------------------------------------
实际上,语法并不代表一切,在实际使用中,跨时态的比较是完全有可能的
比如说: If she hadn't left the company, I wouldn't be taking her place now.
如果不是因为她之前离开了公司,我现在又怎么会取得她的职位呢。

If I had killed that guy, things wouldn't be so complicated.
如果我把那人杀了(指过去),现在的情况就不会那么糟了。
虚拟过去条件 -- 现在事实
看,不符合结构了吧。 但这是完全对的!

所谓正确结构的选用应该以语意为准,而不能够用语法栓牢自己的思维。下次遇到这种情况的时候,还是要看清楚语意,大胆选择正确答案,该选什么就选什么。
(遗憾的是在中国语法教育下,这个……)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-01-02
我认为不是B!

原题从句有"HAD DONE"表过去,主句必用"WOULD (COULD/MIGHT) HAVE DONE"
无正确选项!你说的那个答案我到是觉得正确!

参考资料:学过

第2个回答  2007-01-02
这个句子应该是这样变来的。
You are upset, because you have lost your watch(now).
You would be upset, if you had lost your watchl.
你认为的答案应该是这样变来的。
You were upset, because you lost your watch(yesterday).
You would have been upset, if you had lost your watch.
相似回答