49.C。根据上下文,他们还没到这里的原因有可能是他们错过了汽车。错过汽车,没按时到一定是一个过去的动作,所以排除B、D项。can表示推测时常用于否定句和疑问句中。故C项是最佳答案。
48.C。根据语境,是对过去了的事情表示感谢。情态动词 + have done,表示过去。would意为“会,将”。
47.C。should do的意思是“应该会……,-定……吧”,表示“预期”。
46.A。would在这里的意思是“过去经常做某事”,符合语境,而B、C、D均无法使此句合理通顺。
45.D。根据语境,表示有把握的推测,“一定开始上课了”。must + 动词原形是对现在情况推测,must + have done表示对过去或已发生的情况的推测,may表示把握性较小的推测。should表示预期,“应该会,一定会……吧”。
44.D。ought to可以表示“根据外界的事实或条件做出判断”。can用于推测时常出现在否定句或疑问句中;may和might表示推测的不确定性。
43.C。mustn’t表示“禁止”“绝对不可能”,must表示猜测时,语气比may更加肯定。
42.A。must表猜测时,只用于肯定句,而依据They must be somewhere可以判断答案。
41.C。应该注意上句时态是was,“当时门是开着的”。对过去的事件的否定推测用can not have been。
40.A。should用于情态动词时可以表示“应该会……,一定……吧”。外国人善于做饺子,他们做饺子的情形一定会很有趣。may只是用于不太确定的推测,不足以表达文中的含义can通常情况下用于疑问句和否定句的推测;will表示将来的情况,而外国人做饺子有趣是一般情况下都会发生的事情。