本书面向程序设计初学者,以“注重基础、注重方法、注重编程、注重应用”为指导思想,灵活运用案例教学、任务驱动、启发式教学等多种教学方法,对C语言程序设计的语言知识和程序设计的方法过程进行了系统介绍,特别适合将“C语言程序设计”作为第一门程序设计课程的高校学生。
全书以程序设计为主线,突出主干知识教学,突出C语言课程的应用性、实践性特点,注重能力培养。
全书共9章,分别为程序设计概述、简单程序设计、分支结构程序设计、循环结构程序设计、数组程序设计、函数程序设计、指针程序设计、结构体程序设计和文件程序设计。每章之后均设有习题和实验指导。
本书主要具有以下特点。
(1) 加强算法设计的教学。在多年的教学实践中我们体会到,学生在学习程序设计时遇到的困难大部分发生在算法设计环节,尤其是初学者,面对实际问题往往无所适从,难以设计用程序解决问题的算法。本书从两个方面努力加强算法设计的教学,以提高学生的程序设计能力:一是注重程序执行过程的分析和说明,加强与计算机的沟通,提高读者的程序阅读能力,进而达到算法学习的目的;二是通过应用实例,加强问题分析和算法设计的教学。
(2) 本书的实例选择力求做到“科学性、趣味性、应用性和易学性”的统一,并按照不同的学习功能进行分类设置。一类是简单明了的演示性例题,重点说明C语言的语法知识,实现基本概念、基本语法的即时应用;另一类是培养程序设计能力的设计性例题,通过问题分析与算法设计、程序实现、程序讨论和说明等内容重点介绍程序设计方法,突出算法设计和程序编写、调试的教学,以加强程序设计的能力训练。
(3) 突出案例教学。书中凡是适合以程序案例开始的新知识,均通过程序示例和程序说明予以引导,首先建立感性认识,然后展开相关内容,进行知识的系统介绍。
(4) 本书的程序设计举例在相关章节保持了连续性,前后衔接,逐步扩展,既便于教师讲解,又便于学生学习理解。例如,学生成绩问题自第1章引入,一直贯穿到建立和使用学生成绩文件,相关举例在第2~5章、第8章、第9章都有介绍。
(5) 本书通过设置“问题思考”、“观察与思考”、“拓展知识”等栏目,灵活运用启发式教学方法,有针对性地引导读者进一步讨论和思考问题。当提示读者从逻辑思维的角度对某些问题做进一步思考时,通过“问题思考”栏目进行启发;当提示读者根据程序运行情况对程序做进一步改进、完善时,通过“观察与思考”栏目进行启发;当需要进一步延伸某些教学内容时,通过“拓展知识”栏目进行适当介绍。
(6) 主教材与实验指导合二为一,在每章之后设置实验及指导内容,不再单独配套实验指导教材,既方便学生实验课学习,也降低教材成本。
(7) 理论教学与实验教学有机结合。本书的实验指导分为基础实验和综合实验两部分。基础实验内容紧密结合课程中的例题程序设置,以“理解→验证→完善→扩充→提高”为实验教学线索,重在巩固课堂教学知识,提高调试程序及完善程序的能力;综合实验以算法设计和程序实现为重点,训练运用所学知识解决实际问题的能力。这样彻底解决了实验教学内容与主教材教学内容并行设置、孤立设置的问题,避免出现主教材与实验教材顾此失彼的情况。
本书编者秉承“建设精品教材,培养优秀人才”的教育理念,广泛吸收、借鉴其他优秀教材的长处,在前期教材建设的基础上,融入多年的教学实践经验和教学研究成果,编写完成了本书,力求深入浅出、循序渐进、语言流畅、通俗易懂、便于讲解和学习。但由于编者水平所限,书中难免存在不足之处,敬请读者批评指正。
参加本书编写工作的还有冯伟昌、黄忠义、魏建国、张元国、王桂东、王金才、李竹健、张文、高永存、王涛、薛莹、徐英娟、马明祥、滕秀荣、彭玉忠等。计算机程序设计爱好者潘振昌、张濛、徐思杰等为调试本书中的程序做了大量工作,在此一并表示感谢。
本书有配套的教学课件、程序源代码以及试题库等丰富的教学资源,课件与程序代码可以从清华大学出版社网站www.tup.com.cn下载。
编 者2012年7月
