Ⅰ. 1.【解析】选C。句意:哦,我感觉胃有点不舒服,刚才我不应该吃那么多的炸鸡。表示本不应该做实际上做了用shouldn’t have done。
2.【解析】选D。考查情态动词。ought to have done表示本应该做而实际上未做, 由前句中的“Pity you weren’t there. ”可知选D项。
3.【解析】选B。后句句意:我很难过你竟然会这么想。should表示居然,竟然。
4.【解析】选A。考查情态动词和虚拟语气。句意:——我的猫真的太胖了。——你不应该给她那么多的食物。此处表示和过去事实相反的情况,应该用shouldn’t+have+过去分词,意为本来不应该做,而实际做了。