登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』C程序设计——基于应用导向与任务驱动的学习方法

書城自編碼: 3117603
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: 贺细平
國際書號(ISBN): 9787121332326
出版社: 电子工业出版社
出版日期: 2018-01-01
版次: 1
頁數/字數: 524/
書度/開本: 128开 釘裝: 平装

售價:NT$ 579

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
亚洲戏剧史·南亚卷
《 亚洲戏剧史·南亚卷 》

售價:NT$ 653.0
中国历代竹器图谱与数字活化
《 中国历代竹器图谱与数字活化 》

售價:NT$ 2540.0
EDA技术与设计(第2版)
《 EDA技术与设计(第2版) 》

售價:NT$ 387.0
揉碎浪漫(全两册)
《 揉碎浪漫(全两册) 》

售價:NT$ 320.0
古籍善本
《 古籍善本 》

售價:NT$ 2448.0
人民币国际化报告2024:可持续全球供应链体系与国际货币金融变革
《 人民币国际化报告2024:可持续全球供应链体系与国际货币金融变革 》

售價:NT$ 398.0
道德经新注 81幅作者亲绘哲理中国画,图文解读道德经
《 道德经新注 81幅作者亲绘哲理中国画,图文解读道德经 》

售價:NT$ 653.0
清俗纪闻
《 清俗纪闻 》

售價:NT$ 449.0

編輯推薦:
本书采用大量具有实际生活应用背景的实例系统地、通俗地、透彻地讲解了如何运用C语言设计程序解决实际问题。本书提出的基于应用导向与任务驱动的学习方法是值得推荐的程序设计学习方法。本书从形式到内容都具有一定创新性。本书内容组织独具匠心、叙述方式通俗易懂、编程实例力求原创、任务驱动逻辑清晰、代码注释别具一格、知识扩展开拓思路。
本书是大学工科类专业的*门程序设计课程的*教材,也是广大零基础学习程序设计读者不二之选。
本书具有六大特色:
1、以应用导向,将C语言的知识融汇贯穿在对实际问题求解的过程中,尽量避免单纯语法的讲解。
2、每个编程任务目标明确、源于生活、意趣兼备。以实际任务驱动编程,更加生动有趣。全书共150多个编程实例,可使用程序设计练习系统在线评判,方便上机练习。
3、本书大量运用图解、表格、小贴士、小问答等形式,运用类比、对比等方法,尽量用直观的形式帮助读者理解程序设计中相对抽象的概念、原理、机制。
4、本书内容深入浅出,表里兼顾,帮助读者深入地理解程序底层的运行机制和原理。使读者在编程时做到知其然且知其所以然。本书语言通俗、可读性好、方便自学又不失深度。
5、程序代码与相应注释
內容簡介:
本书采用以解决实际应用问题为导向、以具体编程任务为驱动的模式,将C语言的知识无缝融入每个实际应用程序中。作者精心设计了100多个应用案例,每个案例均有实现特定功能的、完整的、可运行的程序代码。本书图表丰富,对程序设计的概念、求解问题的思路和方法、程序背后的原理和机制进行了深入剖析。全书共9章。第1章从简单程序入手,将程序设计相关的基础性概念融入案例,使读者对C程序设计有一个整体的、直观的、感性的认识。第2章阐述表达复杂逻辑的分支和循环语句的用法,使读者对应用问题中的逻辑具有较好的表达能力。第3章阐述了利用数组处理批量数据。第4章阐述了如何存储和处理文本型数据。第5章全面地阐述了函数这一模块化程序设计利器。第6章对具有内存间接访问能力的指针进行了深入阐述。第7章讲解如何利用结构体类型创建用户所需新数据类型。第8章阐述了如何利用文件实现数据持久化。第9章讲解了位运算的规则和用法。
關於作者:
博士,国防科技大学计算机学院计算机应用专业。湖南农业大学信息科学技术学院电商系主任,副教授。中国计算机学会会员,湖南省高教学会计算机教育专业委员会会员。出版教材:现代计算机网络系统原理及技术研究,中国商务出版社,2013年。
目錄
目录
第1章邂逅程序设计初识C语言1
1.1第一个程序我会算加法2
1.2人机交互输入和输出函数的基本用法10
1.3条件与判断随机应变17
1.3.1二叉分支的表达基本的if-else语句17
1.3.2复合条件的表达22
1.4利用库函数拿来主义25
1.5机器擅长之算术运算计算机的老本行28
1.6变量数据的栖身之所34
1.6.1变量的概念34
1.6.2变量的数据类型37
1.6.3程序中的常量40
1.7赋值运算改变变量的值42
1.8程序设计的一般过程47
本章小结48
第2章程序逻辑之关键分支与循环51
2.1机器智能与决策之基石分支结构52
2.1.1决策与分支结构52
2.1.2基本分支结构及其连接方式60
2.1.3逻辑运算与复合条件表达71
2.1.4if条件表达典型错误分析75
2.2机器擅长之循环不厌其烦地重复77
2.2.1for循环的引入78
2.2.2剖析for循环86
2.2.3必须应用循环结构的场合90
2.2.4循环的初步运用93
2.2.5for循环常见错误分析96
2.3程序逻辑进阶多分支和多重循环98
2.3.1深入理解循环98
2.3.2循环的连接100
2.3.3双重循环与多重循环107
2.3.4break和continue的运用110
2.3.5分支与循环的串联和嵌套120
2.4其他形式分支与循环121
2.4.1switch-case分支结构121
2.4.2while与do...while循环128
本章小结130
第3章批量数据存储与处理数组134
3.1何时需要数组134
3.2序列数据的处理一维数组135
3.2.1一维数组的定义135
3.2.2数组与内存分配137
3.2.3数组操作之演练140
3.2.4一维数组的运用141
3.2.5巧用数组下标149
3.3表格型数据的处理二维数组154
3.3.1二维数组的定义154
3.3.2访问二维数组的元素155
3.3.3二维数组操作演练155
3.3.4二维数组的应用159
3.4其他164
3.4.1数组的拓展多维数组164
3.4.2二维数组与一维数组的关系165
3.4.3数组下标越界165
3.4.4数组定义时的大小能否为变量167
本章小结168
第4章文本数据处理字符串169
4.1字符数据存储和处理169
4.1.1字符的编码169
4.1.2字符数据的存储173
4.1.3字符数据的运算173
4.2字符串数据存储和处理176
4.2.1字符串的存储176
4.2.2文本型数据输入输出177
4.2.3字符串处理与库函数180
4.3文本型数据处理之演练190
4.4其他193
4.4.1空字符'\0'的作用193
4.4.2字符和字符串的区别与联系194
本章小结195
第5章模块化设计之利器函数196
5.1初识函数设计197
5.2函数的概念200
5.2.1函数的概念剖析200
5.2.2模块化设计思想在函数中的体现203
5.3新函数是如何炼成的206
5.4函数的设计207
5.4.1发掘任务中的模块207
5.4.2函数的定义207
5.4.3设计函数的方法论209
5.4.4设计函数的要点详解211
5.5函数的测试220
5.6函数的交付使用221
5.6.1函数的调用形式223
5.6.2函数调用过程详解224
5.6.3函数参数的传递230
5.6.4函数的声明234
5.7函数设计实践236
5.8函数的递归自相似之美249
5.8.1初识递归函数250
5.8.2递归函数设计的关键点253
5.8.3递归调用的执行过程262
5.8.4二分法与递归264
5.8.5递归与非递归273
5.8.6提高递归效率281
5.9函数相关主题287
5.9.1局部变量与全局变量287
5.9.2函数的嵌套定义的应用289
5.9.3如何生成随机数289
5.9.4库函数295
5.9.5初谈提高程序效率295
本章小结299
第6章内存间接访问之神器指针301
6.1深入理解内存地址302
6.1.1内存是什么302
6.1.2什么是内存地址302
6.2间接访问与直接访问305
6.3指针变量与普通变量309
6.3.1指针变量的概念309
6.3.2揭秘指针的由来310
6.3.3普通变量与指针变量的对比311
6.4指针与数组的天然联系312
6.4.1数组名与数组起始地址312
6.4.2揭秘访问数组的更多细节313
6.5指针的移动319
6.6地址值在函数调用中的特殊作用331
6.6.1函数调用过程详解331
6.6.2指针作为函数参数334
6.6.3数组名作为函数实参341
6.6.4可接受地址值的形参类型探究349
6.7指针与动态内存分配352
6.7.1一维数组的动态内存分配354
6.7.2二维及多维数组与指针357
6.7.3多阶指针370
6.7.4返回值为指向动态分配空间的指针370
6.8变量的存储区、作用范围与生命期371
6.8.1静态变量和全局变量372
6.8.2进程内存地址空间布局376
6.8.3变量的作用范围、生命期和存储区379
6.8.4extern的用法382
6.9函数也可作为参数函数指针与应用384
6.9.1函数指针的概念384
6.9.2函数指针数组的运用387
6.9.3函数指针与qsort 函数的应用388
本章小结396
第7章创造新数据类型结构体类型399
7.1为何引入结构体类型399
7.2结构体类型的定义和基本用法402
7.2.1结构体类型的定义402
7.2.2结构体类型的基本用法406
7.3结构体类型数组的用法409
7.4结构体类型在函数中的运用411
7.4.1结构体类型在函数中的一般用法411
7.4.2结构体类型数组的排序420
7.5结构体类型与链表431
7.5.1链表的概念和用途431
7.5.2链表432
7.5.3为什么需要链表439
7.5.4循环单链表及其应用440
本章小结447
第8章数据持久化文件448
8.1文件的基本概念449
8.1.1文件的纸带模型449
8.1.2缓冲文件读写过程模型451
8.1.3读写文件基本流程与文件指针452
8.1.4文件打开方式454
8.2文件的读写454
8.2.1文本文件的读写454
8.2.2二进制文件读写459
8.3文件读写位置的定位466
8.4文本文件与二进制文件的对比470
8.5其他主题475
8.5.1关于stdin、stdout、stderr475
8.5.2标准输入、输出的重定向476
8.5.3理解和运用stderr与stdout478
8.5.4fflush 函数的用法479
8.5.5EOF的运用481
8.5.6容易被误解的feof 函数482
8.5.7fgets 与gets 的区别484
本章小结485
第9章深入到bit的运算位运算487
9.1位运算的运算符487
9.2初识位运算488
9.3位运算的应用489
9.4位运算的注意事项505
9.4.1右移的补位方式505
9.4.2移位量的取模特性506
9.4.3位运算的数据类型507
9.5位域509
本章小结510
內容試閱
前 言
当您第一眼见到这本书,一定诧异于它的厚度,但只要您翻开阅读,我想,您一定不会觉得这是一本难啃的大部头,而像是一本娓娓道来的程序设计故事书。
当我想要编写一本关于程序设计的教材时,难抑内心的激动。我的第一门程序设计语言是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.19oj)。
本书适合作为本科低年级程序设计课程教材,也非常适合程序设计初学者自学使用。对参加奥林匹克信息学竞赛的队员和参加ACMICPC大学生程序设计竞赛的队员来说,也是一本非常好的入门教材。对于有一定程序设计基础的读者,本书也不失参考价值。书中有许多对程序深入的剖析很有启发意义,值得一读。
众所周知,C程序设计课程是计算机类专业、信息类专业极其重要的专业基础课。我从事本科程序设计专业基础课一线教学十余年,希望能有一本读起来不那么枯燥,同时又不失专业性和系统性的面向程序设计初学者的C语言图书,这是我写本书的意图。如何利用本书,各位见仁见智。
希望通过本书带给读者更多愉悦的程序设计经历,提振编程信心,激发编程的兴趣,为今后的学习、工作、科研培养良好的计算思维和软件设计基础。
本书的写作是我将头脑中纷繁的思绪变成有条理文字的过程,既艰辛又充满快乐。常常为了设计一个恰到好处的编程任务或为了更好地表述某个概念,灵感突现,即使是已卧床或半夜醒来,也立刻记录,唯恐遗漏。本书力求知识更加系统、表述更加准确、语言更加通俗、例子更加贴近生活,这使写作过程充满挑战性,字句斟酌,直到自己满意为止,以致成书过程如此漫长。对本书内容安排、章节设置、设置每个例子代码甚至每段表述,都经过反复琢磨和权衡,力求语言描述精准、思想表达透彻。漫长的成书过程,让我体会到了写书的不易,不过,本书写作过程带给我更多的是快乐。在写作期间,不仅有将存在于脑海的点滴心得随着键盘的敲击变成文字的快感,而且,在此期间我的儿子不经意间长成了帅小伙,陪伴他的时间总是短暂而欢快的。我的妻子虽常常担心因长时伏案而有腰椎疾病的我,但她送来键盘旁的一杯热茶、一碟水果,顿时让我满血复活。特别感谢我的妻子陈海燕女士包容我无数个日夜以计算机为伴而少有陪伴她,家务操持多劳她费心,虽偶有抱怨,但忍韧而坚强。谨以此书献给我的家人。
感谢电子工业出版社高等教育分社谭海平社长和冉哲编辑对我蜗牛般写稿进度的容忍。
感谢我的学生卢晨曦、邵振宇、王舒心、王鹏、陈慧、张洋、唐朝宇、廖颜勤、姚沛丰、熊嘉奇、唐航、周子翔、沈煜恒为本书的校对付出了辛勤劳动。

虽然我对本书写作用心尽力,但由于学识水平有限,错误与不足之处在所难免,恳请批评指正(我的邮箱:390199309@qq.com)。
限于篇幅,本书第1章至第9章的综合应用实例和知识拓展部分以及附录部分,以扫描二维码下载相应文档的形式提供。

附录:


贺细平

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.