牛津实用英语语法 160 will和should表示假设
A will用于表示对现在或过去行为的假设
will可与现在式(只限于表示未经预先考虑或计划的行为)或进行式或完成式连用:
Ring his home number.He'll be at home now.
拨他住宅号码。他现在会在家。(我肯定他在家。)
He'll be expecting a call from you.
他该在等你的电话。(我肯定他在等电话。)
He'll have finished his supper.
他该吃过晚饭了。(我肯定他吃过晚饭了。)
It's no use asking Tom;he won't know.
这事问汤姆没用,他不会知道。(我肯定他不知道。)
Will Bill be at the club now,do you think?
你觉得比尔现在会在俱乐部吗?(你认为他在吗?)
B should用于表示对现在或过去的行为的假设
should在此主要与现在式(仅限于表示未经预先考虑或计划的行为)的肯定式或否定式连用。有时也可与进行式或完成式连用:
The plane should be landing now.
现在飞机肯定在降落。(我认为飞机正在降落。)
The letter should have arrived by now.
信现在该到了。(我认为该到了。)
用should表示推断时没有用will表示推断时自信心强:
Tom should know the address.
汤姆应该知道地址。(我想汤姆知道。)
Tom will know the address.
汤姆会知道地址的。(我肯定他会知道的。)
He should have finished by now.
他现在该完成了。(我认为他该完成了。)
但是:
He'll have finished by now.
他现在想必完成了。(我肯定他完成了。)
should不用于表示使说话的人不高兴的推断:
Let's not go shopping now.The shops will be very crowded.
我们现在别去商店买东西了。商店这会儿人肯定特别多。(在此不必用should。)
但要表示与此相反的而使说话人高兴的推断时,两种形式都可以用:
Let's go shopping now.The shops will be/should be fairly empty.
我们去商店买东西吧。商店里人不会太多。
The shops won't be/shouldn't be too crowded.
商店里不会太拥挤。
C will和should也都可以表示对将来的假设:
He should/will have plenty of time to get to the station.
他该有足够的时间去火车站。
They shouldn't/won't have any difficulty in finding the house.
他们找这房子时大概不会有困难。
will+现在式表示对将来的推断时,不限于表示并非故意所做的动作。(参见第209节。)
D ought to 也可以与should一样在上述B和C中有相同的用法:
The plane ought to be/should be taking off in a minute.
飞机应马上起飞了。
但should是较常用的形式。