前言
C语言是在由UNIX的研制者(美国贝尔实验室的Dennis Ritchie和Ken Thompson)于1970年研制出的B语言的基础上发展和完善起来的。1972年,在DEC PDP-11计算机上实现了最初的C语言,此后C语言伴随着计算机的发展一直走到了今天。
C语言是一种支持过程化的、实用的程序设计语言,是高校学生学习程序设计的一门必修基础课程,同时也是编程人员广泛使用的工具。学好C语言,可以触类旁通其他语言,如C++、Java、C#和VB等。本书是编者在总结过去20多年的教学和实践经验的基础上编写而成的,适合用作高等学校计算机专业和非计算机的理工科专业的程序设计基础课程教材,也可供读者自学使用。本书目前被用作南京航空航天大学理工科各专业的程序设计语言课程教材。
本书作者主张的教学理念是注重程序设计算法的教学,注重对学生算法思路的逻辑训练。本书讲述力求概念严谨,同时做到深入浅出、通俗易懂。各章节配有大量的例题和习题,主要是针对各章的教学难点和重点以及各种算法而设计的。在选择例题和习题时,尽量涵盖目前程序设计语言课程的各种算法类型,使初学者见到习题后,能够在教材的例题中找到相似的例子,这样对初学者来说,解题就不是一件非常困难的事情。建议教师在进行课本教学外,根据实际情况安排课程设计,选用适合不同层次学生的课程设计题目,强化训练学生动手编写较大规模程序的能力。
2007年本书的第1版《程序设计语言——C》出版,至今已使用多年,在学生中取得了良好的反响。第1版的程序运行环境是Turbo C 2.0,为了适应计算机软硬件环境的变化,
本书的程序运行环境改为Visual Studio 2010(简称VS2010)。在教材内容上,本书在第1版的基础上,修正了部分不足,文字描述更加准确;本书对第1版全部源程序例子做了少量增删,并对源程序主函数的书写格式做了调整,调整前和调整后的格式如下:
main() //调整前的程序书写格式,主函数没有明确指定返回值
{
//…语句
}
int main() //调整后的程序书写格式,主函数的返回值类型指定为int
{
//…语句
return 0; //调整后,增加return语句
}
本书主要具有以下几点特色。
(1)整体考虑计算机和非计算机专业的教学要求,适用于计算机专业和非计算机的理工科各专业。
(2)本书比较“瘦”,页码相对较少。笔者曾调研过一些高校,该课程的课时约为40~56。既然学时有限,那么书的厚度也应相应配套。
(3)在内容顺序的安排上更加合理,方便计算机专业和非计算机专业的学生在学习时进行内容上的取舍。例如提前讲解结构体、枚举等内容,这为学生在后续的学习中使用这些内容进行实验做了铺垫。此部分内容在其他许多同类教材中都是最后讲解。又如,在介绍链表时分别讲解了不带头结点和带头结点的链表算法,满足不同专业的教学需要。
(4)给出部分算法的来历和数学证明(如筛选法求素数以及汉诺塔问题),增加趣味性。
(5)在作业安排上,从易到难,环环相扣。有许多学生学过C语言,却不会编程。编者在教学中认识到了这一点,因此设计了许多与实际有关的习题,并且这些习题都是彼此相关的。
(6)本书通俗易懂,深入浅出,将复杂的概念采用浅显的语言讲述,便于读者理解和掌握。
本书第1~3章、第9~11章由王珊珊执笔(其中10.3.3节由皮德常执笔),第5~8章由臧洌执笔,第4章由张志航执笔。全书由王珊珊负责统稿。皮德常仔细通读了全书,在基本概念及文字描述上做了把关,并给出部分算法的来历和数学证明。参加本书编写工作的还有朱敏、张定会、钱忠民、潘梅园、张卓莹、刘佳、朱玉莲等。
讲述本书全部内容的建议学时为:理论教学48学时,课程设计16~32学时(内容另行安排),上机实验50学时。本书的实验环境是Visual Studio 2010,书中全部例题和习题均已在该环境中通过编译和运行。书中标题前加“*”的章节为选学内容。
本书提供所有例题的源代码和习题的答案,同时向选用本书作教材的教师提供讲课用的PowerPoint格式电子教案。读者可以直接从清华大学出版社网站(http://www.tup.com.cn)下载这些资源。资源下载的相关问题请联系fuhy@tup.tsinghua.edu.cn。
与本书配套的实践教材《C语言程序设计上机实验及学习指导》已由南京大学出版社出版。该实践教材的主要内容是与本书配套的上机实验、课程设计以及针对每章知识点的练习题及解析,是本书的补充。两本教材形成了完整的教材体系,是保障教学质量的基础。
由于编者的水平有限,本书中难免存在疏漏之处,恳请专家和广大读者指正。可以通过电子邮件与编者联系:shshwang@nuaa.edu.cn(王珊珊),zangliwen@nuaa.edu.cn(臧洌),zzh20100118@qq.com(张志航),dc.pi@nuaa.edu.cn(皮德常)。
编 者
2018年6月
于南京航空航天大学
more >