正版保障 假一赔十 可开发票
¥ 49.23 5.5折 ¥ 89 全新
库存7件
作者贺细平
出版社电子工业出版社
ISBN9787121332326
出版时间2018-01
装帧平装
开本16开
定价89元
货号25215413
上书时间2024-10-27
当您眼见到这本书,一定诧异于它的厚度,但只要您翻开阅读,我想,您一定不会觉得这是一本难啃的“大部头”,而像是一本娓娓道来的程序设计“故事书”。
当我想要编写一本关于程序设计的教材时,难抑内心的激动。我的门程序设计语言是BASIC,然后学习C语言,后来学过C 、Java、Python等程序设计语言。多数学过程序设计的人,对门程序设计语言的印象大抵是艰难而晦涩的。一些人秉承对程序设计的执着和热爱,从这种艰难中走过来了,并且从此爱上了程序设计,享受程序设计在解决现实生活的实际应用问题后带来的快乐和成就感。但更多的人对编程望而生畏,面对堪如天书的代码,始终难解心中诸多困惑:这些代码是如何写出来的?为什么要写成这样?必须写成这样吗?为什么我这样写就不对呢?解决此问题还有其他写法吗?为何当我面对实际应用问题时总感到无从下手呢?怎样才能创造出属于自己的程序呢?
我尽努力,使程序设计的每个细节变得简单清晰。为了让您理解程序的来龙去脉,对于每次需要解决的编程任务,不是一次性地抛出终程序代码,而是必须对解决此问题的思路、方法进行详尽分析。并且遵循“由简单到复杂,由低级到高级”的设计过程,尽可能完整地展示“程序是怎样炼成的”。对于同一编程任务,提供尽可能多的设计思路和不同的算法以及实现代码,帮助您打开程序设计思维的匣子。
本书侧重于培养您作为程序设计者必须具备的计算思维。所谓的计算思维,就是以计算机的方式去思考问题的求解过程。作为机器的“计算机”思考问题的方式与作为万物之灵的“人”的思考问题方式是不同的。“人”通过学习程序设计去理解并掌握“计算机”思考问题的方式,这个过程就是培养计算思维的过程。因此,本书以求解具体应用问题为目标,驱动相关程序设计知识的应用。
本书强调,程序设计语言是求解问题的工具,程序设计语言是为求解问题服务的。本书对语法的讲解以够用为准,不提倡代码中应用古怪、费解的语法。当然,程序设计必须掌握相关语法,有语法错误的程序过不了“编译关”。掌握C语言语法不是程序设计学习的重点,更不是学习目的。培养计算思维,能利用程序设计语言解决实际应用问题才是终目的,学习程序设计必须过实际“运行关”。
C语言具有语法简洁、概念清晰、底层控制力强等优点,是值得程序设计初学者的语言。C语言虽是面向过程的程序设计语言,但是学好C语言将为面向对象的程序设计语言(如C 、Java、C#、Python等)的学习打下坚实基础。
学好编程没有捷径,上机练习、独立思考、保持兴趣、学用结合、日积月累、持之以恒是成为编程高手的秘籍。关于如何学习程序设计的建议请参见附录“10.1关于程序设计的学习方法”(扫描前言中的二维码)。
本书特色:
一、本书贯彻以求解应用问题(实际应用问题的一部分或实际应用问题的简化问题)为导向,以具体“编程任务”为驱动的程序设计学习方法,将每个知识点融入实际编程任务中。因此,展现在您面前的代码是一个完整的、可运行的、有输入/输出的、实现了一定功能的应用程序,而不是仅仅为了讲解某个知识点的片段的、不完整的代码。
二、作为例题的编程任务生动有趣。每个编程任务力求有现实生活应用背景,让您时刻不忘学习程序设计的目的是能运用计算机程序解决现实生活中或大或小的实际问题,体会计算机是如何按您的意图行动的,体会计算机给我们生活带来的方便,体会计算机的威力与魅力。编程不再是单纯地学习C语言语法,也不是纯粹为了实现数学的数值计算。
三、图表丰富。本书秉承“能用图和表表达的,一定画图做表”的思想。因此,书中配有大量图解、表格,大量地运用了类比、对比、小贴士、小问答等形式,尽量用直观的形式帮助您理解程序设计的概念、原理、机制等方面。
四、讲解深入浅出。本书融入了我多年程序设计教学经验、教学成果、应用软件开发经验和对程序设计的体会与理解。对程序中诸多概念的理解,需要程序设计者(以后简称为程序员)对操作系统的有关原理有一定的理解。因此,本书在讲解程序的同时,尽量对发生在程序运行背后的机制—特别是操作系统中与编程相关的机制进行了深入剖析。对操作系统和计算机原理的介绍,能帮助程序员深入地理解程序在底层的运行机制,使程序员在编程时做到“知其然”且“知其所以然”。
五、程序代码“箭指”代码解释,阅读代码一目了然、易读易懂。对于程序代码中每个重要语句,均引出箭头指向相应的代码解释,代码和对应的解释是左邻右舍、如影相随的,方便阅读。此外,在排版上,也尽量将一个完整程序或函数模块的代码排在同一页中,确保代码的形式整体性。
六、本书站在程序员的角度来看待和学习C语言,而不是站在C语言的角度罗列C语言知识本身。站在程序员的角度,面对编程任务时,我们应该思考的是如何运用C语言为“我”(即程序员)的设计目标服务。从这个角度出发,您就更容易理解和接受C语言的知识了。
本书的例题全部采用编程任务的形式给出。每个编程任务由8部分构成:标题、任务描述、输入、输出、输入举例、输出举例、分析,以及参考代码。本书例题采用此形式是基于以下四点考虑的。
其一,这种方式对要解决的任务有清晰、准确的编程描述,因此每个程序代码需要达到的目标和需要实现的功能非常明确。学习程序设计是为了能用自己设计的程序解决实际问题,因此,我们将本书读者的角色定为软件开发者。软件开发是软件开发者按照用户提出的需求进行软件设计的过程。设计得到的软件必须达到指定功能,满足软件用户的需求。描述清晰、准确的软件需求对软件开发至关重要。因为需求的小变化,可能导致软件设计的巨大改变,甚至从头重新设计。
其二,有利于独立思考和寻求解决问题的多种方法,培养计算思维。在达到既定软件开发目标的情况下,鼓励读者学会分析问题,开动脑筋独立思考,尝试用不同思路、不同算法或不同的代码去完成同一个任务,对比不同实现方式之间的优缺点。对于每个编程任务,本书代码仅供参考。本书绝不鼓励读者仅满足于将本书代码照抄照搬,死记硬背。
其三,对C语言知识点均采用融入具体编程任务的方式讲解,使我们对每个C语言知识要素所适用的实际应用场合有感性的认识。
其四,方便使用OJ作为程序设计在线练习平台。本书的编程任务便于自动裁判(可简单地将“裁判”理解为教师批改学生所交的程序设计作业这一过程)。国内外有许多大学和组织提供了开放式的在线裁判系统(Online Judge,OJ),它能对提交的程序源代码进行自动裁判。OJ系统24小时在线练习资源丰富,裁判结果公正客观。OJ系统原本为程序设计竞赛所用,但是好的工具为什么不能用于学习呢?参加过信息学竞赛(IOI,NOI)或大学生程序设计竞赛(CPC)的读者一定对这种编程任务的形式不陌生,因为竞赛题采用此形式。希望本书读者不要对此表示疑惑,学习程序设计当然不是为了参加比赛。在此,只是取其长而用之,更好地服务于学习程序设计这一目标。我早在2009年就开始将OJ系统作为练习平台引入到信息类本科专业的“C程序设计”课程教学中,得到了学生和同行的好评与认可。目前,将OJ作为程序设计教学练习平台的做法在越来越多的学校的程序设计教学中得到运用。
本书提供所有编程任务的描述、测试用例数据和标程,并且不断补充高质量的编程任务作为练习或测试用。读者(包括教师或学生)可在OJ上练习、实验、测试和上机考试。如果您所在学校尚未建立OJ系统,可自主开发OJ,也可利用开源系统部署自己的OJ,或者直接利用互联网上开放的OJ系统。如果OJ上没有想要练习的编程任务,则需要先在OJ上添加它。欢迎使用湖南农业大学程序设计在线练习系统(http://210.43.224.19/oj)。
本书适合作为本科低年级程序设计课程教材,也非常适合程序设计初学者自学使用。对参加奥林匹克信息学竞赛的队员和参加ACM/ICPC大学生程序设计竞赛的队员来说,也是一本非常好的入门教材。对于有一定程序设计基础的读者,本书也不失参考价值。书中有许多对程序深入的剖析很有启发意义,值得一读。
众所周知,C程序设计课程是计算机类专业、信息类专业极其重要的专业基础课。我从事本科程序设计专业基础课一线教学十余年,希望能有一本读起来不那么枯燥,同时又不失专业性和系统性的面向程序设计初学者的C语言图书,这是我写本书的意图。如何利用本书,各位见仁见智。
希望通过本书带给读者更多愉悦的程序设计经历,提振编程信心,激发编程的兴趣,为今后的学习、工作、科研培养良好的计算思维和软件设计基础。
本书的写作是我将头脑中纷繁的思绪变成有条理文字的过程,既艰辛又充满快乐。常常为了设计一个恰到好处的编程任务或为了更好地表述某个概念,灵感突现,即使是已卧床或半夜醒来,也立刻记录,唯恐遗漏。本书力求知识更加系统、表述更加准确、语言更加通俗、例子更加贴近生活,这使写作过程充满挑战性,字句斟酌,直到自己满意为止,以致成书过程如此漫长。对本书内容安排、章节设置、设置每个例子代码甚至每段表述,都经过反复琢磨和权衡,力求语言描述精准、思想表达透彻。漫长的成书过程,让我体会到了写书的不易,不过,本书写作过程带给我更多的是快乐。在写作期间,不仅有将存在于脑海的点滴心得随着键盘的敲击变成文字的快感,而且,在此期间我的儿子不经意间长成了帅小伙,陪伴他的时间总是短暂而欢快的。我的妻子虽常常担心因长时伏案而有腰椎疾病的我,但她送来键盘旁的一杯热茶、一碟水果,顿时让我满血复活。特别感谢我的妻子陈海燕女士包容我无数个日夜以计算机为伴而少有陪伴她,家务操持多劳她费心,虽偶有抱怨,但忍韧而坚强。谨以此书献给我的家人。
感谢电子工业出版社高等教育分社谭海平社长和冉哲编辑对我蜗牛般写稿进度的容忍。
感谢我的学生卢晨曦、邵振宇、王舒心、王鹏、陈慧、张洋、唐朝宇、廖颜勤、姚沛丰、熊嘉奇、唐航、周子翔、沈煜恒为本书的校对付出了辛勤劳动。
虽然我对本书写作用心尽力,但由于学识水平有限,错误与不足之处在所难免,恳请批评指正(我的邮箱:390199309@qq.com)。
限于篇幅,本书第1章至第9章的综合应用实例和知识拓展部分以及附录部分,以扫描二维码下载相应文档的形式提供。
附录:
贺细平
— 没有更多了 —
以下为对购买帮助不大的评价