种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

C 程式设计教程第2版

(2019-06-14 08:40:19) 百科综合
C 程式设计教程第2版

C 程式设计教程第2版

《C 程式设计教程第2版》是2019年出版的图书,作者是皮德常。

基本介绍

  • 书名:C 程式设计教程第2版
  • ISBN:978-7-111-45476-2
  • 定价:39.0
  • 出版社:机械工业出版社 
  • 出版时间:2019-01-05
  • 开本:16开

出版信息

ISBN:978-7-111-45476-2
装订:
责编:
开本:16开
出版日期: 2019-01-05
字数:345 千字
定价:39.0

图书简介

全书以“程式设计”为主线,从材料取捨、内容表达方式、实例选取到习题和课程设计配置都以读者掌握“程式设计”的基本概念、方法和技巧为重点,并融入了作者多年的C++教学经验和软体工程实践经验,涵盖了“C++程式设计”必要的基础知识,系统地介绍了C++程式设计的基本概念、方法和技术。

图书目录

前言
教学建议
第1章 C++程式设计基础 1
1.1 为什幺要学习C++程式设计 1
1.2 简单的C++程式举例 2
1.3 注释方法 3
1.4 编程风格 3
1.5 C++程式的词法单位 3
1.5.1 C++程式中的字元 4
1.5.2 标识符 4
1.5.3 关键字 4
1.6 C++的基本数据类型 5
1.7 变数与常量 6
1.7.1 变数 6
1.7.2 文字常量 7
1.7.3 符号常量 8
1.7.4 常变数 9
1.8 运算符和表达式 9
1.8.1 算术运算符和算术表达式 9
1.8.2 初识运算符的优先权和结合性 9
1.8.3 赋值运算符和赋值表达式 10
1.8.4 自增、自减运算 11
1.8.5 关係运算符和关係表达式 11
1.8.6 逻辑运算符和逻辑表达式 12
1.8.7 位运算符及其表达式 13
1.8.8 逗号运算符与逗号表达式 15
1.8.9 sizeof运算符 15
1.8.10 C++的运算符优先权和结合性 16
1.9 语句 16
1.10 类型转换 17
1.10.1 赋值时的类型转换 17
1.10.2 混合运算时的类型转换 18
1.10.3 强制类型转换 19
1.11 简单的输出和输入方法 19
1.11.1 cout对象和cin对象 19
1.11.2 格式化输出 22
1.11.3 採用函式成员实现格式化输出 24
1.11.4 对函式成员的初步讨论 26
1.11.5 指定输入域宽 26
1.11.6 读取一行 27
1.11.7 读取一个字元 27
1.11.8 读取字元时易出错的地方 28
1.12 枚举类型 29
1.12.1 枚举类型的定义 29
1.12.2 枚举类型的变数 29
1.12.3 枚举类型的套用 30
思考与练习 31
第2章 C++的流程控制 32
2.1 算法的基本概念和表示方法 32
2.1.1 算法的基本概念 32
2.1.2 算法的表示 32
2.1.3 算法的三种基本结构 33
2.2 选择结构程式设计 34
2.2.1 基本的if语句 34
2.2.2 嵌套的if语句 36
2.2.3 条件运算符 38
2.2.4 switch语句 39
2.3 循环结构程式设计 41
2.3.1 while循环 41
2.3.2 do-while循环 42
2.3.3 for循环 42
2.3.4 循环嵌套 44
2.3.5 break语句 45
2.3.6 continue语句 46
2.3.7 应该少用的goto语句 47
2.4 程式设计套用举例 47
思考与练习 51
第3章 函式 54
3.1 函式的定义和调用 54
3.1.1 概述 54
3.1.2 定义函式 54
3.1.3 调用函式 55
3.2 函式的声明 57
3.3 函式的参数传递和返回值 58
3.3.1 函式参数的传递方式 58
3.3.2 函式的返回值 59
3.4 局部变数和全局变数 61
3.4.1 记忆体存储区的布局 61
3.4.2 局部变数 62
3.4.3 全局变数 62
3.4.4 局部变数与栈 63
3.5 变数的存储类别 64
3.5.1 auto修饰的变数 64
3.5.2 register修饰的变数 65
3.5.3 static修饰的变数 65
3.5.4 extern修饰的变数 66
3.6 默认参数 68
3.7 引用做参数 70
3.8 函式重载 71
3.9 函式模板 74
3.9.1 从函式重载到函式模板 74
3.9.2 定义函式模板的方法 77
3.9.3 函式模板重载 77
3.10 内联函式 78
3.11 函式的递归调用 79
3.12 函式的调试方法 84
3.13 编译预处理 85
3.13.1 宏定义 85
3.13.2 档案包含 87
3.13.3 条件编译 87
思考与练习 89
第4章 数组 92
4.1 一维数组 92
4.1.1 一维数组的定义和套用 92
4.1.2 引用一维数组元素 93
4.1.3 数组无越界检查 93
4.1.4 数组初始化 93
4.2 多维数组 95
4.2.1 二维数组的定义 95
4.2.2 二维数组的初始化 95
4.2.3 引用二维数组元素 96
4.3 数组做函式参数 97
4.3.1 数组元素做函式参数 97
4.3.2 数组名做函式参数 98
4.4 常用算法举例 99
4.5 字元数组与字元串 110
4.5.1 字元数组的定义 110
4.5.2 字元数组的初始化 111
4.5.3 字元串 111
4.5.4 字元数组的输入和输出 112
4.6 处理字元和字元串 113
4.6.1 处理字元的宏 113
4.6.2 处理C风格字元串的函式 114
4.6.3 自定义字元串处理函式 117
4.7 标準C++的string类 119
4.7.1 如何使用string类型 119
4.7.2 string对象的比较 120
4.7.3 string对象的初始化 120
4.7.4 string的函式成员 121
4.7.5 string对象套用举例 122
思考与练习 123
第5章 指针 125
5.1 指针的概念 125
5.2 指针变数 125
5.2.1 定义指针变数 125
5.2.2 运算符&和* 126
5.2.3 引用指针变数 127
5.3 指针与数组 129
5.3.1 指向数组元素的指针 129
5.3.2 指针的运算 130
5.3.3 二维数组与指针 132
5.4 指针与函式 136
5.4.1 基本类型的变数做函式形参 136
5.4.2 引用做函式形参 137
5.4.3 指针变数做函式形参 138
5.4.4 返回指针的函式 140
5.4.5 指向函式的指针 142
5.5 指针数组与指向指针的指针 143
5.5.1 指针数组 143
5.5.2 main函式的参数 146
5.5.3 指向指针的指针 146
5.5.4 再次讨论main函式的参数 147
5.6 记忆体的动态分配和释放 148
5.7 void和const修饰指针变数 151
5.7.1 void修饰指针 151
5.7.2 const修饰指针 152
5.8 对容易混淆概念的总结 153
思考与练习 155
第6章 结构体与鍊表 158
6.1 抽象数据类型 158
6.2 结构体的定义及套用 158
6.2.1 定义结构体类型 158
6.2.2 定义结构体类型的变数 159
6.2.3 初始化结构体类型的变数 161
6.2.4 结构体类型变数及其成员的引用 161
6.2.5 结构体数组与指针 164
6.3 用typedef定义类型 166
6.4 单向鍊表 167
6.4.1 鍊表的概念 167
6.4.2 带头结点的单向鍊表常用算法 169
思考与练习 174
第7章 档案操作 175
7.1 档案的基本概念 175
7.1.1 档案命名的原则 175
7.1.2 使用档案的基本过程 175
7.1.3 档案流类型 175
7.2 打开档案和关闭档案 176
7.2.1 打开档案 176
7.2.2 档案的打开模式 177
7.2.3 定义流对象时打开档案 178
7.2.4 测试档案打开是否成功 178
7.2.5 关闭档案 179
7.3 採用流操作符读写档案 179
7.3.1 採用“<<”操作符写档案 179
7.3.2 格式化输出在写档案中的套用 181
7.3.3 採用“>>”操作符从档案读数据 182
7.3.4 检测档案结束 183
7.4 流对象做参数 184
7.5 出错检测 186
7.6 採用函式成员读/写档案 187
7.6.1 採用“>>”操作符读档案的缺陷 188
7.6.2 採用函式getline读档案 188
7.6.3 採用函式get读档案 190
7.6.4 採用函式put写档案 191
7.7 多档案操作 191
7.8 二进制档案 193
7.8.1 二进制档案的操作 193
7.8.2 读/写结构体记录 194
7.9 随机访问档案 197
7.9.1 顺序访问档案的缺陷 197
7.9.2 定位函式seekp和seekg 197
7.9.3 返回位置函式tellp和tellg 200
7.10 输入/输出二进制档案综合举例 201
思考与练习 204
第8章 类的基础部分 206
8.1 面向过程程式设计与面向对象程式设计的区别 206
8.1.1 面向过程程式设计的缺陷 206
8.1.2 面向对象程式设计的基本思想 206
8.2 类的基本概念 208
8.3 定义函式成员 210
8.4 定义对象 211
8.4.1 访问对象的成员 211
8.4.2 指向对象的指针 211
8.4.3 引入私有成员的原因 213
8.5 类的多档案组织 213
8.6 私有函式成员的作用 215
8.7 内联函式 216
8.8 构造函式和析构函式 217
8.8.1 构造函式 218
8.8.2 析构函式 220
8.8.3 带参构造函式 221
8.8.4 构造函式套用举例——输入有效的对象 223
8.8.5 重载构造函式 225
8.8.6 默认构造函式的表现形式 226
8.9 对象数组 227
8.10 类的套用举例 230
8.11 抽象数组类型 234
8.11.1 创建抽象数组类型 234
8.11.2 扩充抽象数组类型 236
思考与练习 240
第9章 类的高级部分 241
9.1 静态成员 241
9.1.1 静态数据成员 241
9.1.2 静态函式成员 244
9.2 友元函式 246
9.2.1 外部函式作为类的友元 246
9.2.2 类的成员函式作为另外一个类的友元 247
9.2.3 一个类作为另外一个类的友元 250
9.3 对象赋值问题 251
9.4 拷贝构造函式 252
9.4.1 默认的拷贝构造函式 254
9.4.2 调用拷贝构造函式的情况 254
9.5 运算符重载 257
9.5.1 重载赋值运算符 257
9.5.2 this指针 259
9.5.3 重载双目算术运算符 262
9.5.4 重载单目算术运算符 264
9.5.5 重载关係运算符 265
9.5.6 重载流操作符“<<”和“>>” 265
9.5.7 重载类型转换运算符 267
9.5.8 重载操作符“[ ]” 271
9.5.9 重载运算符时要注意的问题 276
9.5.10 运算符重载综合举例——自定义string类 276
9.6 对象组合 283
思考与练习 284
第10章 继承、多态和虚函式 286
10.1 继承 286
10.2 保护成员和类的访问 290
10.3 构造函式和析构函式 293
10.3.1 默认构造函式和析构函式的调用 293
10.3.2 向基类的构造函式传参数 294
10.3.3 初始化列表的作用 296
10.4 覆盖基类的函式成员 297
10.5 虚函式 300
10.6 纯虚函式和抽象类 303
10.6.1 纯虚函式 303
10.6.2 抽象类 303
10.6.3 指向基类的指针 306
10.7 多重继承 307
10.8 多继承 308
10.9 类模板 311
10.9.1 定义类模板的方法 311
10.9.2 定义类模板的对象 313
10.9.3 类模板与继承 315
思考与练习 317
第11章 异常处理 320
11.1 异常 320
11.1.1 抛出异常 320
11.1.2 处理异常 321
11.2 基于对象的异常处理 322
11.3 捕捉多种类型的异常 324
11.4 通过异常对象获取异常信息 326
11.5 再次抛出异常 327
思考与练习 328
第12章 资料库程式设计 329
12.1 资料库简介 329
12.2 SQL语句 329
12.2.1 定义表 330
12.2.2 查询 330
12.2.3 插入 330
12.2.4 删除 330
12.2.5 修改 331
12.3 资料库连线 331
12.3.1 ODBC简介 331
12.3.2 ODBC驱动程式 331
12.3.3 创建数据源 331
12.4 资料库编程中的基本操作 333
12.4.1 资料库编程的基本过程 333
12.4.2 资料库查询 333
12.4.3 插入记录 334
12.4.4 修改记录 335
12.4.5 删除记录 336
12.5 资料库编程综合举例 336
思考与练习 342
课程设计 343
参考文献 347

标 签

搜索
随机推荐

Powered By 种豆资源网||