图书前言

前言

目前,我国高校非计算机专业的计算机教育普遍实施“三个层次”的教学方式,即计算机应用基础、计算机技术基础和结合专业的计算机应用。“C语言程序设计”属计算机技术基础课程。

受到课时数不足、配套课程不够等客观因素的制约,任课老师普遍感到要在非计算机专业的学生中上好“C语言程序设计”课程不容易,学生也普遍感到学好课程有一定难度。为了使课程教学达到预期效果,我们认为应该明确和解决好以下问题。

1. 课程目的

程序设计是计算机技术在各行各业应用的基础。对非计算机专业的学生,在今后的工作中不一定要自己开发应用程序,但一定会使用计算机程序,也有可能与计算机专业人员合作开发本专业领域的应用程序。因此,学习程序设计的一般原理,掌握基本的程序设计方法和技术具有重要的现实意义。“C语言程序设计”课程的目的就是帮助学生掌握一种高级程序设计语言(C语言),并运用语言开展程序设计实践,使学生具备应用高级语言开展程序设计的初步能力。

  程序设计必须借助于语言。“C语言程序设计”课程必然应包含“C语言”和“程序设计”两方面的内容。必须明确,学习程序设计的一般方法和技术是本课程目的,学习C语言只是为了实现程序设计,C语言是程序设计的工具语言。本课程将通过对C语言的词法、语法介绍,通过各种基本控制结构的实际案例分析,向学生介绍程序设计的基本方法。通过上机实验,使学生掌握程序调试和测试方法。通过本课程的学习,应使学生在应用计算机解决问题的能力得到进一步的提高,为后续的计算机应用课程打下坚实的基础。

2. 课程内容

对程序设计语言和程序设计技术的熟练掌握和深入理解是计算机系学生的两大基本要求。“C语言程序设计”课程是计算机专业学生本科四年中要学习的系列计算机课程之一,属专业基础课,其重要性不言而喻,因此一般安排比较充足的教学课时。计算机系学生学习“C语言程序设计”,主要的课程内容是深入地研究C语言的词法和语法,并通过程序设计练习进一步理解程序设计语言。其教学的重点是程序设计语言,程序设计技术是副产品。

  在非计算机专业学生中开设“C语言程序设计”课程,不能全盘复制计算机专业学生的课程内容。一方面因为课时不够,另一方面还必须对本课程的内容做适当的外延。本课程的基本教学内容应包括:  了解软件开发的一般过程,软件开发和软件运行平台的使用,软件工程的基本概念,C语言的基本词法和语法,结构化程序设计的方法,模块和函数的概念,顺序、分支和循环三种基本程序控制结构的概念和实现,程序调试和测试的一般方法等。

  考虑到能提供给本课程的学时有限、学生在学习本课程之前数学基础和专业知识还较欠缺,加上在一、二年级其他功课压力较重等客观因素,具体安排课程内容时应注意以下几点: 

(1) 介绍程序设计语言时应有重点而不是面面俱到。C语言语法比较庞杂,有些语句可以相互替代,有些语句不常使用。课程中要重点介绍基本的、常用的语句,忽略重复的、不常用的语句。

(2) 注重程序设计语言的共性。学生以后不一定用C语言写程序,而本课程又不可能介绍所有的计算机语言。所以应该介绍计算机程序设计语言共性的东西,让学生掌握语言比较学的方式方法,使学生具有自学其他程序设计语言的能力。

(3) 不要从理论上讲解程序设计。不能安排太多的时间专门讲授程序设计理论,而应以介绍语言为线索,通过合适的实例分析,将程序设计的一般方法和技术传授给学生。

长期的计算机基础教学实践,长期的计算机基础教学研究,是本书形成与完善的基础。我们希望奉献给老师和学生一本易教易学的教材。

为配合新一轮的本科教学改革,本书第3版在原第2版的基础上,对各章内容作了大幅度调整和精简。重修设计例题,更适合于案例教学。补充和调整习题,使习题更有针对性,更有梯度,能满足不同程度的学生课后练习。放弃了原第12章面向对象的程序设计。

本书由黄保和策划和统稿。江弋编写第1章,黄洪艺编写第5、8、10章,李慧琪编写第2、3、4、9章,张丽丽编写第6、7章,黄保和编写第11章。本教材编写和改版过程中,得到厦门大学公共计算机教学部各位老师的大力支持,借此表示感谢。

在使用本书过程中,如有宝贵意见和建议,恳请与我们联系。

编著者

2014年6月