B它是现在分词的完成式, 现在分词的完成式表示分词所发生的动作是在谓语所表示的动作之前,即Having completed所发生的动作是在 was given之前 。
Having completed 这里表原因可以转换成原因状语从句As Mike had completed the difficult project for the company ahead of time,
B.Having completed
句子意思为:按时为公司完成了这个困难的项目之后,迈克被老板涨了工资。后半部分是主干,前面是时间状语,因为先完成项目后涨工资,所以用完成时表示发生在主干时间之前。所以选B
B
首先是主动语态
表示已完成,所以having done
选C。因为complete这一动作不是主句主语Mike发出的,所以不能用动名词,只有C符合。