新書推薦:
《
启微·狂骉年代:西洋赛马在中国
》
售價:NT$
357.0
《
有趣的中国古建筑
》
售價:NT$
305.0
《
十一年夏至
》
售價:NT$
347.0
《
如何打造成功的商业赛事
》
售價:NT$
407.0
《
万千教育学前·透视学前儿童的发展:解析幼儿教师常问的那些问题
》
售價:NT$
265.0
《
慈悲与玫瑰
》
售價:NT$
398.0
《
启蒙的辩证:哲学的片简(法兰克福学派哲学经典,批判理论重要文本)
》
售價:NT$
347.0
《
心跳重置
》
售價:NT$
269.0
|
編輯推薦: |
软件开发视频大讲堂丛书是清华社计算机专业基础类零售图书*畅销的品牌之一。
(1)丛书累计销售200多万册,深受广大开发者喜爱。
(2)4本荣获全行业优畅销书奖,1本荣获清华社专业畅销书一等奖。
(3)绝大多数品种在全国计算机零售图书排行榜同品种排行中名列前茅。
(4)实用、易懂、资源丰富,被数百所高校选为专业课教材。
《C从入门到精通(第4版)》学习资源及特点如下。
1. 循序渐进,实战讲述:基础知识核心技术高级应用项目实战,符合认知规律。
2. 182个应用实例 91集高清微视频 30个实践练习 1个项目案例,边学边练,在实践中提升技能。
3. 超值赠送海量开发资源库资源,助力你夯实基础,精准,有效,速练,练就转岗就业不败之力。
(1)实例资源库:881个实例,多练实例,多读源码,是快速学习之道。
(2)模块资源库:15个经典模块开发过程完整展现,拿来改改就能用。
(3)项目资源库:15个企业项目开发过程的完整展现,帮助你反复练习,触类旁通。
(4)测试题库系统:616道能力测试题目,由易及难,快速判断自己的真实水平,熟能生巧。
(5)面试资源库:371个企
|
內容簡介: |
《C++从入门到精通(第4版)》从初学者的角度出发,以通俗易懂的语言,丰富多彩的实例,详细讲解了C++的基础知识。本书包括4篇18章:第1篇是基础知识,包括绪论,数据类型,表达式与语句,条件判断语句,循环语句,函数,数组、指针和引用,构造数据类型;第2篇是核心技术,包括面向对象编程、类和对象、继承与派生;第3篇是高级应用,包括模板、标准模板库、RTTI与异常处理、程序调试、文件操作、网络通信;第4篇是项目实战,结合人事考勤管理系统,依照软件工程的开发流程,讲述如何进行实际开发。
|
關於作者: |
明日科技,是一个拥有软件开发和项目实施方面的资深专家和学习型技术团队,利用积累的专业知识和经验,已开发出版了从入门到精通软件开发实战1200例软件开发实战宝典软件项目开发全程实录等系列丛书,是国内畅销的编程图书品牌。
|
目錄:
|
目 录
第1篇 基础知识
第1章 绪论 2
视频讲解:1小时18分钟
1.1 C历史背景 3
1.1.1 20世纪最伟大的发明 3
1.1.2 C发展历程 3
1.1.3 C中的杰出人物 4
1.2 常用开发环境 5
1.2.1 VisualC6.0 5
1.2.2 VisualStudio2017 6
1.2.3 GCCG 7
1.2.4 Dev-C 7
1.2.5 Eclipse 8
1.3 认知C程序代码 8
1.4 C工程项目文件 9
1.5 使用VisualC6.0创建程序 10
1.6 编译与连接过程 13
1.7 C的特点 16
1.8 小结 16
第2章 数据类型 17
视频讲解:1小时25分钟
2.1 第一个C程序 18
2.1.1 #include指令 18
2.1.2 注释 18
2.1.3 main函数 19
2.1.4 函数体 19
2.1.5 函数返回值 19
2.2 常量及符号 19
2.2.1 整型常量 20
2.2.2 实型常量 21
2.2.3 字符常量 21
2.2.4 字符串常量 22
2.2.5 其他常量 23
2.3 变量 23
2.3.1 标识符 23
2.3.2 变量与变量声明 24
2.3.3 整型变量 24
2.3.4 实型变量 25
2.3.5 变量赋值 25
2.3.6 变量赋初值 26
2.3.7 字符变量 26
2.4 常用数据类型 27
2.4.1 定义数值类型 28
2.4.2 字符类型 30
2.4.3 布尔类型 30
2.5 数据输入与输出 30
2.5.1 控制台屏幕 30
2.5.2 C语言中的流 31
2.5.3 流操作的控制 33
2.6 小结 40
2.7 实践与练习 40
第3章 表达式与语句 41
视频讲解:55分钟
3.1 运算符 42
3.1.1 算术运算符 42
3.1.2 关系运算符 43
3.1.3 逻辑运算符 44
3.1.4 赋值运算符 45
3.1.5 位运算符 46
3.1.6 移位运算符 47
3.1.7 sizeof运算符 50
3.1.8 条件运算符 50
3.1.9 逗号运算符 50
3.2 结合性和优先级 51
3.3 表达式 52
3.3.1 算术表达式 53
3.3.2 关系表达式 53
3.3.3 条件表达式 53
3.3.4 赋值表达式 53
3.3.5 逻辑表达式 53
3.3.6 逗号表达式 54
3.3.7 表达式中的类型转换 55
3.4 语句 57
3.5 判断左值与右值 58
3.6 小结 59
3.7 实践与练习 59
第4章 条件判断语句 60
视频讲解:35分钟
4.1 决策分支 61
4.2 判断语句 62
4.2.1 第一种形式的判断语句 62
4.2.2 第二种形式的判断语句 63
4.2.3 第三种形式的判断语句 65
4.3 使用条件运算符进行判断 67
4.4 switch语句 68
4.5 判断语句的嵌套 72
4.6 小结 74
4.7 实践与练习 74
第5章 循环语句 75
视频讲解:55分钟
5.1 while循环 76
5.2 do...while循环 77
5.3 while与dowhile比较 79
5.4 for循环语句 80
5.5 循环控制 84
5.5.1 控制循环的变量 84
5.5.2 break语句 85
5.5.3 continue语句 86
5.5.4 goto语句 87
5.6 循环嵌套 88
5.7 循环应用实例 90
5.7.1 阿姆斯壮数 90
5.7.2 巴斯卡三角形 91
5.7.3 对输入的分数进行排名 92
5.8 小结 93
5.9 实践与练习 94
第6章 函数 95
视频讲解:1小时14分钟
6.1 函数概述 96
6.1.1 函数的定义 96
6.1.2 函数的声明 96
6.2 函数参数及返回值 97
6.2.1 返回值 97
6.2.2 空函数 98
6.2.3 形参与实参 99
6.2.4 默认参数 99
6.2.5 可变参数 101
6.3 函数调用 102
6.3.1 传值调用 102
6.3.2 嵌套调用 104
6.3.3 递归调用 105
6.4 变量作用域 108
6.5 重载函数 109
6.6 内联函数 110
6.7 变量的存储类别 111
6.7.1 auto变量 112
6.7.2 静态变量 113
6.7.3 register变量 115
6.7.4 extern变量 115
6.8 小结 116
6.9 实践与练习 116
第7章 数组、指针和引用 117
视频讲解:1小时27分钟
7.1 一维数组 118
7.1.1 一维数组的声明 118
7.1.2 一维数组元素的引用 118
7.1.3 一维数组的初始化 119
7.2 二维数组 120
7.2.1 二维数组的声明 120
7.2.2 二维数组元素的引用 121
7.2.3 二维数组的初始化 121
7.3 字符数组 124
7.4 指针 131
7.4.1 变量与指针 131
7.4.2 指针运算符和取地址运算符 134
7.4.3 指针运算 136
7.4.4 指向空的指针与空类型指针 138
7.4.5 指向常量的指针与指针常量 139
7.5 指针与数组 140
7.5.1 数组的存储 140
7.5.2 指针与一维数组 141
7.5.3 指针与二维数组 143
7.5.4 指针与字符数组 148
7.6 指针在函数中的应用 150
7.6.1 传递地址 150
7.6.2 指向函数的指针 152
7.6.3 空指针调用函数 153
7.6.4 从函数中返回指针 154
7.7 指针数组 155
7.8 安全使用指针 158
7.8.1 内存分配 158
7.8.2 内存安全 160
7.9 引用 163
7.9.1 引用概述 163
7.9.2 使用引用传递参数 166
7.9.3 指针传递参数 167
7.9.4 数组做函数参数 168
7.10 小结 170
7.11 实践与练习 171
第8章 构造数据类型 172
视频讲解:59分钟
8.1 结构体 173
8.1.1 结构体定义 173
8.1.2 结构体变量 173
8.1.3 结构体成员及初始化 174
8.1.4 结构体的嵌套 176
8.1.5 结构体大小 178
8.2 重命名数据类型 180
8.3 结构体与函数 182
8.3.1 结构体变量做函数参数 182
8.3.2 结构体指针做函数参数 183
8.4 结构体数组 184
8.4.1 结构体数组声明与引用 184
8.4.2 指针访问结构体数组 185
8.5 共用体 186
8.5.1 共用体的定义与声明 187
8.5.2 共用体的大小 188
8.5.3 共用体的特点 189
8.6 枚举类型 189
8.6.1 枚举类型的声明 189
8.6.2 枚举类型变量 190
8.6.3 枚举类型的运算 191
8.7 自定义数据类型 193
8.8 异常处理 194
8.8.1 抛出异常 194
8.8.2 捕获异常 196
8.8.3 异常匹配 199
8.8.4 标准异常 201
8.9 使用宏定义替换复杂的数据 202
8.10 小结 205
8.11 实践与练习 205
第2篇 核心技术
第9章 面向对象编程 207
视频讲解:32分钟
9.1 面向对象概述 208
9.2 面向对象与面向过程编程 209
9.2.1 面向过程编程 209
9.2.2 面向对象编程 209
9.2.3 面向对象的特点 210
9.3 统一建模语言 210
9.3.1 统一建模语言概述 210
9.3.2 统一建模语言的结构 211
9.3.3 面向对象的建模 213
9.4 小结 213
第10章 类和对象 214
视频讲解:1小时1分钟
10.1 C类 215
10.1.1 类概述 215
10.1.2 类的声明与定义 215
10.1.3 类的实现 216
10.1.4 对象的声明 221
10.2 构造函数 223
10.2.1 构造函数概述 223
10.2.2 复制构造函数 225
10.3 析构函数 227
10.4 类成员 229
10.4.1 访问类成员 229
10.4.2 内联成员函数 230
10.4.3 静态类成员 231
10.4.4 隐藏的this指针 233
10.4.5 嵌套类 235
10.4.6 局部类 236
10.5 友元 237
10.5.1 友元概述 237
10.5.2 友元类 239
10.5.3 友元方法 240
10.6 命名空间 242
10.6.1 使用命名空间 242
10.6.2 定义命名空间 243
10.6.3 在多个文件中定义命名空间 245
10.6.4 定义嵌套的命名空间 247
10.6.5 定义未命名的命名空间 248
10.7 小结 249
10.8 实践与练习 249
第11章 继承与派生 250
视频讲解:57分钟
11.1 继承 251
11.1.1 类的继承 251
11.1.2 继承后可访问性 253
11.1.3 构造函数访问顺序 256
11.1.4 子类显示调用父类构造函数 257
11.1.5 子类隐藏父类的成员函数 259
11.2 重载运算符 262
11.2.1 重载运算符的必要性 262
11.2.2 重载运算符的形式与规则 263
11.2.3 重载运算符的运算 265
11.2.4 转换运算符 267
11.3 多重继承 269
11.3.1 多重继承定义 269
11.3.2 二义性 270
11.3.3 多重继承的构造顺序 271
11.4 多态 273
11.4.1 虚函数概述 273
11.4.2 利用虚函数实现动态绑定 273
11.4.3 虚继承 275
11.5 抽象类 277
11.5.1 纯虚函数 277
11.5.2 实现抽象类中的成员函数 279
11.6 小结 280
11.7 实践与练习 280
第3篇 高级应用
第12章 模板 282
视频讲解:49分钟
12.1 函数模板 283
12.1.1 函数模板的定义 283
12.1.2 函数模板的作用 284
12.1.3 重载函数模板 286
12.2 类模板 287
12.2.1 类模板的定义与声明 287
12.2.2 简单类模板 289
12.2.3 默认模板参数 290
12.2.4 为具体类型的参数提供默认值 291
12.2.5 有界数组模板 292
12.3 模板的使用 294
12.3.1 定制类模板 294
12.3.2 定制类模板成员函数 295
12.4 链表类模板 297
12.4.1 链表 297
12.4.2 链表类模板 299
12.4.3 类模板的静态数据成员 302
12.5 小结 303
12.6 实践与练习 304
第13章 标准模板库 305
视频讲解:35分钟
13.1 几种常见数据结构 306
13.1.1 简述STL 306
13.1.2 顺序线性结构 306
13.1.3 基本操作 306
13.1.4 栈结构 307
13.1.5 队列结构 307
13.1.6 链表结构 308
13.1.7 图结构 308
13.2 序列容器 309
13.2.1 对比容器适配器与容器 309
13.2.2 对比迭代器与容器 309
13.2.3 向量类模板 310
13.2.4 双端队列类模板 314
13.2.5 链表类模板 316
13.3 结合容器 318
13.3.1 set类模板 319
13.3.2 multiset类模板 323
13.3.3 map类模板 328
13.3.4 multimap类模板 330
13.4 算法 331
13.4.1 非修正序列算法 331
13.4.2 修正序列算法 334
13.4.3 排序算法 338
13.4.4 数值算法 345
13.5 迭代器 350
13.5.1 输出迭代器 350
13.5.2 输入迭代器 350
13.5.3 前向迭代器 351
13.5.4 双向迭代器 352
13.5.5 随机访问迭代器 353
13.6 小结 354
13.7 实践与练习 354
第14章 RTTI与异常处理 355
视频讲解:22分钟
14.1 RTTI 356
14.1.1 什么是RTTI 356
14.1.2 RTTI与引用 357
14.1.3 RTTI与多重继承 358
14.1.4 RTTI映射语法 359
14.2 小结 361
第15章 程序调试 362
视频讲解:33分钟
15.1 选择正确的调试方法 363
15.2 程序错误常见的4种类型 363
15.2.1 语法错误 363
15.2.2 连接错误 364
15.2.3 运行时错误 364
15.2.4 逻辑错误 365
15.3 调试工具的使用 366
15.3.1 创建调试程序 366
15.3.2 进入调试状态 369
15.3.3 Watch窗口 369
15.3.4 CallStack窗口 370
15.3.5 Memory窗口 370
15.3.6 Variables窗口 371
15.3.7 Registers窗口 371
15.3.8 Disassembly窗口 372
15.4 调试的基本应用 372
15.4.1 变量的跟踪与查看 372
15.4.2 位置断点的使用 373
15.4.3 数据断点的使用 376
15.5 调试的高级应用 377
15.5.1 在调试时修改变量的值 378
15.5.2 在循环中调试 379
15.6 小结 380
第16章 文件操作 380
视频讲解:58分钟
16.1 文件流 381
16.1.1 C中的流类库 381
16.1.2 类库的使用 381
16.1.3 ios类中的枚举常量 382
16.1.4 流的输入输出 382
16.2 文件打开 383
16.2.1 打开方式 383
16.2.2 默认打开模式 384
16.2.3 打开文件同时创建文件 385
16.3 文件的读写 386
16.3.1 文件流 386
16.3.2 写文本文件 388
16.3.3 读取文本文件 389
16.3.4 二进制文件的读写 390
16.3.5 实现文件复制 391
16.4 文件指针移动操作 392
16.4.1 文件错误与状态 392
16.4.2 文件的追加 393
16.4.3 文件结尾的判断 394
16.4.4 在指定位置读写文件 395
16.5 文件和流的关联和分离 397
16.6 删除文件 398
16.7 小结 399
16.8 实践与练习 399
第17章 网络通信 400
视频讲解:39分钟
17.1 TCPIP协议 401
17.1.1 OSI参考模型 401
17.1.2 TCPIP参考模型 401
17.1.3 IP地址 402
17.1.4 数据包格式 403
17.2 套接字 405
17.2.1 Winsocket套接字 405
17.2.2 Winsocket的使用 405
17.2.3 套接字阻塞模式 410
17.2.4 字节顺序 410
17.2.5 面向连接流 411
17.2.6 面向无连接流 411
17.3 简单协议通信 412
17.3.1 服务端 412
17.3.2 客户端 414
17.3.3 实例的运行 416
17.4 小结 416
17.5 实践与练习 416
第4篇 项目实战
第18章 人事考勤管理系统 418
视频讲解:1小时31分钟
18.1 开发背景 419
18.2 需求分析 419
18.3 系统设计 419
18.3.1 系统目标 419
18.3.2 系统功能结构 420
18.3.3 系统预览 420
18.3.4 业务流程图 422
18.3.5 数据库设计 422
18.4 公共模块设计 425
18.5 主窗体设计 430
18.6 用户登录模块设计 432
18.6.1 用户登录模块概述 432
18.6.2 用户登录技术分析 433
18.6.3 用户登录实现过程 433
18.7 用户管理模块设计 435
18.7.1 用户管理模块概述 435
18.7.2 用户管理技术分析 435
18.7.3 用户管理实现过程 436
18.7.4 单元测试 438
18.8 部门管理模块设计 439
18.8.1 部门管理模块概述 439
18.8.2 部门管理技术分析 439
18.8.3 部门管理实现过程 440
18.9 人员信息管理模块设计 443
18.9.1 人员信息管理模块概述 443
18.9.2 人员信息管理技术分析 443
18.9.3 人员信息管理实现过程 443
18.10 考勤管理模块设计 449
18.10.1 考勤管理模块概述 449
18.10.2 考勤管理技术分析 450
18.10.3 考勤管理实现过程 451
18.11 考勤汇总查询模块设计 456
18.11.1 考勤汇总查询模块概述 456
18.11.2 考勤汇总查询技术分析 457
18.11.3 考勤汇总查询实现过程 458
18.12 开发技巧与难点分析 461
18.12.1 调用动态链接库设计界面 461
18.12.2 主窗体的界面显示 462
18.13 小结 462
附录A 463
A1 Visual C 6.0菜单命令及功能 464
A2 Visual C 6.0常用快捷键 465
附录B 468
B1 安装Visual Studio 2017 469
B2 Visual Studio 2017开发环境介绍 472
B3 Visual Studio 2017菜单功能 478
B4 Visual Studio 2017常用快捷键 481
|
內容試閱:
|
前 言
丛书说明:软件开发视频大讲堂丛书(第1版)于2008年8月出版,因其编写细腻,易学实用,配备海量学习资源和全程视频等,在软件开发类图书市场上产生了很大反响,绝大部分品种在全国软件开发零售图书排行榜中名列前茅,2009年多个品种被评为全国优秀畅销书。软件开发视频大讲堂丛书(第2版)于2010年8月出版,第3版于2012年8月出版,第4版于2016年10月出版。十年锤炼,打造经典。丛书迄今累计重印500多次,销售200多万册。不仅深受广大程序员的喜爱,还被百余所高校选为计算机、软件等相关专业的教学参考用书。软件开发视频大讲堂丛书(第5版)在继承前4版所有优点的基础上,进一步修正了疏漏,优化了图书内容,更新了开发环境和工具,并根据读者建议替换了部分学习视频。同时,提供了从入门学习实例应用模块开发项目开发能力测试面试等各个阶段的海量开发资源库,使之更适合读者学习、训练、测试。为了方便教学,还提供了教学课件PPT。
C语言是在C语言基础上发展起来的,它在C语言基础上融入了许多新的编程理念,这些理念有利于程序的开发。从语言角度来说,C语言是一个规范,它规范程序员如何进行面向对象程序开发。C具有C语言操作底层的能力,同时还具有提高代码复用率的面向对象编程技术,是一种语句更加灵活、使用更加简捷、技术更加全面的编程利器。
本书内容
本书提供了从入门到编程高手所必备的各类知识,共分4篇。
第1篇:基础知识。本篇讲解C语句基础部分,只有具备了牢固的基础知识才能更快地掌握更高级的技术内容。通过对C语言的历史、常用开发环境、数据类型、运算符与表达式、条件判断语句、循环语句、函数等这些内容的介绍,结合流程图和实例,并通过视频的指导讲解,为以后编程奠定坚实的基础。
第2篇:核心技术。本篇介绍了C语言的关于面向对象方面的内容,理解面向对象这个概念,应用类类型创建对象,掌握什么是继承和派生,利用多态进行面向对象开发。
第3篇:高级应用。模板是标准模板库(STL)的基础,通过对模板的介绍,使读者能够理解STL的构造。文件操作也是程序开发过程中必不可少的技术,掌握文件操作方法是奠定开发大项目的基础,通过对运行时类型识别(RTTI)的介绍使读者对面向对象开发有更深的理解。网络通信是仅次于文件技术的另一项关键技术,通过实例,读者可以掌握基本的网络通信知识。
第4篇:项目实战。本篇运用软件工程的设计思想,通过人事考勤管理系统的开发练习,学习如何进行软件项目开发的知识。书中按照编写需求分析系统设计公共模块设计主窗体设计实现项目模块功能总结开发技巧与难点的流程进行介绍,带领读者一步一步亲身体验开发项目的全过程。
本书特点
由浅入深,循序渐进。本书以初、中级程序员为对象,先从C语言基础学起,再到C语言的程序结构,然后学习C语言的高级应用,最后学习开发一个完整的项目。讲解过程中步骤详尽,版式新颖,并且在程序中会有相应的实例帮助读者更好地理解所讲解的知识,在实例讲解时分步分析,可使读者在阅读时一目了然,从而快速把握书中内容。
微课视频,讲解详尽。为便于读者直观感受程序开发的全过程,书中大部分章节都配备了教学微视频,使用手机扫描正文小节标题一侧的二维码,即可观看学习,能快速引导初学者入门,感受编程的快乐和成就感,进一步增强学习的信心。
实例典型,轻松易学。通过例子学习是最好的学习方式,本书通过一个知识点、一个例子、一个结果、一段评析、一个综合应用的模式,透彻详尽地讲述了实际开发中所需的各类知识。另外,为了便于读者阅读程序代码,快速学习编程技能,书中几乎每行代码都给出了注释。
精彩栏目,贴心提醒。本书根据需要在各章使用了很多注意说明等小栏目,让读者可以在学习过程中更轻松地理解相关知识点及概念,更快地掌握个别技术的应用技巧。
应用实践,随时练习。书中几乎每章都提供了实践与练习,读者能够通过对问题解答的重新回顾,熟悉所学的知识,并举一反三,从而为进一步学习做好充分的准备。
读者对象
初学编程的入门者;编程爱好者;大中专院校的老师和学生;相关培训机构的老师和学员;做毕业设计的学生;初、中级程序开发人员;程序测试及维护人员;参加实习的菜鸟程序员。
读者服务
学习本书时,请先扫描封底的权限二维码(需要刮开涂层)获取学习权限,然后即可免费学习书中的所有线上线下资源。本书所附赠的各类学习资源,读者可登录清华大学出版社网站,在对应图书页面下获取其下载方式。也可扫描图书封底的文泉云盘二维码,获取其下载方式。为了方便解决本书疑难问题,读者朋友可加我们的企业QQ,也可以登录明日科技官方网站留言,我们将竭诚为您服务。
致读者
本书由明日科技C程序开发团队组织编写,明日科技是一家专业从事软件开发、教育培训以及软件开发教育资源整合的高科技公司,其编写的教材既注重选取软件开发中的必需、常用内容,又注重内容的易学、方便以及相关知识的拓展,深受读者喜爱。其编写的教材多次荣获全行业优秀畅销品种中国大学出版社优秀畅销书等奖项,多个品种长期位居同类图书销售排行榜的前列。
在编写本书的过程中,我们始终本着科学、严谨的态度,力求精益求精,但错误、疏漏之处在所难免,敬请广大读者批评指正。感谢您购买本书,希望本书能成为您编程路上的领航者。零门槛编程,一切皆有可能。祝读书快乐!
|
|