21.【解析】选C。考查冠词的用法。某些不可数名词前面常常有不定冠词,如have a headache, catch a cold, have a fever等。故第一空填不定冠词a。第二个空特指当天的晚上,故填定冠词the。句意: 我醒来的时候头痛得厉害,然而到晚上的时候疼痛消失了。
22.【解析】选D。考查observe跟宾语补足语及stop的用法。句意: 很多人看到了那个小偷正在偷那位女士的包里的东西,但是没有人阻止小偷的行为。observe是感官动词,后面可跟省略to的不定式或现在分词作宾语补足语,由句意可知那位小偷“正在偷”,故用现在分词;第二个空考查固定短语stop sb. from doing sth. 阻止某人干某事,其中from可以省略,用动名词doing,故选D。