1天学通C++ 第8版 C 语言教程书少儿编程零基础入门书籍儿童计算机电脑程序设计自学基础教材程序员pdf下载

1天学通C++ 第8版 C 语言教程书少儿编程零基础入门书籍儿童计算机电脑程序设计自学基础教材程序员百度网盘pdf下载

作者:
简介:1天学通C++ 第8版 C 语言教程书少儿编程零基础入门书籍儿童计算机电脑程序设计自学基础教材程序员
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

商品基本信息,请以下列介绍为准
商品名称:   21天学通C++ 第8版
作者:  【美】悉达多
市场价:   79.00元
ISBN号:   9787115465887
出版社:   人民邮电出版社
商品类型:   图书

  编辑推荐
通过阅读本书,读者可快速掌握C 的基本知识并学习其中更高级的功能和概念。本书根据C 14标准进行了全面修订,展望了C 17,并从实用的角度诠释C 语言,帮助读者学习如何使用它创建速度更快、更简洁、更高效的C 应用程序。 掌握C 和面向对象编程的基本知识。 理解如何使用lambda表达式、移动构造函数和赋值运算符等C 功能编写简洁、高效的代码。 学习C 编程的实践并避开常见的陷阱。 学习标准模板库,包括大多数真实C 应用程序都要用到的容器和算法。 使用每章末尾的练习来检验对知识的掌握程度。 本书特色: 无需任何编程经验; 编写速度更快、功能更强大的C 程序,编译源代码并创建可执行文件; 学习封装、抽象、继承和多态等面向对象编程概念; 使用标准模板库中的算法和容器编写功能丰富而稳定的C 应用程序; 学习自动类型推断是如何帮助简化C 代码的; 使用lambda表达式、智能指针和移动构造函数完成复杂的编程工作; 通过向编程专家学习,掌握C 功能; 学习能够用来编写出简洁且高性能应用程序的C 功能; 展望C 17有望引入的新功能。 读者可通过www.epubit.com.cn book details 4780下载本书源代码。 

  目录
第1章 绪论 1
1.1 C 简史 1
1.1.1 与C语言的关系 1
1.1.2 C 的优点 1
1.1.3 C 标准的发展历程 2
1.1.4 哪些人使用C 程序 2
1.2 编写C 应用程序 2
1.2.1 生成可执行文件的步骤 2
1.2.2 分析并修复错误 2
1.2.3 集成开发环境 3
1.2.4 编写个C 应用程序 3
1.2.5 生成并执行个C 应用程序 4
1.2.6 理解编译错误 5
1.3 C 新增的功能 5
1.4 总结 5
1.5 问与答 6
1.6 作业 6
1.6.1 测验 6
1.6.2 练习 6
第2章 C 程序的组成部分 8
2.1 Hello World程序的组成部分 8
2.1.1 预处理器编译指令#include 9
2.1.2 程序的主体—main( ) 9
2.1.3 返回值 10
2.2 名称空间的概念 10
2.3 C 代码中的注释 11
2.4 C 函数 12
2.5 使用std::cin和std::cout执行基本输入
输出操作 14
2.6 总结 15
2.7 问与答 15
2.8 作业 15
2.8.1 测验 16
2.8.2 练习 16
第3章 使用变量和常量 17
3.1 什么是变量 17
3.1.1 内存和寻址概述 17
3.1.2 声明变量以访问和使用内存 17
3.1.3 声明并初始化多个类型相同的
变量 19
3.1.4 理解变量的作用域 19
3.1.5 全局变量 20
3.1.6 命名约定 22
3.2 编译器支持的常见C 变量类型 22
3.2.1 使用bool变量存储布尔值 23
3.2.2 使用char变量存储字符 23
3.2.3 有符号整数和无符号整数的
概念 24
3.2.4 有符号整型short、int、long和
long long 24
3.2.5 无符号整型unsigned short、unsigned int、unsigned long和unsigned long long 25
3.2.6 选择正确的数据类型以免发生
溢出错误 25
3.2.7 浮点类型float和double 26
3.3 使用sizeof确定变量的长度 26
3.4 使用auto自动推断类型 28
3.5 使用typedef替换变量类型 29
3.6 什么是常量 30
3.6.1 字面常量 30
3.6.2 使用const将变量声明为常量 30
3.6.3 使用constexpr定义常量表达式 31
3.6.4 枚举 32
3.6.5 使用#define定义常量 34
3.7 不能用作常量或变量名的关键字 34
3.8 总结 35
3.9 问与答 36
3.10 作业 37
3.10.1 测验 37
3.10.2 练习 37
第4章 管理数组和字符串 38
4.1 什么是数组 38
4.1.1 为何需要数组 38
4.1.2 声明和初始化静态数组 39
4.1.3 数组中的数据是如何存储的 39
4.1.4 访问存储在数组中的数据 40
4.1.5 修改存储在数组中的数据 41
4.2 多维数组 43
4.2.1 声明和初始化多维数组 44
4.2.2 访问多维数组中的元素 44
4.3 动态数组 45
4.4 C风格字符串 46
4.5 C 字符串:使用std::string 48
4.6 总结 50
4.7 问与答 50
4.8 作业 50
4.8.1 测验 51
4.8.2 练习 51
第5章 使用表达式、语句和运算符 52
5.1 语句 52
5.2 复合语句(语句块) 53
5.3 使用运算符 53
5.3.1 赋值运算符(=) 53
5.3.2 理解左值和右值 53
5.3.3 加法运算符( )、减法运算符( )、乘法运算符(*)、除法运算符( )和求模运算符(%) 53
5.3.4 递增运算符( )和递减运算符( ) 54
5.3.5 前缀还是后缀 55
5.3.6 相等运算符(==)和不等运算符(!=) 56
5.3.7 关系运算符 56
5.3.8 逻辑运算NOT、AND、OR和XOR 58
5.3.9 使用C 逻辑运算NOT(!)、AND(&&)和OR() 59
5.3.10 按位运算符NOT(~)、AND(&)、OR()和XOR(^) 63
5.3.11 按位右移运算符(>>)和左移运算符(<<) 64
5.3.12 复合赋值运算符 65
5.3.13 使用运算符sizeof确定变量占用
的内存量 67
5.3.14 运算符优先级 68
5.4 总结 69
5.5 问与答 69
5.6 作业 70
5.6.1 测验 70
5.6.2 练习 70
第6章 控制程序流程 71
6.1 使用if…else有条件地执行 71
6.1.1 使用if…else进行条件编程 72
6.1.2 有条件地执行多条语句 73
6.1.3 嵌套if语句 74
6.1.4 使用switch-case进行条件处理 77
6.1.5 使用运算符 :进行条件处理 80
6.2 在循环中执行代码 81
6.2.1 不成熟的goto循环 81
6.2.2 while循环 83
6.2.3 do…while循环 84
6.2.4 for循环 86
6.2.5 基于范围的for循环 88
6.3 使用continue和break修改循环的行为 90
6.3.1 不结束的循环—无限循环 90
6.3.2 控制无限循环 91
6.4 编写嵌套循环 93
6.4.1 使用嵌套循环遍历多维数组 94
6.4.2 使用嵌套循环计算斐波纳契数列 95
6.5 总结 96
6.6 问与答 96
6.7 作业 97
6.7.1 测验 97
6.7.2 练习 97
第7章 使用函数组织代码 99
7.1 为何需要函数 99
7.2 使用函数处理不同类型的数据 107
7.3 微处理器如何处理函数调用 111
7.4 总结 115
7.5 问与答 116
7.6 作业 116
7.6.1 测验 116
7.6.2 练习 116
第8章 阐述指针和引用 118
8.1 什么是指针 118
8.2 动态内存分配 125
8.3 使用指针时常犯的编程错误 133
8.4 指针编程实践 137
8.5 引用是什么 137
8.6 总结 140
8.7 问与答 141
8.8 作业 142
第9章 类和对象 144
9.1 类和对象 144
9.2 关键字public和private 147
9.3 构造函数 150
9.4 析构函数 157
9.5 复制构造函数 160
9.6 构造函数和析构函数的其他用途 166
9.7 this指针 172
9.8 将sizeof( )用于类 173
9.9 结构不同于类的地方 175
9.10 声明友元 176
9.11 共用体:一种特殊的数据存储机制 178
9.12 对类和结构使用聚合初始化 180
9.13 总结 183
9.14 问与答 183
9.15 作业 184
第10章 实现继承 185
10.1 继承基础 185
10.2 私有继承 200
10.3 保护继承 202
10.4 切除问题 205
10.5 多继承 205
10.6 使用final禁止继承 207
10.7 总结 208
10.8 问与答 208
10.9 作业 208
第11章 多态 210
11.1 多态基础 210
11.2 使用虚继承解决菱形问题 222
11.3 表明覆盖意图的限定符override 225
11.4 使用final来禁止覆盖函数 226
11.5 可将复制构造函数声明为虚函数吗 227
11.6 总结 230
11.7 问与答 230
11.8 作业 231
第12章 运算符类型与运算符重载 232
12.1 C 运算符 232
12.2 单目运算符 233
12.3 双目运算符 239
12.4 函数运算符operator() 253
12.5 用于高性能编程的移动构造函数和移动赋值运算符 254
12.6 用户定义的字面量 258
12.7 不能重载的运算符 260
12.8 总结 261
12.9 问与答 261
12.10 作业 261
第13章 类型转换运算符 262
13.1 为何需要类型转换 262
13.2 为何有些C 程序员不喜欢C风格
类型转换 263
13.3 C 类型转换运算符 263
13.5 总结 269
13.6 问与答 269
13.7 作业 270
第14章 宏和模板简介 271
14.1 预处理器与编译器 271
14.2 使用#define定义常量 271
14.3 使用#define编写宏函数 274
14.4 模板简介 278
14.5 总结 291
14.6 问与答 291
14.7 作业 291
第15章 标准模板库简介 293
15.1 STL容器 293
15.3 STL算法 295
15.4 使用迭代器在容器和算法之间交互 295
15.5 选择正确的容器 297
15.6 STL字符串类 298
15.7 总结 298
15.8 问与答 299
15.9 作业 299
第16章 STL string类 300
16.1 为何需要字符串操作类 300
16.2 使用STL string类 301
16.3 基于模板的STL string实现 311
16.4 总结 312
16.5 问与答 312
16.6 作业 313
第17章 STL动态数组类 314
17.1 std::vector的特点 314
17.2 典型的vector操作 314
17.3 理解大小和容量 322
17.4 STL deque 类 324
17.5 总结 326
17.6 问与答 326
17.7 作业 327
第18章 STL list和forward_list 328
18.1 std::list的特点 328
18.2 基本的list操作 328
18.3 对list中的元素进行反转和排序 334
18.4 总结 341
18.5 问与答 342
18.6 作业 342
第19章 STL集合类 343
19.1 简介 343
19.2 STL set和multiset的基本操作 344
19.3 使用STL set和multiset的优缺点 352
19.4 总结 354
19.5 问与答 355
19.6 作业 355
第20章 STL映射类 356
20.1 STL映射类简介 356
20.2 STL map和multimap的基本操作 357
20.3 提供自定义的排序谓词 365
20.4 基于散列表的STL键-值对容器 368
20.5 总结 372
20.6 问与答 372
20.7 作业 372
第21章 理解函数对象 374
21.1 函数对象与谓词的概念 374
21.2 函数对象的典型用途 374
21.3 总结 383
21.4 问与答 384
21.5 作业 384
第22章 lambda表达式 385
22.1 lambda表达式是什么 385
22.2 如何定义lambda表达式 386
22.3 一元函数对应的lambda表达式 386
22.4 一元谓词对应的lambda表达式 387
22.5 通过捕获列表接受状态变量的lambda
表达式 388
22.6 lambda表达式的通用语法 390
22.7 二元函数对应的lambda表达式 391
22.8 二元谓词对应的lambda表达式 392
22.9 总结 394
22.10 问与答 394
22.11 作业 395
第23章 STL算法 396
23.1 什么是STL算法 396
23.2 STL算法的分类 396
23.3 使用STL算法 398
23.4 总结 419
23.5 问与答 419
23.6 作业 419
第24章 自适应容器:栈和队列 421
24.1 栈和队列的行为特征 421
24.2 使用STL stack类 422
24.3 使用STL queue类 425
24.4 使用STL优先级队列 428
24.5 总结 432
24.6 问与答 432
24.7 作业 432
第25章 使用STL位标志 433
25.1 bitset类 433
25.2 使用std::bitset及其成员 434
25.3 vector 437
25.4 总结 439
25.5 问与答 439
25.6 作业 439
第26章 理解智能指针 441
26.1 什么是智能指针 441
26.2 智能指针是如何实现的 442
26.3 智能指针类型 443
26.4 深受欢迎的智能指针库 449
26.5 总结 449
26.6 问与答 449
26.7 作业 450
第27章 使用流进行输入和输出 451
27.1 流的概述 451
27.2 重要的C 流类和流对象 452
27.3 使用std::cout将指定格式的数据写入控制台 453
27.4 使用std::cin进行输入 455
27.5 使用std::fstream处理文件 458
27.6 使用std::stringstream对字符串进行
转换 463
27.7 总结 464
27.8 问与答 464
27.9 作业 465
第28章 异常处理 466
28.1 什么是异常 466
28.2 导致异常的原因 466
28.3 使用try和catch捕获异常 467
28.4 异常处理的工作原理 470
28.5 总结 474
28.6 问与答 474
28.7 作业 475
第29章 继续前行 477
29.1 当今的处理器有何不同 477
29.2 如何更好地利用多个内核 478
29.3 编写杰出的C 代码 480
29.4 C 17有望引入的新特性 481
29.5 更深入地学习C 484
29.6 总结 485
29.7 问与答 485
29.8 作业 485
附录A 二进制和十六进制 486
A.1 十进制 486
A.2 二进制 486
A.2.1 计算机为何使用二进制 487
A.2.2 位和字节 487
A.2.3 1KB相当于多少字节 487
A.3 十六进制 487
A.4 不同进制之间的转换 488
A.4.1 通用转换步骤 488
A.4.2 从十进制转换为二进制 488
A.4.3 从十进制转换为十六进制 489
附录B C 关键字 490
附录C 运算符优先级 491
附录D ASCII码 492
附录E 答案 495

  内容简介
《21天学通C (第8版)》通过大量短小精悍的程序详细而全*地阐述了C 基本概念和技术,以及C 11、C 14和C 17新增的功能,包括管理输入 输出、循环和数组、面向对象编程、模板、使用标准模板库、列表初始化、lambda表达式、自动类型推断等。这些内容被组织成结构合理、联系紧密的章节,每章都可在1小时内阅读完毕;每章都提供了示例程序清单,并辅以示例输出和代码分析,以阐述该章介绍的主题。为加深读者对所学内容的理解,每章末尾都提供了常见问题及其答案以及练习和测验。读者可对照附录E提供的测验和练习答案,了解自己对所学内容的掌握程度。 《21天学通C (第8版)》是针对C 初学者编写的,不要求读者有C语言方面的背景知识,可作为高等院校教授C 课程的教材,也可供初学者自学C 时使用。