案例教学和竞赛在《C语言程序设计》教学中的应用