图书前言

C语言是从BCPL语言发展过来的一种结构化的计算机程序设计语言,具有语言简洁紧凑,运算符和数据类型丰富,表达能力强,生成的目标代码质量高,使用方便灵活,既可以进行底层系统程序的开发,又可以进行上层应用程序的开发等特点。随着C语言在我国计算机行业的推广普及,目前绝大多数高等院校的理工科专业都开设了“C语言程序设计”课程。

本书以应用性为中心,以培养程序设计思想和程序设计能力为本位,坚持基础理论与应用实践并重的指导思想,旨在帮助读者理解和掌握C语言,并能通过C语言解决现实世界中的实际问题。

本书全面而又系统地讲解了C语言的相关知识点,并进行了合理的组织与划分,全书共分为11章,包括初识C语言、C程序设计基础、顺序结构程序设计、选择结构程序设计、循环结构程序设计、模块化程序设计、使用数组处理批量数据、指针、用户自定义数据类型、文件和实验安排等,前10章附有重点内容小结和多种类型的习题。

本书的结构安排合理、条理清晰,内容实用,讲解到位,具有以下几大特色:

(1) 结合C语言程序设计应用性、实践性的特点,精选教材内容。基础理论以实用、够用为目的,淡化语法,将基础知识、理论体系删繁就简。

(2) 问题驱动,增强学生学习的目的性和主动性。为了增强学生的学习目的性,在每章内容的开篇给出了本章的学习目标,同时在介绍具体内容之前,增加了“问题提出”环节,用来介绍为什么要学习这些内容,这些内容可以解决什么问题。在内容的编写上,注重对兴趣性和启发性原则的应用,尽量引用现实生活中学生感兴趣的实例导出知识点,并多提出一些问题,引发学生思考,从而紧紧抓住学生的学习思路,增强其学习的主动性。

(3) 精选案例,消除学生的畏难情绪的同时,培养学生的程序设计能力。在保证知识够用的前提下,适当控制难度,书中例题的选择尽量做到“知识性、趣味性、连贯性、简单性和应用性”的结合。根据学习环节设置的不同,例题一般分为两大类。一类是基础性、演示性例题。在刚接触新的知识点时,尽量选取这类较简单的例子,做到能说明问题即可,如对于三种循环语句的处理,可选用求前100个自然数和的例子加以讲解,这样既简化了问题,又突出了重点,易于消除学生的畏难情绪。另一类,则是培养学生程序设计能力的设计题。通过任务的提出、设计思路的分析、算法的描述、程序的实现、引发的思考和说明等过程,逐步引领学生掌握算法分析及程序设计的方法。

(4) 以“学生成绩管理系统”为主题,培养学生解决实际问题的能力。“学生成绩管理系统”这一主题,由第3章引入一直贯穿到第10章文件的建立和使用,并在第11章的实验安排部分进一步引申,前后衔接,逐步扩展,最终实现了一个功能完整的系统。在分模块实现该程序的过程中,将C语言的基础知识、程序的三种基本结构、函数、数组、结构体、文件等知识点和生活实际应用有机地结合在一起,有利于学生思考并理解“为什么学”“如何用”“用在哪儿”的问题,能够使学生在学习过程中真正地做到学以致用。

(5) 实践丰富,分层设置实验内容,注重学生应用技能的培养。为了强化学生的实际操作能力训练,加强学生动手能力的培养。本书在第11章设置了上机实践内容,考虑到学生的学习水平参差不齐,将实验内容分成基础实验、进阶实验和提高扩展实验三个不同的等级,其中基础实验以知识点的巩固、验证为主旨,进阶实验以知识点的完善、初步设计为主旨,提高扩展实验以知识点的扩充、提高为主旨。采用分层设置的方式既方便学生选择适合自己的实验内容,也方便老师开展分层教学。另外,在附录部分还给出了常见的上机错误分析,以帮助学生更好地完成上机实践环节。

本书的第1~4章和第11章由鹿玉红编写,第5~6章由邢丽莉编写,第7、9章由杨秋格编写,第8、10章由刘颖编写。在本书的编写过程中,防灾科技学院计算机专业的丰继林、白灵、张兵、庞国莉、郭娜和张艳霞等老师给予了多方面的支持和帮助,在此表示衷心的感谢。另外,编者参阅了大量的文献资料及网站资料,在此也一并表示感谢。

本书内容丰富,除了书中提供的内容外,还提供了电子课件、例题和实验的程序源码、课后习题答案等丰富的教学资源。虽然我们力求完美,但因编者水平有限,书中难免存在错误和不足之处,欢迎广大读者来信批评指正,提出您的宝贵意见和建议,帮助我们不断地完善本教程。编者Email地址为:luyuhong@cidp.edu.cn。

编者

2018年4月