- 商品参数
-
- 作者:
明日科技著
- 出版社:清华大学出版社
- 出版时间:1
- 开本:16开
- ISBN:9783097956102
- 版权提供:清华大学出版社
店铺公告
为保障消费者合理购买需求及公平交易机会,避免因非生活消费目的的购买货囤积商品,抬价转售等违法行为发生,店铺有权对异常订单不发货且不进行赔付。异常订单:包括但不限于相同用户ID批量下单,同一用户(指不同用户ID,存在相同/临近/虚构收货地址,或相同联系号码,收件人,同账户付款人等情形的)批量下单(一次性大于5本),以及其他非消费目的的交易订单。
温馨提示:请务必当着快递员面开箱验货,如发现破损,请立即拍照拒收,如验货有问题请及时联系在线客服处理,(如开箱验货时发现破损,所产生运费由我司承担,一经签收即为货物完好,如果您未开箱验货,一切损失就需要由买家承担,所以请买家一定要仔细验货)。
关于退货运费:对于下单后且物流已发货货品在途的状态下,原则上均不接受退货申请,如顾客原因退货需要承担来回运费,如因产品质量问题(非破损问题)可在签收后,联系在线客服。
书名: | C++从入门到精通(第5版) |
出版社: | 清华大学出版社 |
出版日期 | 2021 |
ISBN号: | 9787302589464 |
|
《C++从入门到精通(第5版)》从初学者角度出发,以通俗易懂的语言和丰富多彩的实例,详细讲解了C++程序开发需要掌握的知识。本书分为4篇共18章:第1篇是基础知识,包括绪论,数据类型,运算符与表达式,条件判断语句,循环语句,函数,数组、指针和引用,以及构造数据类型;第2篇是核心技术,包括面向对象编程,类和对象,以及继承与派生;第3篇是高级应用,包括模板、标准模板库、RTTI与异常处理、程序调试、文件操作和网络通信;第4篇是项目实战,结合人事考勤管理系统,依照软件项目的开发流程,讲述如何进行实际开发。书中所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,读者可以轻松领会C++的强大功能,快速提高开发能力。 |
|
明日科技,全称是吉林省明日科技有限公司,是一家专业从事软件开发、教育培训以及软件开发教育资源整合的高科技公司,其编写的教材非常注重选取软件开发中的必需、常用内容,同时也很注重内容的易学、方便性以及相关知识的拓展性,深受读者喜爱。其教材多次荣获“全行业优秀畅销品种”“全国高校出版社优秀畅销书”等奖项,多个品种长期位居同类图书销售排行榜的前列。 |
|
“软件开发视频大讲堂”丛书是清华社计算机专业基础类零售图书最畅销的品牌之一。 (1)丛书累计销售400万册,深受广大开发者喜爱。 (2)4本荣获“全行业优畅销书”奖,1本荣获清华社“专业畅销书”一等奖。 (3)绝大多数品种在“全国计算机零售图书排行榜”同品种排行中名列前茅。 (4)实用、易懂、资源丰富,被数百所高校选为专业课教材。 《C++从入门到精通(第5版)》以常用的开发环境Visual C++ 6.0和Visual Studio 2019为基础,图书特点如下。 1. 学通C++只需要4步:基础知识→核心技术→高级应用→项目实战,符合认知规律。 2. 97集教学微课视频+强化实战训练+在线答疑,适合自学。 3. 178个应用示例+122个编程训练+53个实践练习+1个项目案例,学习1小时,训练10小时,练出编程习惯,你就能成为C++高手。 4. 赠送强大的Visual C++开发资源库资源,助你夯实基础,精准,有效,速练。 (1)实例资源库+源码资源库:881个实例及源码详细分析,多读源码,快速成长。 (2)模块资源库:15个经典模块开发过程完整展现,拿来改改就能用。 (3)项目资源库:15个企业项目开发过程的完整展现,反复揣摩,触类旁通。 (4)面试资源库:371道企业面试真题+面试技巧,合理职业规划,快速转岗就业。 (5)测试题库系统:616道能力测试题,由易到难,准确判断自己的真实水平,更有针对性地学习。 5. 在线解答,高效学习。 (1)企业QQ、QQ群在线答疑,明日学院社区答疑。 (2)清大文森学堂在线直播答疑。 |
|
第1篇 基础知识 第1章 绪论 2 视频讲解:28分钟 1.1 C++历史背景 2 1.1.1 计算机—20世纪最伟大的发明 2 1.1.2 C++发展历程 3 1.1.3 C++领域杰出人物 3 1.2 常用开发环境 5 1.2.1 Visual C++ 6.0 5 1.2.2 Visual Studio 2019 5 1.2.3 GCC/G++ 5 1.2.4 Dev-C 6 1.2.5 Eclipse 6 1.3 认知C++程序代码 7 1.4 C++工程项目文件 8 1.5 使用Visual C++ 6.0创建程序 9 1.6 编译与连接过程 11 1.7 C++的特点 13 1.8 小结 13 第2章 数据类型 14 视频讲解:162分钟 2.1 第一个C++程序 14 2.1.1 #include指令 15 2.1.2 注释 15 2.1.3 main函数 15 2.1.4 函数体 15 2.1.5 函数返回值 16 2.2 常量及符号 16 2.2.1 整型常量 16 2.2.2 实型常量 17 2.2.3 字符常量 17 2.2.4 字符串常量 18 2.2.5 其他常量 18 2.3 变量 19 2.3.1 标识符 19 2.3.2 变量与变量声明 20 2.3.3 整型变量 20 2.3.4 实型变量 21 2.3.5 变量赋值 21 2.3.6 变量赋初值 22 2.3.7 字符变量 22 2.4 常用数据类型 23 2.4.1 整数类型 24 2.4.2 浮点类型 24 2.4.3 字符类型 25 2.4.4 布尔类型 25 2.5 数据输入与输出 25 2.5.1 控制台屏幕 26 2.5.2 C++语言中的流 26 2.5.3 流操作的控制 28 2.6 小结 34 2.7 实践与练习 34 第3章 运算符与表达式 36 视频讲解:133分钟 3.1 运算符 36 3.1.1 算术运算符 37 3.1.2 关系运算符 38 3.1.3 逻辑运算符 39 3.1.4 赋值运算符 40 3.1.5 位运算符 41 3.1.6 移位运算符 42 3.1.7 sizeof运算符 44 3.1.8 条件运算符 45 3.1.9 逗号运算符 45 3.2 结合性和优先级 45 3.3 表达式 46 3.3.1 算术表达式 47 3.3.2 关系表达式 47 3.3.3 条件表达式 47 3.3.4 赋值表达式 48 3.3.5 逻辑表达式 48 3.3.6 逗号表达式 48 3.3.7 表达式中的类型转换 49 3.4 语句 52 3.5 判断左值与右值 53 3.6 小结 53 3.7 实践与练习 54 第4章 条件判断语句 55 视频讲解:98分钟 4.1 决策分支 55 4.2 判断语句 56 4.2.1 简单if语句 56 4.2.2 if…else判断语句 58 4.2.3 else if判断语句 59 4.3 使用条件运算符进行判断 61 4.4 switch语句 63 4.5 判断语句的嵌套 67 4.6 小结 69 4.7 实践与练习 69 第5章 循环语句 71 视频讲解:85分钟 5.1 while循环 71 5.2 do...while循环 73 5.3 while与do…while比较 75 5.4 for循环 76 5.5 循环控制 80 5.5.1 循环控制变量 80 5.5.2 break语句 81 5.5.3 continue语句 82 5.5.4 goto语句 83 5.6 循环嵌套 84 5.7 小结 86 5.8 实践与练习 87 第6章 函数 89 视频讲解:203分钟 6.1 函数概述 89 6.1.1 函数的定义 89 6.1.2 函数的声明 90 6.2 函数参数及返回值 91 6.2.1 返回值 91 6.2.2 空函数 92 6.2.3 形参与实参 93 6.2.4 默认参数 93 6.2.5 可变参数 94 6.3 函数调用 95 6.3.1 传值调用 96 6.3.2 嵌套调用 97 6.3.3 递归调用 98 6.4 变量作用域 101 6.5 重载函数 102 6.6 内联函数 103 6.7 变量的存储类别 104 6.7.1 auto变量 104 6.7.2 static变量 106 6.7.3 register变量 107 6.7.4 extern变量 107 6.8 小结 108 6.9 实践与练习 108 第7章 数组、指针和引用 110 视频讲解:245分钟 7.1 一维数组 110 7.1.1 一维数组的声明 110 7.1.2 一维数组元素的引用 111 7.1.3 一维数组的初始化 111 7.2 二维数组 113 7.2.1 二维数组的声明 113 7.2.2 二维数组元素的引用 113 7.2.3 二维数组的初始化 114 7.3 字符数组 116 7.4 指针 122 7.4.1 变量与指针 122 7.4.2 指针运算符和取地址运算符 126 7.4.3 指针运算 127 7.4.4 指向空的指针与空类型指针 128 7.4.5 指向常量的指针与指针常量 129 7.5 指针与数组 131 7.5.1 数组的存储 131 7.5.2 指针与一维数组 131 7.5.3 指针与二维数组 133 7.5.4 指针与字符数组 137 7.6 指针在函数中的应用 139 7.6.1 传递地址 139 7.6.2 指向函数的指针 140 7.6.3 空指针调用函数 142 7.6.4 从函数中返回指针 142 7.7 指针数组 144 7.8 安全使用指针 146 7.8.1 内存分配 146 7.8.2 内存安全 148 7.9 引用 151 7.9.1 引用概述 151 7.9.2 使用引用传递参数 153 7.9.3 指针传递参数 154 7.9.4 数组做函数参数 155 7.10 小结 157 7.11 实践与练习 157 第8章 构造数据类型 159 视频讲解:96分钟 8.1 结构体 159 8.1.1 结构体定义 159 8.1.2 结构体变量 160 8.1.3 结构体成员及初始化 161 8.1.4 结构体的嵌套 163 8.1.5 结构体大小 165 8.2 重命名数据类型 166 8.3 结构体与函数 168 8.3.1 结构体变量做函数参数 168 8.3.2 结构体指针做函数参数 169 8.4 结构体数组 170 8.4.1 结构体数组声明与引用 170 8.4.2 指针访问结构体数组 171 8.5 共用体 172 8.5.1 共用体的定义与声明 172 8.5.2 共用体的大小 173 8.5.3 共用体的特点 174 8.6 枚举类型 175 8.6.1 枚举类型的声明 175 8.6.2 枚举类型变量 176 8.6.3 枚举类型的运算 177 8.7 自定义数据类型 178 8.8 使用宏定义替换复杂的数据 179 8.9 小结 183 8.10 实践与练习 183 第2篇 核心技术 第9章 面向对象编程 186 视频讲解:39分钟 9.1 面向对象概述 186 9.2 面向对象编程与面向过程编程 187 9.2.1 面向过程编程 187 9.2.2 面向对象编程 188 9.2.3 面向对象的特点 188 9.3 统一建模语言 189 9.3.1 统一建模语言概述 189 9.3.2 统一建模语言的结构 189 9.3.3 面向对象的建模 190 9.4 小结 191 第10章 类和对象 192 视频讲解:197分钟 10.1 C++类 192 10.1.1 类的概述 192 10.1.2 类的声明与定义 193 10.1.3 类的实现 194 10.1.4 对象的声明 198 10.2 构造函数 200 10.2.1 构造函数概述 200 10.2.2 复制构造函数 201 10.3 析构函数 203 10.4 类成员 206 10.4.1 访问类成员 206 10.4.2 内联成员函数 207 10.4.3 静态类成员 208 10.4.4 隐藏的this指针 210 10.4.5 嵌套类 211 10.4.6 局部类 212 10.5 友元 213 10.5.1 友元概述 213 10.5.2 友元类 215 10.5.3 友元方法 216 10.6 命名空间 218 10.6.1 使用命名空间 218 10.6.2 定义命名空间 219 10.6.3 在多个文件中定义命名空间 221 10.6.4 定义嵌套的命名空间 222 10.6.5 定义未命名的命名空间 224 10.7 小结 224 10.8 实践与练习 224 第11章 继承与派生 226 视频讲解:112分钟 11.1 继承 226 11.1.1 类的继承 226 11.1.2 继承后可访问性 228 11.1.3 构造函数访问顺序 231 11.1.4 子类显示调用父类构造函数 232 11.1.5 子类隐藏父类的成员函数 234 11.2 重载运算符 236 11.2.1 重载运算符的必要性 236 11.2.2 重载运算符的形式与规则 238 11.2.3 重载运算符的运算 240 11.2.4 转换运算符 242 11.3 多重继承 243 11.3.1 多重继承定义 243 11.3.2 二义性 245 11.3.3 多重继承的构造顺序 245 11.4 多态 247 11.4.1 虚函数概述 247 11.4.2 利用虚函数实现动态绑定 248 11.4.3 虚继承 249 11.5 抽象类 251 11.5.1 纯虚函数 251 11.5.2 实现抽象类中的成员函数 253 11.6 小结 254 11.7 实践与练习 255 第3篇 高级应用 第12章 模板 258 视频讲解:32分钟 12.1 函数模板 258 12.1.1 函数模板的定义 258 12.1.2 函数模板的作用 259 12.1.3 重载函数模板 261 12.2 类模板 262 12.2.1 类模板的定义与声明 262 12.2.2 简单类模板 264 12.2.3 默认模板参数 265 12.2.4 为具体类型的参数提供默认值 266 12.2.5 有界数组模板 267 12.3 模板的使用 269 12.3.1 定制类模板 269 12.3.2 定制类模板成员函数 270 12.4 链表类模板 272 12.4.1 链表 272 12.4.2 链表类模板的使用 274 12.4.3 类模板的静态数据成员 277 12.5 小结 278 12.6 实践与练习 279 第13章 标准模板库 280 视频讲解:38分钟 13.1 几种常见数据结构 280 13.1.1 简述STL 280 13.1.2 顺序线性结构 281 13.1.3 基本操作 281 13.1.4 栈结构 281 13.1.5 队列结构 281 13.1.6 链表结构 282 13.1.7 图结构 282 13.2 序列容器 282 13.2.1 对比容器适配器与容器 283 13.2.2 对比迭代器与容器 283 13.2.3 向量类模板 284 13.2.4 双端队列类模板 287 13.2.5 链表类模板 289 13.3 结合容器 292 13.3.1 set类模板 292 13.3.2 multiset类模板 296 13.3.3 map类模板 300 13.3.4 multimap类模板 302 13.4 算法 303 13.4.1 非修正序列算法 303 13.4.2 修正序列算法 305 13.4.3 排序算法 309 13.4.4 数值算法 315 13.5 迭代器 319 13.5.1 输出迭代器 319 13.5.2 输入迭代器 319 13.5.3 前向迭代器 320 13.5.4 双向迭代器 321 13.5.5 随机访问迭代器 321 13.6 小结 323 13.7 实践与练习 323 第14章 RTTI与异常处理 324 视频讲解:18分钟 14.1 RTTI 324 14.1.1 RTTI的定义 324 14.1.2 RTTI与引用 326 14.1.3 RTTI与多重继承 326 14.1.4 RTTI映射语法 327 14.2 异常处理 329 14.2.1 抛出异常 330 14.2.2 捕获异常 331 14.2.3 异常匹配 334 14.2.4 标准异常 335 14.3 小结 336 第15章 程序调试 337 视频讲解:21分钟 15.1 选择正确的调试方法 337 15.2 程序错误的常见类型 338 15.2.1 语法错误 338 15.2.2 连接错误 339 15.2.3 运行时错误 339 15.2.4 逻辑错误 340 15.3 调试工具的使用 340 15.3.1 创建调试程序 340 15.3.2 进入调试状态 341 15.3.3 调试相关窗口 342 15.4 调试的基本应用 343 15.4.1 变量的跟踪与查看 343 15.4.2 位置断点的使用 344 15.4.3 数据断点的使用 346 15.5 调试的高级应用 347 15.5.1 在调试时修改变量的值 347 15.5.2 在循环中调试 348 15.6 小结 349 第16章 文件操作 350 视频讲解:35分钟 16.1 C++流概述 350 16.1.1 C++中的流类库 350 16.1.2 类库的使用 351 16.1.3 ios类中的枚举常量 351 16.1.4 流的输入/输出 352 16.2 文件打开 353 16.2.1 打开方式 353 16.2.2 默认打开模式 354 16.2.3 打开文件同时创建文件 354 16.3 文件的读写 355 16.3.1 文件流 355 16.3.2 写文本文件 357 16.3.3 读取文本文件 357 16.3.4 二进制文件的读写 359 16.3.5 实现文件复制 360 16.4 文件指针移动操作 361 16.4.1 文件错误与状态 361 16.4.2 文件的追加 362 16.4.3 文件结尾的判断 363 16.4.4 在指定位置读写文件 364 16.5 文件和流的关联和分离 365 16.6 删除文件 367 16.7 小结 367 16.8 实践与练习 367 第17章 网络通信 368 视频讲解:20分钟 17.1 TCP/IP协议 368 17.1.1 OSI参考模型 368 17.1.2 TCP/IP参考模型 369 17.1.3 IP地址 369 17.1.4 数据包格式 370 17.2 套接字 372 17.2.1 Winsock套接字 372 17.2.2 Winsock的使用 372 17.2.3 套接字阻塞模式 377 17.2.4 字节顺序 377 17.2.5 面向连接流 377 17.2.6 面向无连接流 378 17.3 简单协议通信 379 17.3.1 服务器端 379 17.3.2 客户端 381 17.3.3 实例的运行 382 17.4 小结 383 17.5 实践与练习 383 第4篇 项目实战 第18章 人事考勤管理系统 386 视频讲解:89分钟 18.1 开发背景 386 18.2 需求分析 387 18.3 系统设计 387 18.3.1 系统目标 387 18.3.2 系统功能结构 387 18.3.3 系统预览 387 18.3.4 业务流程图 388 18.3.5 数据库设计 389 18.4 公共模块设计 390 18.5 主窗体设计 395 18.6 用户登录模块设计 397 18.6.1 用户登录模块概述 397 18.6.2 用户登录技术分析 397 18.6.3 用户登录实现过程 398 18.7 用户管理模块设计 399 18.7.1 用户管理模块概述 399 18.7.2 用户管理技术分析 399 18.7.3 用户管理实现过程 400 18.7.4 单元测试 402 18.8 部门管理模块设计 403 18.8.1 部门管理模块概述 403 18.8.2 部门管理技术分析 403 18.8.3 部门管理实现过程 404 18.9 人员信息管理模块设计 406 18.9.1 人员信息管理模块概述 406 18.9.2 人员信息管理技术分析 406 18.9.3 人员信息管理实现过程 407 18.10 考勤管理模块设计 413 18.10.1 考勤管理模块概述 413 18.10.2 考勤管理技术分析 413 18.10.3 考勤管理实现过程 414 18.11 考勤汇总查询模块设计 420 18.11.1 考勤汇总查询模块概述 420 18.11.2 考勤汇总查询技术分析 420 18.11.3 考勤汇总查询实现过程 421 18.12 开发技巧与难点分析 424 18.12.1 调用动态链接库设计界面 424 18.12.2 主窗体的界面显示 425 18.13 小结 425 附录A Visual C++ 6.0 常用快捷键 426 A.1 Visual C++ 6.0菜单命令及功能 426 A.2 Visual C++ 6.0常用快捷键 428 附录B Visual Studio 2019简介 430 B.1 安装Visual Studio 2019 430 B.2 Visual Studio 2019开发环境介绍 433 B.3 Visual Studio 2019菜单功能 437 B.4 Visual Studio 2019常用快捷键 440 |
|
丛书说明:“软件开发视频大讲堂”丛书第1版于2008年8月出版,因其编写细腻,易学实用,配备海量学习资源和全程视频等,在软件开发类图书市场上产生了很大反响,绝大部分品种在全国软件开发零售图书排行榜中名列前茅,2009年多个品种被评为“全国优秀畅销书”。 “软件开发视频大讲堂”丛书第2版于2010年8月出版,第3版于2012年8月出版,第4版于2016年10月出版,第5版于2019年3月出版。丛书连续畅销12年,迄今累计重印650多次,销售400多万册。不仅深受广大程序员的喜爱,还被百余所高校选为计算机、软件等相关专业的教学参考用书。 “软件开发视频大讲堂”丛书第6版在继承前5版所有优点的基础上,进一步修正了疏漏,优化了图书内容,并根据读者建议替换了部分学习视频。同时,提供了从“入门学习→实例应用→模块开发→项目开发→能力测试→面试”等各个阶段的海量开发资源库,使之更适合读者学习、训练、测试。为了方便教学,还提供了教学课件PPT。 C++语言是在C语言基础上发展起来的,它在C语言基础上融入了许多新的编程理念,这些理念有利于程序的开发。从语言角度来说,C++语言是一个规范,它规范程序员如何进行面向对象程序开发。C++具有C语言操作底层的能力,同时还具有提高代码复用率的面向对象编程技术,是一种语句更加灵活、使用更加简捷、技术更加全面的编程利器。 本书内容 本书提供了从入门到编程高手所必需的各类知识,共分为4篇。 第1篇:基础知识。本篇讲解C++语言基础知识,具体包括C++语言的历史背景、常用开发环境,数据类型,运算符与表达式,条件判断语句,循环语句,函数,数组、指针和引用,以及构造数据类型。为帮助读者夯实语言基础,本篇结合流程图和实例,并通过视频的指导讲解。读者只有具备了牢固的基础才能更快地掌握更高级的内容。 第2篇:核心技术。本篇介绍C++语言面向对象编程方面的内容,帮助读者透彻理解什么是面向对象,如何应用类创建对象,什么是继承和派生,以及能够利用多态进行面向对象开发。 第3篇:高级应用。模板是标准模板库(STL)的基础,通过学习模板相关知识,读者能够理解STL的构造。通过学习运行时类型识别(RTTI),读者将对面向对象开发有更深的理解。程序调试和文件操作是程序开发过程中必不可少的技术,是企业项目开发的基础。网络通信是仅次于文件技术的另一项关键技术,通过多个实例,读者可以掌握基本的网络通信知识。 第4篇:项目实战。本篇运用软件工程的设计思想,开发了一个人事考勤管理系统。书中按照“需求分析→系统设计→公共模块设计→主窗体设计→实现项目各模块功能→总结开发技巧与难点”的流程进行介绍,带领读者一步一步亲身体验项目开发的全过程。 本书特点 由浅入深,循序渐进。本书以初、中级程序员为对象,带领读者从C++语言基础学起,再到C++语言的程序结构,然后学习C++语言的高级应用,最后学习开发一个完整的项目。讲解过程中步骤详尽,重点突出,实例丰富,将学与练很好地融合在了一起。 微课视频,讲解详尽。为便于读者直观感受程序开发的全过程,书中重要章节配备了教学微课视频(总时长27小时,共97集),使用手机扫描正文小节标题一侧的二维码,即可观看学习。便于初学者快速入门,感受编程的快乐和成就感,进一步增强学习的信心。 基础示例+编程训练+实践练习+项目案例,实战为王。通过例子学习是最好的学习方式,本书核心知识讲解通过“一个知识点、一个示例、一个结果、一段评析、一个综合应用”的模式,详尽透彻地讲述了实际开发中所需的各类知识。全书共计有178个应用示例,122个编程训练,53个实践练习,1个项目案例,为初学者打造“学习1小时,训练10小时”的强化实战学习环境。 精彩栏目,贴心提醒。本书设计了很多“注意”“说明”等小栏目,读者可以在学习过程中更轻松地理解相关知识点及概念,更快地掌握相关技术的应用技巧。 海量资源,可查可练。本书资源包提供了强大的“Visual C++开发资源库”系统,包含实例资源库(881个实例)、模块资源库(15个典型模块)、项目资源库(15个项目案例)、测试题库系统(616道能力测试题)和面试资源库(371道企业面试真题)。 读者对象 初学编程的自学者、编程爱好者、大中专院校的老师和学生、相关培训机构的老师和学员、毕业设计的学生、初中级程序开发人员、程序测试及维护人员、参加实习的“菜鸟”程序员。 读者服务 本书提供了大量的辅助学习资源,读者可扫描图书封底的“文泉云盘”二维码,或登录清华大学出版社网站,在对应图书页面下查阅各类学习资源的获取方式。 读者可先扫描图书封底的权限二维码(需要刮开涂层),获取学习权限,然后扫描各章节知识点、案例旁的二维码,观看对应的视频讲解。读者可扫码登录清大文森学堂,获取本书的源代码、微课视频、开发资源库等资源。同时,还可以获得更多的软件开发进阶学习资源、职业成长知识图谱等,技术上释疑解惑,职业上交流成长。 致读者 感谢您购买本书,希望本书能成为您编程路上的领航者。 “零门槛”学编程,一切皆有可能。 祝读书快乐! |
1