前言
····························································
前言ForewordC语言是一种结构化的程序设计语言,具有与计算机底层结合紧密、执行效率高等特点,是很多系统软件和大型应用软件的重要编程语言。它兼具高级语言和低级语言的功能,提供类型丰富、使用灵活的基本运算和数据类型,具有较高的可移植性。由于C语言程序设计具有广泛的用途,目前很多高校都选用C语言作为各理、工专业学生学习的程序设计语言,通过C语言程序的学习,学生可以运用相关知识和技能更好地进行算法和程序的设计,为后继课程的学习打下良好的基础。
在C语言教学中,讲授语法只是一个方面,更重要的是培养学生的计算思维,这一目的的达成是建立在一定量的编程基础上的。在多年的教学过程中我们发现传统的C语言教材比较注重知识的体系结构,并不能很好地将知识、技能与实际软件开发结合起来,学习起来难度较大,学生的学习积极性和主动性不能得到充分发挥,学生学完C语言程序设计以后,仅能了解和掌握一些语句的语法知识及语义,不会用语言来编写程序解决一些实际问题,把编程看成十分艰难和高不可达的工作。本书将C语言的相关语法和规则融合在实际应用中进行阐述,重视从“提出问题”到“设计算法”,再到“编程实践”这一全过程的剖析和讲解,引导学生掌握面向过程的问题分析方法和程序设计思想,更好地实现理论知识与实际应用的结合。我们的目标是为高等学校学生编写一本教材,对C语言的基本概念、原理和方法的叙述由浅入深,条理分明,循序渐进。以介绍“问题引入→语法要点→举例说明”的形式进行讲解,并剖析了学生常犯的错误和容易混淆的概念。
本书力求在教材内容、编排顺序和教学方法上有所创新和突破,让学生能够快速理解与程序设计相关的基本概念,掌握程序设计语言的基本知识,树立程序设计的基本思想,通过实际动手编程领会C语言的精髓,获得编程本领,达到触类旁通,举一反三。本书着重讨论了程序设计的基本原理、概念和方法,一个完整的教学案例贯穿于理论讲解中,使理论变得更容易理解、更容易接受。此外,还在最后一篇安排了实践项目,目的是提高学生综合运用所学知识解决实际问题的能力。
本书的特色体现在以下几个方面。
(1)内容精练、语言严谨。编者综合了教学及软件设计经验,使本书既具有较强的理论性,又具有较强的实用性。采用最新的C标准,对庞杂的知识做了认真的取舍,对概念进行了清楚准确的解释并结合实例说明,结合作者的教学经验讲解。
(2)知识介绍深入浅出、简明易懂。对C语言的基本概念、原理和方法的叙述由浅入深,条理分明,循序渐进地介绍C程序设计的相关知识。各个章节在编写时都是层层展开、环环相扣的。编写的目的就是希望读者能够编写出规范、实用的程序。
(3)强调理论与实践紧密结合。为了使读者能快速地掌握C语言相关知识的使用方法,不仅说明知识点,更重要的是表明其应用方法,激发读者对于程序设计的兴趣。使读者可以在有趣、高效的应用中领悟枯燥的语法。
(4)强调“练中学”。对于初学者,考试时往往会感到茫然而不知所措,为了巩固其中灵活、难解的语法知识,每章都有配套习题,习题包括选择题、填空题、阅读程序和编译题,让读者学习后能动手解决一些实际问题。
(5)为了尽快提高读者的实际编程能力,本书提供了程序调试常见错误分析,包含在实际编程时容易出现的问题,还对C编译环境中存在兼容性问题进行了实用而具体的指导,这部分内容不管对初学者还是长期编程的人都很有帮助。
◆C语言程序设计基础教程——语法、案例与实践前言(6)本书配有全部的程序源文件和电子教案。
总之,本书信息量大,综合面广,实用性强,可读性好,有鲜明的特色。
本书作者长期从事面向对象程序设计的教学,具有丰富的教学、实践经验和独到的见解,这些经验和见解都已融入到本书的内容中。全书共分为11章。第1章为C语言概述,阐述C语言的主要特点及C程序的开发过程。第2章介绍C语言基础,讲述各种常见的数据类型。第3章介绍各种表达式及其求值、表达式的优先级、结合性。第4章为程序控制结构,主要包括顺序结构、选择结构和循环结构3种基本结构及其相应的控制语句。第5章为数组,介绍数组的使用及常用字符串处理函数。第6章为函数,重点介绍模块化程序设计、变量的存储和作用域,以及程序的文件结构及编译预处理命令。第7章为指针,介绍指针的使用方法。第8章介绍结构体和联合体的使用、链表及其操作。第9章介绍文件的类型和操作。第10章介绍C语言在图形编程中的应用。第11章讲解了图形图像应用程序,为后续课程设计打下基础。第12章综合前面所学知识和内容,系统介绍用C语言开发软件的方法,编程实现一个小型教务管理系统开发全部过程,使学生能尽快地将知识转化为能力。本书前9章属于C语言程序设计知识点,后2章属于C语言的应用部分。为满足不同层次的教学需求,教师可采取多种方式使用本书讲授C程序设计,根据学生的背景知识以及课程的学时数进行内容的取舍。书中列举的例题都是作者精心设计的,并全部在Visual C++ 6.0环境下调试通过。
本书由李兰主编。房斐斐编写第1~3章、李兰编写第4~6章、第9章和第12章及附录,任凤华编写第7章、第8章、第10章、第11章。全书由李兰统稿,任凤华校稿。在此,感谢本教研室一起工作的同事们,他们对该书给予了极大的关注和支持。感谢本书所列参考文献的作者!感谢为本书出版付出辛勤劳动的清华大学出版社的工作人员!他们为本书的出版倾注了大量热情。感谢使用教材的师生们,希望各位读者能够提出宝贵的意见和建议。并将对本教材的建议或意见寄给作者,你的意见将是我们再版修订教材的重要参考。
尽管作者态度严谨,并尽了最大努力,但由于水平有限,时间仓促,错误与疏漏之处在所难免,因此,敬请各位读者不吝赐教,以便作者有提高的机会,并在再版时尽力采用你们的意见,尽快提高本书的质量。在使用该书时如遇到什么问题需要与作者交流,请与作者联系。联系方式: qdlanli@163.com。
作者2016年8月