清华大学出版社

您所在的位置:网站首页 谭浩强c语言程序设计第四版和第五版的区别 清华大学出版社

清华大学出版社

2024-07-10 22:44| 来源: 网络整理| 查看: 265

本书针对我国应用型大学的实际情况,由谭浩强教授在《C程序设计》一书的基础上编写出版。本书降低起点,精简内容,通俗易懂,突出重点,紧扣基本要求,使读者容易学习。本书自第1版出版后受到广泛欢迎,到目前已更新4版,累计重印80多次。本书是在《C语言程序设计》(第4版)(谭浩强,清华大学出版社)的基础上修订再版的。 在这次修订中,保持了原书概念清晰、通俗易懂的特点,同时根据C标准介绍程序设计,体现教材的先进性和规范性,并且更加容易学习与入门。本书定位准确,体系科学,内容适当、取舍合理、例题丰富,分析透彻。作者采用的“提出问题—解决问题—归纳分析”的“三部曲”,符合初学者的认知规律。 凡具有计算机初步知识的读者都能读懂本书。本书可作为应用型大学各专业学习C语言程序设计的教材,基础较好的高职高专学校也可选用,本书也是不可多得的用于自学的好教材。 本书还配套出版辅助教材《C语言程序设计(第5版)学习辅导》,内容包括本书的习题答案、常见错误分析、上机指南和上机实验。

more >

前言 《C语言程序设计》于2000年1月出版以来,受到广泛好评,是作者专门为应用型大学编写的C语言教材。2008年出版了本书的第2版,被教育部评为“普通高等教育‘十一五’国家级规划教材”和“普通高等教育精品教材”。目前该教材已更新4版,累计重印80多次,销售180多万册。 程序设计是计算机工作者的一项基本功。C语言是在国内外被广泛学习和使用的一种计算机语言,受到广大计算机爱好者的喜爱。我国几乎所有的理工科大学都开设了C语言程序设计课程。 为了使C语言程序设计课程教学取得更好的效果,需要弄清楚几个问题。 1. 为什么要学习程序设计 计算机的本质是“运行程序的机器”,程序和指令的思想是计算机系统中最基本的概念。只有懂得程序设计,懂得计算机是怎样工作的,才能较深入地理解和应用计算机,才能较好地懂得怎样使计算机按照人们的意图进行工作。学习程序设计,能学到计算机处理问题的方法,培养计算思维,培养分析问题和解决问题的能力。 虽然非计算机专业的大学生,大多数将来并不一定会成为专业的软件开发人员,不一定有许多机会使用C语言编写实用程序,但是在大学期间仍然需要学习程序设计。通过开设程序设计课程,使大学生具有程序设计的初步知识,具有编写程序的初步能力,知道软件开发的过程和特点,有利于各专业人士在今后工作中与程序开发人员沟通合作,进行应用软件的开发工作。因此,大学生(尤其是理工类学生)学习程序设计是很有好处的。 具体地说,学习程序设计的目的有两个: 学习用计算机解决问题的思路和方法;学习怎样用计算机工具去实现算法,即实现用计算机解题。 2. C语言是基础而实用的语言 进行程序设计,必须用计算机语言作为工具,否则只是纸上谈兵。可供选择的语言很多,各有特点。C语言是基础而实用的语言。并不是每一种语言都具有此特点,有的语言实用,但不能作为基础语言(如FORTRAN);有的语言可以作为基础语言,但实际应用不多(如Pascal)。C语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好。C语言既具有高级语言的优点,又具有低级语言的许多特点;既适合于编写系统软件,又能方便地用来编写应用软件,是多年来在国内外使用最广泛的语言。国内外许多专家认为,C语言是最基本的通用语言,有了C语言的基础,以后过渡到任何一种语言(如C++、C#、Java)都不会困难。掌握C语言程序设计被认为是计算机专业人员的基本功。 3. 正确处理好算法和语法的关系 C程序设计课程既有基础的性质(了解计算机处理问题的方式,学习算法),又有应用和工具的性质(掌握语言工具,具有初步的编程能力,能具体应用)。因此,既要注意讲清概念,使学生建立正确的概念,又要培养学生处理实际问题的能力。 程序设计有4个要素: ①算法是程序的灵魂;②数据结构是加工的对象;③语言是编程工具(算法要通过语言来实现);④要采用合适的程序设计方法。程序设计教学是否成功取决于能否将以上4个要素(尤其是算法与语言二者)紧密结合。 本书自始至终把这4个要素自然有机地结合起来,全面兼顾。算法和语法二者都很重要,都要重视。本书不是孤立地介绍语法,也不是全面系统地介绍算法,更不是根据语言规则的分类和顺序作为教学和教材的章节和顺序,而是从应用的角度, 以编程为目的和主线,由浅入深地介绍怎样用C语言处理问题,把算法和语法紧密结合,同步展开,步步深入。作者精心安排顺序,算法的选择由易而难并细心选择例子,使读者容易学习。在此基础上,构造了新的教学和教材体系。 具体的做法: 在每章中,首先举几个简单的例子,引入新的问题;接着介绍怎样利用C语言去解决简单的问题;然后再循序渐进地介绍较深入的算法和程序。使学生在富有创意、引人入胜的编程过程中,学会算法,掌握语法,领悟程序设计的思想和方法。把枯燥无味的语法规则变成生动活泼的编程应用。多年的实践表明,这种做法是成功的。 既然要学习编写程序,就离不开计算机语言。如果不掌握语法规则的运用,可能连最简单的程序也编写不出来,或者错误百出。问题不是要不要掌握语言工具,而是通过什么方法学习和掌握语言工具的使用方法——是枯燥地死记语法规则,还是通过实例掌握语言的使用方法。初学时可以学习最基本的语法现象而淡化语法的细节,有些细节不必一一讲授,可以让学生自查自学。 建议教师在讲授时,以程序为中心展开,着重讲清解题思路以及怎样用程序去实现它,不要孤立介绍语法规则,教材中叙述的语法规则,可以在介绍编写程序的过程中加以说明,或在做简单介绍后请学生自己阅读,并通过上机实践掌握它。 4. 在学习和应用计算机过程中培养计算思维 计算机基础教育应该面向计算机应用,着眼于提高大学生的计算机应用能力,培养各个领域的计算机应用人才,同时在教学过程中要注意培养学生的科学思维和信息素养。计算思维是科学思维的一部分。有专家认为: 计算思维是运用计算机科学的基础概念进行问题求解、系统设计和理解人类行为的思维活动。计算思维的本质是抽象和自动化。程序设计中的算法思维就是典型的计算思维。学习程序设计能够有效地培养计算思维。 作者认为: 计算思维是在学习和应用计算机的过程中自然而然地培养的,计算思维并不神秘,它是自然而然的结果,而不是生硬进行的过程;是本身存在的内在关联,而不是外界强加的概念。我们要善于在教学过程中有意识地引导学生善于思考,掌握规律,举一反三,掌握科学思维(包括计算思维)方法。 培养计算思维不是最终目的。培养计算思维是为了更好地应用计算机,培养更多更好的计算机应用人才。 5. 要从实际出发,准确定位 在学习C语言程序设计的人群中,有不同的情况和要求。有的是计算机专业的,有的是非计算机专业的;有的是本科生,有的是高职生;有的来自研究型大学,有的来自应用技术型大学;有的以后成为计算机专业人员,有的是计算机应用人员;有的要求精通,有的要求粗通,有的则只求一般了解。必须准确定位,从具体实际出发,对不同对象提出不同的要求。不可能要求一个没有计算机基础的人,通过三四十学时的课程就能精通程序设计,掌握复杂的算法,编写出复杂的程序。要求必须恰当,内容要有所取舍。在有限的学时内,只能学习基本的内容,为今后进一步的学习和使用打下必要的基础。如果有少数人将来需要熟练地编程,甚至成为专业的软件开发人员,则应当在学习本课程的基础上继续进行更深入的学习,例如至少应当完成一个综合作业,开发一个具有一定规模的应用软件的实践项目。 本书的对象是应用型大学本科学生,程度较高的高职(大专)学生也可以用本书作为教材。 本书在《C语言程序设计》(第4版)的基础上进行了修订。修订中遵循以下原则。 (1) 保持原有特点和风格。由于作者所著的《C程序设计》和《C语言程序设计》内容全面,叙述清晰,通俗易懂,在教学实践中取得了很好的效果,因此在修订时尽量保持原有的优点,基本上保留原书的体系,注意概念准确,讲解透彻,使读者对C语言和程序设计有全面、完整的理解。 (2) 按照C99标准进行介绍,以适应C语言的发展,使编写程序更加规范。目前国内许多介绍C语言的教材是按照C89标准介绍的,而国外的同类教材已改为以C99标准为蓝本。本书按照C99标准的规定介绍程序设计,例如: ① 数据类型中,C99增加了双长整型(long long int)、复数浮点型(float_complex,double_complex,long long _complex)、布尔型(bool)等。 ② 根据C99的建议,main函数的类型一律指定为int类型,并在函数的末尾加返回语句“return 0;”。 ③ C99增加了注释行的新形式——以双斜线“//”开始的内容作为注释行,这本来是C++的注释行形式,现在C99把它扩充进来了,使编程更加方便。同时保留了原来的“/* ……*/”形式,以使原来按C89标准编写的程序可以不加修改仍可使用。本书采用C99的注释新形式,读者使用更方便,而且符合发展需要。因此,本书的程序基本上采用下面的形式: #include // 以"//"作为注释行的开始 int main() // 指定main函数为int类型 {  return 0; // 如函数正常执行,返回整数0 } 由于C99是在C89的基础上增加或扩充一些功能而成的,因此C89和C99基本上是兼容的。过去用C89编写的程序在C99环境下仍然可以运行。C99所增加的许多新的功能和规则,是在编制比较复杂的程序时为方便使用和提高效率而用的,在初学时可以不涉及,因此本书对目前暂时用不到的内容不做介绍,以免读者分心,增加学习难度。在将来进行深入编程时再逐步了解和学习。 (3) 加强算法,强化解题思路。在介绍例题时,先进行问题分析,探讨解题思路,构造算法,然后才是根据算法编写程序,而不是先列出程序再解释程序。在各章中由浅入深地结合例题介绍各种典型的算法。对穷举、递推、迭代、递归、排序(包括比较交换法、选择法、起泡法)、矩阵运算、字符处理应用等算法做了详细的介绍,对难度较大的链表操作的算法做了清晰的思路说明。引导读者在拿到题目后,先考虑算法再编程,而不是坐下来就写程序,以培养好的习惯,培养算法思维。 (4) 更详尽明确地说明了指针。指针是学习C语言的重点,也是难点。作者在书中明确指出“指针就是地址”,让很多读者豁然开朗。作者根据各校教学中遇到的情况和一些师生提出的问题,在本次修订时对指针的性质做了进一步说明: 我们所说的指针就是地址,这个地址不仅是指内存中的位置信息(即纯地址),而且还包括在该存储单元中的数据类型的信息,请读者阅读本书时加以注意。 (5) 更加通俗易懂,容易学习。作者充分考虑广大初学者的情况,精心设计体系,适当降低门槛,便于读者入门。尽量少用深奥难懂的专业术语,用通俗易懂的方法和语言阐述清楚复杂的概念,使复杂的问题简单化。没有学过计算机原理和高等数学的读者完全可以掌握本书的内容。 本书采用作者提出的“提出问题—解决问题—归纳分析”的新的教学“三部曲”,先具体后抽象,先实际后理论,先个别后一般。而不是先抽象后具体,先理论后实际,先一般后个别。实践证明这样做符合读者的认知规律,读者很容易理解。 在介绍每个例题时,都采取以下的步骤: 给出问题→解题思路→编写程序→运行结果→程序分析→程序改进。对有关内容用说明、注意、提醒、思考等标注,并用楷体字以引起注意。这种方法符合读者认知规律,使读者思路更加清晰,更容易接受和理解。通过运行程序,读者看到结果,便于验证算法的正确性,学习过程不觉得抽象,而会觉得算法具体有趣,看得见,摸得着。 在每章的最后有本章小结,归纳本章的要点,提纲挈领,画龙点睛,以加深印象,增强条理性。 本书便于自学。具有高中以上文化水平的人,即使没有教师讲解,也能基本掌握本书的内容。这样,就有可能做到: 教师少讲,提倡自学,上机实践。 (6) 把教学内容分为基本要求和提高要求两部分。这是考虑到不同对象的要求的差别。在各章中把一部分较深入的内容作为“提高部分”,单独列出,放在各章的最后,供学生选学和参考。如果学时不够,可以只学基本部分。通过学习基本部分,能初步掌握C程序设计的基本内容,写出相对简单的程序,如果希望学习得更深入一些,掌握更多的编程思路和技巧,可以选学各章的“提高部分”。也可以教师讲授基本部分,学生自学提高部分,以培养学生的自学能力。 应当怎样学习C语言程序设计呢?作者给出以下建议。 (1) 在开始学习时不要死记语法细节。请记住: 重要的是学会编程序,而不是背语法。一开始就要学会看懂程序,编写简单的程序,然后逐步深入。有一些语法细节是需要通过较长时期的实践才能熟练掌握的。初学时,切忌过早地滥用C语言的某些容易引起错误的细节(如不适当地使用++和--的副作用)。 (2) 不能设想今后一辈子只使用在学校里学过的某一种语言。无论用哪一种语言进行程序设计,其基本思路和方法都是一样的。从这个意义上说,在大学里学哪一种语言,并不是很重要的原则问题。学会了一种计算机语言,可以很快地学会另一种语言。因此,在学习时一定要活学活用,举一反三,掌握规律,在以后需要时能很快地掌握其他语言进行工作。 (3) 在学校学习阶段,主要是学习程序设计的方法,进行程序设计的基本训练,打下将来进一步学习的基础。学习程序设计课程时,应该把精力放在最基本、最常用的内容上,学好基本功。如果对学生有较高的程序设计要求,应当在学习本课程后,安排一次集中的课程设计环节,完成有一定规模的程序设计。 (4) 程序设计是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行,希望读者一定要重视实践环节,包括编程和上机,达到既会编写程序,又会调试程序。衡量这门课程学习得好坏,不是“知不知道”,而是“会不会干”。 考核的方法不应当采用标准题(是非题或选择题),而应当把重点放在编制程序和调试程序上。 (5) 使用哪一种编译系统并不是原则问题。程序编好以后,用哪一种编译系统进行编译都可以。读者不应该只会用某一种编译环境,而应当了解、接触和使用不同的编译环境。不同的编译系统,其功能和使用方法有些不同,编译时给出的信息也不完全相同,要注意参阅使用说明书,特别要在使用中积累经验,举一反三。 为了帮助读者学习本书,作者还编写了本书的配套参考书《C语言程序设计(第5版)学习辅导》,提供本书中各章习题的参考答案以及上机实习指导。 南京大学金莹教授以及谭亦峰、薛淑斌高级工程师参加了本书的修订。许多高校老师多年来使用本教材,提出了许多宝贵的意见和建议,使本书得以日臻完善。在此谨向一切帮助和支持过作者的人士表示由衷的感谢。 本书肯定会有不少缺点和不足,热切期望得到专家和读者的批评指正。 谭浩强2023年11月1日于清华园

more > 课件下载 样章下载 暂无网络资源 扫描二维码 下载APP了解更多

版权图片链接



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3