图书介绍
计算机程序设计基础 第3版pdf电子书版本下载
- 乔林编著 著
- 出版社: 北京:高等教育出版社
- ISBN:9787040477665
- 出版时间:2018
- 标注页数:303页
- 文件大小:43MB
- 文件页数:316页
- 主题词:C语言-程序设计-高等学校-教材
PDF下载
下载说明
计算机程序设计基础 第3版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第0章 C语言概述 1
0.1 C语言简介 2
0.1.1 C语言简史 2
0.1.2 C语言特点 2
0.2 程序设计的基本概念 3
0.2.1 程序 3
0.2.2 程序设计与程序设计语言 3
0.2.3 算法 4
0.2.4 数据与数据结构 4
0.3 简单C程序介绍 5
0.3.1 C程序实例 5
0.3.2 程序设计思维 8
0.3.3 C程序结构特点 9
0.4 程序设计的基本流程 9
0.4.1 源文件和头文件的编辑 10
0.4.2 源文件和头文件的编译 10
0.4.3 目标文件的连接 11
0.4.4 测试运行 11
本章小结 11
习题0 11
第1章 C语言基本语法元素 13
1.1 数据类型 14
1.1.1 整数类型 14
1.1.2 浮点数类型 14
1.1.3 字符串类型 16
1.2 量与表达式 17
1.2.1 表达式 17
1.2.2 变量 18
1.2.3 文字 19
1.2.4 常量 20
1.2.5 赋值与初始化 21
1.2.6 操作符与操作数 23
1.2.7 混合运算与类型转换 25
1.3 语句 27
1.3.1 简单语句 27
1.3.2 复合语句 28
1.3.3 空语句 29
1.4 基本输入输出函数 29
1.4.1 格式化输出函数 29
1.4.2 格式化输入函数 34
1.5 程序设计风格 35
1.5.1 注释 35
1.5.2 命名规范 37
1.5.3 宏与常量 38
1.5.4 赋值语句的简写形式 38
1.5.5 源程序排版 39
本章小结 40
习题1 40
第2章 程序流程控制 45
2.1 结构化程序设计基础 46
2.1.1 基本控制结构 46
2.1.2 顺序结构示例 47
2.2 布尔数据 48
2.2.1 枚举类型 48
2.2.2 用户自定义数据类型 50
2.2.3 关系表达式 50
2.2.4 逻辑表达式 51
2.2.5 逻辑表达式的求值 52
2.3 if分支结构 53
2.3.1 简单if语句 53
2.3.2 if-else语句 54
2.3.3 if-else if-else语句 55
2.4 switch分支结构 58
2.4.1 switch语句 58
2.4.2 分支结构的嵌套 61
2.5 while循环结构 63
2.5.1 while语句 63
2.5.2 循环控制 64
2.6 for循环结构 66
2.6.1 递增递减表达式 66
2.6.2 for语句 67
2.6.3 for与while的比较 68
2.6.4 循环嵌套 69
2.7 问题求解与结构化程序设计 70
2.7.1 问题规模与程序结构化 71
2.7.2 程序框架结构 71
2.7.3 程序范型 72
2.7.4 自顶向下逐步求精 73
本章小结 74
习题2 75
第3章 函数 79
3.1 函数声明与调用 80
3.1.1 函数调用 80
3.1.2 函数原型 81
3.2 函数定义 82
3.2.1 函数实现 82
3.2.2 函数返回值 83
3.2.3 谓词函数 84
3.3 函数调用规范 84
3.3.1 函数调用实例 85
3.3.2 参数传递机制 87
3.3.3 函数调用栈帧 88
3.3.4 函数嵌套调用 95
3.4 程序的结构化与模块化 96
3.4.1 结构化与函数抽象 96
3.4.2 模块化与函数抽象 97
3.5 程序测试与代码优化 98
3.5.1 程序测试 98
3.5.2 程序效率与代码优化 100
本章小结 101
习题3 101
第4章 算法 105
4.1 算法概念与特征 106
4.1.1 算法基本概念 106
4.1.2 算法基本特征 107
4.2 算法描述 108
4.2.1 伪代码 108
4.2.2 流程图 109
4.3 算法设计与实现 113
4.3.1 素性判定问题 113
4.3.2 最大公约数问题 117
4.4 递归算法 118
4.4.1 递归问题的引入 119
4.4.2 典型递归函数实例 119
4.4.3 递归函数调用的栈帧 121
4.4.4 递归信任 124
4.5 容错 128
4.5.1 数据有效性检查 129
4.5.2 程序流程的提前终止 130
4.5.3 断言与不变量 132
4.6 算法复杂度 133
4.6.1 引入复杂度的意义与目的 133
4.6.2 大O表达式 134
4.6.3 复杂度估计 135
本章小结 136
习题4 137
第5章 程序组织与软件工程 141
5.1 库与接口 142
5.1.1 库与程序文件 142
5.1.2 标准库 143
5.1.3 头文件的包含策略 144
5.2 随机数库 145
5.2.1 随机数生成 145
5.2.2 接口设计原则 146
5.2.3 随机数库接口 147
5.2.4 随机数库实现 148
5.2.5 库测试 148
5.3 作用域与生存期 149
5.3.1 量的作用域与可见性 149
5.3.2 量的存储类与生存期 151
5.3.3 函数的作用域与生存期 152
5.3.4 声明与定义 153
5.4 宏 153
5.4.1 宏替换 154
5.4.2 含参宏 156
5.4.3 含参宏与函数的差异 157
5.4.4 宏的特殊用法 157
5.5 条件编译 159
5.5.1 #ifndef与#ifdef命令 159
5.5.2 #if命令 160
5.6 典型软件开发流程 161
5.6.1 软件工程概要 162
5.6.2 需求分析 162
5.6.3 概要设计 163
5.6.4 详细设计 165
5.6.5 编码实现 170
5.6.6 系统测试 173
5.6.7 经验总结 174
本章小结 174
习题5 175
第6章 复合数据类型 177
6.1 字符 178
6.1.1 字符类型、文字与量 178
6.1.2 字符量的数学运算 179
6.1.3 标准字符特征库 180
6.2 字符串 180
6.2.1 字符串的抽象表示 180
6.2.2 字符串的复制、合并与比较 181
6.2.3 字符串的长度与内容 182
6.2.4 字符串类型与其他数据类型的变换 182
6.2.5 字符串的查找 183
6.3 数组 184
6.3.1 数组的意义与性质 184
6.3.2 数组的存储表示 185
6.3.3 数组元素的访问 186
6.3.4 数组与函数 188
6.3.5 多维数组 192
6.4 结构体 194
6.4.1 结构体的意义与性质 195
6.4.2 结构体的存储表示 197
6.4.3 结构体数据对象的访问 197
6.4.4 结构体与函数 199
6.5 数据集 202
6.5.1 查找 202
6.5.2 排序 203
本章小结 205
习题6 206
第7章 指针 209
7.1 指针数据类型 210
7.1.1 数据对象的地址与值 210
7.1.2 指针的定义与使用 210
7.1.3 指针的意义与作用 215
7.2 指针与函数 216
7.2.1 数据交换函数 216
7.2.2 常量指针与指针常量 219
7.2.3 指针与函数返回值 220
7.3 指针与复合数据类型 220
7.3.1 指针与数组 220
7.3.2 指针与结构体 225
7.4 再论字符串 227
7.4.1 字符串的表示 227
7.4.2 字符数组与字符指针的差异 229
7.4.3 标准字符串库 231
7.5 动态存储管理 232
7.5.1 内存分配 232
7.5.2 标准库的动态存储管理函数 233
7.5.3 zylib库的动态存储管理宏 236
7.5.4 关于动态存储管理若干注意事项的说明 237
7.5.5 动态数组 238
本章小结 243
习题7 244
第8章 文件与数据存储 247
8.1 文件的基本概念 248
8.1.1 什么是文件 248
8.1.2 文件类型 248
8.1.3 文件指针 249
8.2 文件的基本操作 249
8.2.1 文件打开操作 249
8.2.2 文件关闭操作 250
8.2.3 文件结束检测操作 251
8.2.4 文件错误检测操作 251
8.2.5 文件缓冲区与流刷新操作 251
8.2.6 文件位置指针定位操作 252
8.2.7 文件位置指针查询操作 252
8.2.8 文件位置指针重定位操作 252
8.3 文件的读写 253
8.3.1 面向字符的文件读写操作 253
8.3.2 面向文本行的文件读写操作 254
8.3.3 面向格式化输入输出的文件读写操作 255
8.3.4 面向数据块的文件读写操作 259
8.4 数据存储 260
8.4.1 什么是数据持久化 260
8.4.2 动态数组的持久化 261
8.4.3 应用程序的数据持久化策略 263
本章小结 266
习题8 266
第9章 程序抽象 269
9.1 数据抽象 270
9.1.1 数据抽象的目的与意义 270
9.1.2 结构化数据的性质 271
9.1.3 数据封装 271
9.1.4 信息隐藏 272
9.1.5 抽象数据类型 273
9.2 链表 275
9.2.1 数据的链式表示 276
9.2.2 链表构造与销毁 278
9.2.3 结点追加与插入 280
9.2.4 结点删除 282
9.2.5 链表遍历 283
9.2.6 数据查找 284
9.2.7 总结与思考 285
9.3 函数指针 286
9.3.1 函数指针的目的与意义 286
9.3.2 函数指针的定义 287
9.3.3 函数指针的使用 288
9.3.4 函数指针类型 291
9.4 抽象链表 291
9.4.1 回调函数 292
9.4.2 回调函数参数 292
9.4.3 数据对象的存储与删除 294
本章小结 296
习题9 297
参考文献与深入读物 299