首先if条件从句知识温故而知新:

(1)一般普通假设,不属于虚拟语气。If you study hard now, you will be a successful man.

if 引导从句为一般现在时,主句为将来时。

(2)与现在事实相反的假设,虚拟语气。If I were you, I would join them.

if 引导从句为一般过去式,主句为would/could/should/might+动词原形。

(3)与过去事实相反的假设,虚拟语气。If I had got there earlier, I should have met her.

if 引导从句为过去完成时,主句为would/could/should/might+ have +动词过去分词。

我们今天着重学习的内容是if 引导从句为过去完成时,表示与过去事实相反的假设,虚拟语气;主句为would/could/should/might+ have +动词过去分词。

【什么是与过去事实的相反虚拟语假设呢?】

有一件事发生在过去,这件事已经成为事实,现在我们假设在过去的时候,又另外一种情况出现的话,又会有什么样的结果。那么由if引导的从句就是这种与过去事实相反的虚拟或假设。

if 从句是一种虚拟的条件或假设,和过去事实相反的。

主从句的时态具体如下:

从句: had + 动词过去分词

主句:would/could/should/might+ have +动词过去分词

(1)If I had remembered the answer, I should have got better grade.

译文:如果我记得答案,我应该会得到一个更好的分数。

从句:If I had remembered the answer,过去完成时(had + 动词过去分词),had +remembered ~

主句: I should have got better grade,would +现在完成时(have + 动词过去分词),would have got~

分析:首先考试这件事情发生在过去,并且我的成绩考得不好也是事实。这里对过去进行假设,假设另外一种情况——我记得那个答案,推测假设的结果——得到更高一点的分数。if 引导的对过去事实假设的虚拟语气。

(2)If he had taken my advice, he would not have made such a mistake.

译文:如果他采纳了我的建议,他就不会犯这样的错误。

从句:If he had taken my advice,过去完成时(had + 动词过去分词),had +taken ~

主句: he would not have made such a mistake,would +现在完成时(have + 动词过去分词),would have made ~

分析:事情发生在过去,事实上他没有采取我的建议。现在假设另外一种情况——他采取了我的建议,那么结果——他不会犯这样的错误。对过去客观存在的事实一种假设,以及推测其可能发生的结果。if 引导的对过去事实假设的虚拟语气。

练习(答案在文末)

If he ____ ( study ) harder, he might have passed the exam.

If there ____ (be ) a heavy snow, we ____ (not go )skating.

If I ____ (get ) there earlier , I ____ (meet ) her.

经典例句:

If I were you, Mrs Gretchen, I just wouldn't worry about it

要是我是你,格蕾琴夫人,我一点都不会担心。

If you went into town, you'd notice all the pubs have loud jukeboxes

如果你进了城,你会注意到所有的酒吧都有音量很大的自动点唱机。

If he improved his IT skills, he'd (= he would) easily get a job.

他如果提高了自己的信息技术技能,就会容易找到工作。

You would know what was going on if you'd (= you had) listened.

你若是注意听了,就会知道发生什么事了。

They would have been here by now if they'd caught the early train.

假若他们赶上了早班火车,现在就该到这里了。

If only you had told me that some time ago

要是你早些时候告诉我该多好啊!(直接对过去的事情进行虚拟或假设)

《柯林斯高阶英汉双解学习词典》

答案:

had studied,如果他学习努力一点,他就有可能通过这个考试。

had been , should not have gone ,如果这里有雪,我们就不应该在这里滑雪。

had got , would have not,如果我早一点到那里,我可能会遇到她。

If引导从句表示虚拟语气的用法和结构解析