描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302652090丛书名: 软件开发视频大讲堂
“软件开发视频大讲堂”丛书是清华社计算机专业基础类零售图书畅销品牌之一。
(1)2008—2023年,丛书累计修订7次,销售400万册,深受广大程序员喜爱。
(2)4本荣获“全行业优畅销书”奖,1本荣获清华社“专业畅销书”一等奖,多数品种在全国计算机零售图书排行榜排行中名列前茅。
(3)实用、易懂、资源丰富,被数百所高校选为专业课教材。
《C 从入门到精通(第6版)》书中程序采用开发环境Dev C ,图书特点如下。
1. 学通C 只需要4步:基础知识→面向对象→高级应用→项目实战,符合认知规律。
2. 109集同步教学微课 强化实战训练 在线答疑,夯实基础,精准,有效,速练,适合自学。
3. 159个应用实例 107个编程训练 57个实践练习 2个项目案例,学习1小时,训练10小时,从入门到项目上线,真正成为C 高手。
4. 根据图书首页说明,扫描书中二维码,打开明日科技账号注册页面,填写注册信息后将自动获取C 开发资源库一年(自注册之日起)的VIP使用权限。
(1)技术资源库:236个技术要点,系统、全面,随时随地学习。
(2)技巧资源库:975个开发技巧,快速扫除盲区,掌握更多实战技巧,精准避坑。
(3)实例资源库:372个应用实例,含大量热点实例和关键实例,巩固编程技能。
(4)项目资源库:9个实战项目,快速积累项目经验,总有一个你找工作会用到。
(5)源码资源库:9份源代码详细分析,多读源码,快速成长。
(6)视频资源库:163集学习视频,边看视频边学习,提升更快。
(7)面试资源库:企业面试真题,合理职业规划,快速就业。
学会、用好C 开发资源库,可在短时间内从小白晋升为一名软件工程师。
5. 在线解答,高效学习。
(1)关注清大文森学堂公众号,可获取本书的源代码、PPT课件、视频等资源。
(2)关注清大文森学堂公众号,可加入本书的学习交流群,参加图书直播答疑。
《C 从入门到精通(第6版)》从初学者角度出发,以通俗易懂的语言和丰富多彩的实例,详细讲解了C 程序开发需要掌握的知识。本书分为4篇共19章:第1篇是基础知识,包括绪论,数据类型,运算符与表达式,条件判断语句,循环语句,函数,数组、指针和引用,以及构造数据类型;第2篇是面向对象,包括面向对象编程,类和对象,以及继承与派生;第3篇是高级应用,包括模板、标准模板库、RTTI与异常处理、程序调试、文件操作和网络通信;第4篇是项目实战,开发一个酒店客房管理系统,并制作一个植物大战僵尸修改器。书中所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,读者可以轻松领会C 的强大功能,快速提高开发能力。
第1篇 基础知识
第1章 绪论 2
视频讲解:32分钟
1.1 认识C 2
1.1.1 C 的发展历程 2
1.1.2 C/C 领域的杰出人物 3
1.1.3 C 语言的特点 4
1.2 认识C 程序代码 5
1.2.1 C 程序代码的组成 5
1.2.2 从源代码到可执行程序 5
1.3 C 常用开发环境 6
1.4 C 工程项目文件 8
1.5 使用Dev C 创建程序 8
第2章 数据类型 11
视频讲解:162分钟
2.1 第一个C 程序 11
2.2 关键字和标识符 13
2.3 基本数据类型 13
2.4 常量 14
2.4.1 整型常量 14
2.4.2 浮点型常量 15
2.4.3 字符常量 15
2.4.4 字符串常量 16
2.4.5 其他常量 16
2.5 变量 17
2.5.1 变量的声明和定义 17
2.5.2 整型变量 17
2.5.3 浮点型变量 18
2.5.4 变量赋值 20
2.5.5 字符型变量 20
2.6 数据的输入与输出 21
2.6.1 C 中的流 21
2.6.2 格式化输出 23
2.7 实践与练习 29
第3章 运算符与表达式 30
视频讲解:119分钟
3.1 表达式 30
3.2 赋值运算符和赋值表达式 31
3.3 算术运算符和算术表达式 31
3.3.1 算术运算符 31
3.3.2 算术表达式 32
3.3.3 自增、自减运算符 32
3.4 关系运算符和关系表达式 33
3.4.1 关系运算符 33
3.4.2 关系表达式 33
3.5 逻辑运算符和逻辑表达式 34
3.5.1 逻辑运算符 34
3.5.2 逻辑表达式 35
3.6 逗号运算符和逗号表达式 36
3.7 位运算符 36
3.8 移位运算符 37
3.9 复合赋值运算符 40
3.10 sizeof运算符 40
3.11 运算符的优先级和结合性 41
3.12 数据类型转换 42
3.12.1 隐式类型转换 42
3.12.2 强制类型转换 43
3.13 判断左值与右值 44
3.14 实践与练习 45
第4章 条件判断语句 46
视频讲解:102分钟
4.1 语句、程序结构和流程图 46
4.1.1 语句 46
4.1.2 程序结构 47
4.1.3 流程图 47
4.2 if语句 48
4.2.1 简单if语句 48
4.2.2 if…else语句 49
4.2.3 else if语句 50
4.3 if语句的嵌套 52
4.4 条件运算符 54
4.5 switch语句 55
4.6 实践与练习 58
第5章 循环语句 60
视频讲解:85分钟
5.1 while循环 60
5.2 do…while循环 62
5.3 for循环 63
5.4 循环控制 66
5.4.1 循环控制变量 66
5.4.2 break语句 66
5.4.3 continue语句 67
5.4.4 goto语句 68
5.5 循环嵌套 69
5.6 实践与练习 72
第6章 函数 74
视频讲解:203分钟
6.1 函数的定义和声明 74
6.1.1 函数的定义 74
6.1.2 函数的声明 75
6.2 函数的参数及返回值 76
6.2.1 函数的形参与实参 76
6.2.2 函数的调用与返回值 76
6.2.3 空函数 78
6.2.4 默认参数 79
6.3 嵌套调用与递归调用 80
6.3.1 嵌套调用 80
6.3.2 递归调用 80
6.4 变量的作用域 84
6.5 函数重载 85
6.6 内联函数 86
6.7 变量的存储类型 87
6.7.1 auto变量 87
6.7.2 static变量 88
6.7.3 register变量 89
6.7.4 extern变量 89
6.8 实践与练习 90
第7章 数组、指针和引用 92
视频讲解:245分钟
7.1 一维数组 92
7.1.1 一维数组的声明 92
7.1.2 一维数组元素的引用 93
7.1.3 一维数组的初始化 93
7.2 二维数组 95
7.2.1 二维数组的声明 95
7.2.2 二维数组元素的引用 95
7.2.3 二维数组的初始化 96
7.3 字符数组 97
7.3.1 字符数组的声明与初始化 98
7.3.2 字符串 98
7.3.3 字符串连接函数strcat() 100
7.3.4 字符串复制函数strcpy() 101
7.3.5 字符串比较函数strcmp() 102
7.3.6 字符串长度函数strlen() 103
7.4 指针 103
7.4.1 变量、地址与指针 103
7.4.2 指针变量 104
7.4.3 指针运算符和取地址运算符 107
7.4.4 指针的自增、自减运算 108
7.4.5 指向空的指针与空类型指针 109
7.4.6 指向常量的指针与指针常量 110
7.5 指针与数组 111
7.5.1 数组的存储方式 111
7.5.2 指针与一维数组 111
7.5.3 指针与二维数组 113
7.5.4 指针与字符数组 114
7.5.5 基于指针的字符串处理函数 115
7.6 指针在函数中的应用 119
7.6.1 传递地址 119
7.6.2 指向函数的指针 120
7.6.3 空指针调用函数 121
7.6.4 函数返回值为指针 121
7.7 指针数组 122
7.8 安全使用指针 124
7.8.1 内存分配 124
7.8.2 内存安全 126
7.9 引用 129
7.9.1 引用概述 129
7.9.2 使用引用传递函数参数 131
7.10 数组做函数参数 132
7.11 实践与练习 134
第8章 构造数据类型 136
视频讲解:96分钟
8.1 结构体 136
8.1.1 结构体的定义 136
8.1.2 结构体变量的声明和初始化 137
8.1.3 结构体成员的引用 138
8.1.4 结构体的嵌套 139
8.1.5 结构体的大小 141
8.2 结构体与函数 141
8.2.1 结构体变量做函数参数 142
8.2.2 结构体指针做函数参数 142
8.3 结构体数组 143
8.3.1 结构体数组的声明和初始化 143
8.3.2 指针访问结构体数组 144
8.4 共用体 145
8.4.1 共用体的定义和使用 145
8.4.2 共用体的大小 146
8.4.3 共用体的特点 147
8.5 枚举类型 147
8.5.1 枚举类型的定义 147
8.5.2 枚举变量 148
8.5.3 枚举类型的运算 149
8.6 自定义数据类型 150
8.7 使用宏定义替换复杂的数据 151
8.8 实践与练习 155
第2篇 面向对象
第9章 面向对象编程 158
视频讲解:39分钟
9.1 面向对象概述 158
9.1.1 对象 158
9.1.2 类 158
9.1.3 封装 159
9.1.4 继承 159
9.1.5 多态 159
9.2 面向对象编程与面向过程编程 160
9.2.1 面向过程编程 160
9.2.2 面向对象编程 160
9.3 统一建模语言 161
9.3.1 UML概述 161
9.3.2 UML的结构 162
9.3.3 面向对象的建模 164
第10章 类和对象 165
视频讲解:197分钟
10.1 C 类 165
10.1.1 类的声明与定义 166
10.1.2 类的实现 166
10.1.3 对象的声明和引用 169
10.2 构造函数 171
10.2.1 构造函数概述 171
10.2.2 复制构造函数 171
10.3 析构函数 173
10.4 类成员 174
10.4.1 访问类成员 174
10.4.2 内联成员函数 176
10.4.3 静态类成员 176
10.4.4 隐藏的this指针 178
10.4.5 嵌套类 179
10.4.6 局部类 180
10.5 友元 180
10.5.1 友元概述 180
10.5.2 友元类 182
10.5.3 友元函数 183
10.6 命名空间 185
10.6.1 定义命名空间 185
10.6.2 在多个文件中定义命名空间 187
10.6.3 定义嵌套的命名空间 188
10.7 实践与练习 189
第11章 继承与派生 190
视频讲解:112分钟
11.1 继承 190
11.1.1 类的继承 190
11.1.2 继承后的可访问性 192
11.1.3 构造函数的访问顺序 194
11.1.4 派生类中显式调用基类构造函数 195
11.1.5 派生类屏蔽基类的同名成员函数 196
11.2 重载运算符 197
11.2.1 为什么要重载运算符 197
11.2.2 重载运算符的形式与规则 199
11.2.3 重载运算符的运算 200
11.2.4 转换运算符 202
11.3 多重继承 203
11.3.1 多重继承的定义 203
11.3.2 多重继承的构造顺序 204
11.4 多态 206
11.4.1 虚函数概述 206
11.4.2 利用虚函数实现动态绑定 206
11.4.3 虚继承 208
11.5 抽象类 209
11.5.1 纯虚函数和抽象类 209
11.5.2 实现抽象类中的成员函数 211
11.6 实践与练习 213
第3篇 高级应用
第12章 模板 216
视频讲解:32分钟
12.1 C 泛型编程和模板 216
12.1.1 认识C 泛型编程 216
12.1.2 强类型语言与C 模板 217
12.2 函数模板 218
12.2.1 函数模板的定义 218
12.2.2 函数模板的使用 219
12.2.3 重载函数模板 220
12.3 类模板 221
12.3.1 类模板的定义与声明 221
12.3.2 简单类模板 223
12.3.3 默认模板参数 223
12.3.4 为具体类型的参数提供默认值 224
12.3.5 有界数组模板 225
12.3.6 类模板的定制 226
12.4 链表类模板 229
12.4.1 链表的基本概念 229
12.4.2 设计单链表 230
12.4.3 链表类模板的使用 231
12.4.4 类模板的静态数据成员 233
12.5 实践与练习 235
第13章 标准模板库 236
视频讲解:166分钟
13.1 C STL基础 236
13.1.1 认识STL 237
13.1.2 常见的数据结构 237
13.2 STL容器与迭代器 240
13.2.1 STL容器 240
13.2.2 STL迭代器 241
13.2.3 STL容器通用操作 243
13.3 序列式容器 243
13.3.1 序列式容器概述 243
13.3.2 array容器 244
13.3.3 vector容器 245
13.3.4 deque容器 248
13.3.5 list容器 250
13.3.6 forward_list容器 253
13.4 字符串容器 254
13.4.1 字符串容器概述 254
13.4.2 字符串容器常用函数 254
13.4.3 转换为C语言风格的字符串 257
13.5 关联式容器 257
13.5.1 关联式容器概述 257
13.5.2 pair类模板 258
13.5.3 map容器 260
13.5.4 multimap容器 262
13.5.5 set容器 263
13.5.6 multiset容器 266
13.6 算法 267
13.6.1 非修正序列算法 267
13.6.2 修正序列算法 269
13.6.3 排序算法 272
13.6.4 数值算法 275
13.7 实践与练习 279
第14章 RTTI与异常处理 280
视频讲解:18分钟
14.1 RTTI 280
14.1.1 RTTI的定义 280
14.1.2 RTTI与引用 281
14.1.3 RTTI与多重继承 282
14.1.4 RTTI映射语法 283
14.2 异常处理 285
14.2.1 抛出异常 285
14.2.2 捕获异常 285
14.2.3 异常匹配 287
14.2.4 标准异常类 288
第15章 程序调试 290
视频讲解:21分钟
15.1 程序错误的常见类型 290
15.2 调试工具的使用 292
15.2.1 创建调试程序 292
15.2.2 进入调试状态 292
15.2.3 进行调试 293
15.2.4 变量的跟踪与查看 294
15.2.5 调试的注意事项 295
第16章 文件操作 296
视频讲解:35分钟
16.1 C 输入/输出流 296
16.1.1 C 中的流类库 296
16.1.2 ios类中的枚举常量 297
16.1.3 流的输入/输出 298
16.2 打开文件 299
16.3 读写文件 301
16.3.1 文件流 301
16.3.2 写入文本文件 303
16.3.3 读取文本文件 303
16.3.4 读写二进制文件 304
16.3.5 复制文件 305
16.4 文件指针的移动 306
16.4.1 文件错误与状态 306
16.4.2 向文件中追加写入 307
16.4.3 文件结尾的判断 308
16.4.4 在指定位置读写文件 309
16.5 文件和流的关联和分离 310
16.6 删除文件 311
16.7 实践与练习 312
第17章 网络通信 313
视频讲解:20分钟
17.1 TCP/IP协议 313
17.1.1 OSI参考模型 313
17.1.2 TCP/IP参考模型 314
17.1.3 IP地址 315
17.1.4 数据包格式 315
17.2 套接字 317
17.2.1 Winsock套接字 317
17.2.2 Winsock的使用 318
17.2.3 套接字阻塞模式 322
17.2.4 字节顺序 322
17.2.5 面向连接流 323
17.2.6 面向无连接流 323
17.3 简单协议通信 324
17.3.1 服务器端程序 324
17.3.2 客户端程序 326
17.4 实践与练习 328
第4篇 项目实战
第18章 酒店客房管理系统 330
视频讲解:30分钟
18.1 开发背景 330
18.2 系统设计 331
18.2.1 系统功能结构 331
18.2.2 业务流程图 331
18.2.3 系统预览 332
18.2.4 数据库设计 333
18.3 主窗体设计 334
18.4 登录模块设计 339
18.4.1 登录模块技术分析 339
18.4.2 登录模块设计过程 340
18.5 客房预订模块设计 344
18.5.1 客房预订模块技术分析 344
18.5.2 客房预订模块实现过程 344
18.6 追加押金模块设计 348
18.6.1 追加押金模块技术分析 348
18.6.2 追加押金模块实现过程 349
18.7 调房登记模块设计 353
18.7.1 调房登记模块技术分析 353
18.7.2 调房登记模块实现过程 353
18.8 客房销售报表模块设计 358
18.8.1 客房销售报表模块技术分析 358
18.8.2 客房销售报表模块实现过程 358
18.9 项目文件清单 365
第19章 制作游戏外挂——植物大战僵尸修改器 366
视频讲解:6分钟
19.1 开发背景 366
19.2 系统功能设计 367
19.2.1 系统功能结构 367
19.2.2 业务流程图 367
19.3 系统开发环境要求 368
19.4 修改器原理介绍 368
19.5 项目目录结构预览 370
19.6 修改器界面开发 371
19.6.1 新建项目 371
19.6.2 去除多余控件 372
19.6.3 完成修改器主界面 373
19.6.4 添加“进程列表”对话框 374
19.7 修改阳光数量(内存搜索功能) 375
19.7.1 列出所有进程 375
19.7.2 打开游戏进程 376
19.7.3 搜索阳光数量位置 376
19.7.4 修改阳光数量 378
19.7.5 使用方法 378
19.8 注入游戏中的动态链接库(DLL) 382
19.8.1 创建DLL项目 382
19.8.2 修改器界面介绍 384
19.8.3 注入DLL到游戏进程 384
19.9 修改器核心功能实现 385
19.9.1 按HOME键调出游戏修改器 386
19.9.2 任意修改阳光、金钱数量 387
19.9.3 调用种植、铲除植物功能 388
19.9.4 自动收集阳光和金钱 389
19.9.5 僵尸全部出动 390
19.9.6 忽略地形,重叠种植 391
19.9.7 植物种植无冷却时间 392
19.10 开发总结 393
丛书说明:“软件开发视频大讲堂”丛书第1版于2008年8月出版,因其编写细腻、易学实用、配备海量学习资源和全程视频等,在软件开发类图书市场上产生了很大反响,绝大部分品种在全国软件开发零售图书排行榜中名列前茅,2009年多个品种被评为“全国优秀畅销书”。
“软件开发视频大讲堂”丛书第2版于2010年8月出版,第3版于2012年8月出版,第4版于2016年10月出版,第5版于2019年3月出版,第6版于2021年7月出版。十五年间反复锤炼,打造经典。丛书迄今累计重印680多次,销售400多万册,不仅深受广大程序员的喜爱,还被百余所高校选为计算机、软件等相关专业的教学参考用书。
“软件开发视频大讲堂”丛书第7版在继承前6版所有优点的基础上,进行了大幅度的修订。第一,根据当前的技术趋势与热点需求调整品种,拓宽了程序员岗位就业技能用书;第二,对图书内容进行了深度更新、优化,如优化了内容布置,弥补了讲解疏漏,将开发环境和工具更新为新版本,增加了对新技术点的剖析,将项目替换为更能体现当今IT开发现状的热门项目等,使其更与时俱进,更适合读者学习;第三,改进了教学微课视频,为读者提供更好的学习体验;第四,升级了开发资源库,提供了程序员“入门学习→技巧掌握→实例训练→项目开发→求职面试”等各阶段的海量学习资源;第五,为了方便教学,制作了全新的教学课件PPT。
C 是在C语言基础上发展起来的,它在C语言基础上融入了许多新的编程理念,这些理念有利于程序的开发。从语言角度来说,C 语言是一个规范,它规范程序员如何进行面向对象程序开发。C 具有C语言操作底层的能力,同时还具有提高代码复用率的面向对象编程技术,是一种语句更加灵活、使用更加简捷、技术更加全面的编程利器。
本书内容
本书提供了从C 入门到编程高手所必需的各类知识,共分为4篇,具体如下。
第1篇:基础知识。本篇讲解C 语言基础知识,具体包括C 的发展历程、语言特点、常用开发环境,数据类型,运算符与表达式,条件判断语句,循环语句,函数,数组、指针和引用,以及构造数据类型。为帮助读者夯实语言基础,本篇结合流程图和实例,并通过视频的指导讲解。读者只有具备了牢固的基础才能更快地掌握更高级的内容。
第2篇:面向对象。本篇介绍C 面向对象编程的知识,帮助读者透彻理解什么是面向对象,如何应用类创建对象,什么是继承和派生,以及能够利用多态进行面向对象开发。
第3篇:高级应用。模板是标准模板库(STL)的基础,通过学习模板相关知识,读者能够理解STL的构造。通过学习运行时类型识别(RTTI),读者将对面向对象开发有更深的理解。程序调试和文件操作是程序开发过程中必不可少的技术,是企业级项目开发的基础。网络通信是仅次于文件技术的另一项关键技术,通过实例,读者可以掌握基本的网络通信知识。
第4篇:项目实战。本篇运用软件工程的设计思想,开发了一个酒店客房管理系统和一个植物大战僵尸修改器。书中按照“需求分析→系统设计→公共模块设计→主窗体设计→实现项目各模块功能→总结开发技巧与难点”的流程进行介绍,带领读者一步一步亲身体验项目开发的全过程。
本书特点
由浅入深,循序渐进。本书以初、中级程序员为对象,带领读者从C 语言基础学起,再到面向对象程序开发,然后学习模板库、异常处理、网络通信等C 技术的高级应用,最后开发两个完整的项目。讲解过程中步骤详尽,重点突出,实例丰富,将学与练很好地融合在了一起。
微课视频,讲解详尽。为便于读者直观感受程序开发的全过程,书中重要章节配备了教学微课视频(共109集,时长29小时),使用手机扫描章节标题一侧的二维码,即可观看学习。便于初学者快速入门,感受编程的快乐和成就感,进一步增强学习的信心。
基础示例 编程训练 实践练习 项目案例,实战为王。通过例子学习是最好的学习方式,本书核心知识讲解通过“一个知识点、一个示例、一个结果、一段评析、一个综合应用”的模式,详尽透彻地讲述了实际开发中所需的各类知识。全书共计有159个应用实例,107个编程训练,57个实践练习,2个项目案例,为初学者打造“学习1小时,训练10小时”的强化实战学习环境。
精彩栏目,贴心提醒。本书设计了很多“注意”“说明”等小栏目,读者可以在学习过程中更轻松地理解相关知识点及概念,更快地掌握相关技术的应用技巧。
读者对象:初次接触编程的自学者;C 编程爱好者;大、中专院校的老师和学生;相关培训机构的老师和学员;进行毕业设计的学生;初、中级程序开发人员;程序测试及维护人员;参加实习的“菜鸟”程序员。
本书学习资源
本书提供了大量的辅助学习资源,读者需刮开图书封底的防盗码,扫描并绑定微信后,获取学习权限。
学习书中知识时,扫描章节名称处的二维码,可在线观看教学视频。
本书配备了强大的C 开发资源库,包括技术资源库、技巧资源库、实例资源库、项目资源库、源码资源库、视频资源库。扫描二维码,可登录明日科技网站,获取C 开发资源库一年的免费使用权限。
关注清大文森学堂公众号,可获取本书的源代码、PPT课件、视频等资源,加入本书的学习交流群,参加图书直播答疑。
读者扫描图书封底的“文泉云盘”二维码,或登录清华大学出版社网站,在对应图书页面下可查阅各类学习资源的获取方式。
致读者
本书由明日科技C 程序开发团队组织编写。明日科技是一家专业从事软件开发、教育培训以及软件开发教育资源整合的高科技公司,其编写的教材既注重选取软件开发中的必需、常用内容,又注重内容的易学、易用以及相关知识的拓展,深受读者喜爱,多次荣获“全行业优秀畅销品种”“中国大学出版社优秀畅销书”等奖项,多个品种长期位居同类图书销售排行榜的前列。
在编写本书的过程中,我们始终本着科学、严谨的态度,力求精益求精,但疏漏之处在所难免,敬请广大读者批评指正。
感谢您购买本书,希望本书能成为您编程路上的领航者。
“零门槛”编程,一切皆有可能。祝读书快乐!
评论
还没有评论。