第0章 概述 1
0.1 计算机的由来及组成 1
0.2 计算机程序 3
0.3 C语言发展史 4
0.4 C程序基本结构 5
0.5 C程序开发步骤 6
0.6 集成开发环境 7
习题 12
第1篇 感知篇 15
第1章 数据的基本操作 15
1.1 数据的存储与输出 15
1.2 数据的输入与运算 17
1.3 数据的比较与判断 19
第2章 结构化程序设计初探 23
2.1 重复与循环语句 23
2.2 基本结构的组合 26
2.3 模块化编程 29
第3章 数据结构 33
3.1 数组 33
3.2 结构体 35
3.3 动态数组 38
3.4 文件 41
第4章 算法描述和编码规范 46
4.1 程序设计与算法描述 46
4.1.1 程序设计与算法 46
4.1.2 FC流程图 48
4.1.3 NS盒图 48
4.2 C语言编码规范 50
习题 52
第2篇 详解篇 55
第5章 数据类型与输入输出 55
5.1 C语言要素 55
5.1.1 字符集 55
5.1.2 标识符与关键字 56
5.1.3 可执行语句 57
5.2 数据类型 58
5.2.1 理解数据类型 58
5.2.2 变量 59
5.2.3 常量 60
5.2.4 整型数据 61
5.2.5 浮点型数据 63
5.2.6 字符型数据 65
5.3 输入与输出操作 67
5.3.1 输入与输出的概念 67
5.3.2 格式化输出函数 68
5.3.3 格式化输入函数 71
5.3.4 字符的输入与输出 73
5.4 编程错误 74
5.4.1 语法错误和警告 75
5.4.2 运行错误 76
5.4.3 逻辑错误 76
习题 77
第6章 运算符与表达式 78
6.1 概述 78
6.2 算术运算 79
6.3 赋值运算 81
6.4 表达式中的类型转换 84
6.4.1 隐式类型转换 84
6.4.2 显式类型转换 85
6.5 自增与自减运算 86
6.6 关系与逻辑表运算 88
6.7 其他运算符 91
6.8 运算符的优先级与结合性 93
6.9 案例分析 94
习题 97
第7章 选择结构 99
7.1 理解选择结构 99
7.2 简单分支语句 99
7.2.1 单分支if语句 100
7.2.2 双分支if-else语句 101
7.3 多分支语句 102
7.3.1 嵌套if语句 103
7.3.2 多分支else if语句 106
7.3.3 switch语句 108
7.4 案例分析 111
习题 115
第8章 循环结构 117
8.1 理解循环结构 117
8.2 循环语句 118
8.2.1 while语句 118
8.2.2 do语句 119
8.2.3 for语句 120
8.2.4 几种循环语句的比较 122
8.3 循环条件 122
8.3.1 计数器控制循环 123
8.3.2 标记控制循环 123
8.4 循环嵌套 125
8.4.1 循环嵌套结构 125
8.4.2 循环中的选择结构 127
8.5 循环中的跳转 128
8.5.1 break语句 128
8.5.2 continue语句 130
8.5.3 goto语句 131
8.6 案例分析 132
习题 139
第9章 数组 142
9.1 理解数组 142
9.2 一维数组 142
9.2.1 一维数组定义 142
9.2.2 一维数组引用 144
9.2.3 一维数组初始化 145
9.2.4 一维数组案例分析 146
9.3 二维数组 151
9.3.1 二维数组定义 151
9.3.2 二维数组引用 152
9.3.3 二维数组初始化 152
9.3.4 二维数组案例分析 153
习题 155
第10章 函数 157
10.1 理解函数 157
10.2 函数定义和分类 160
10.2.1 函数定义 160
10.2.2 函数分类 161
10.3 函数调用和声明 163
10.3.1 函数调用 163
10.3.2 函数声明 164
10.4 函数参数和函数值 166
10.4.1 形式参数与实际参数 166
10.4.2 函数返回值 168
10.4.3 数组作函数参数 169
10.5 函数递归调用 173
10.6 变量作用域与生存期 176
10.6.1 变量作用域 176
10.6.2 变量存储类别与生存期 179
10.7 内部函数和外部函数 184
习题 185
第11章 指针 187
11.1 理解指针 187
11.2 指向变量的指针 188
11.2.1 指针变量定义 188
11.2.2 指针变量引用 189
11.3 数组与指针 193
11.3.1 一维数组与指针 193
11.3.2 二维数组与指针 197
11.3.3 指针数组 202
11.3.4 指向指针的指针 203
11.4 函数与指针 206
11.4.1 指针作函数参数 206
11.4.2 数组名作函数参数 209
11.4.3 返回指针值的函数 211
11.4.4 指向函数的指针 213
11.5 字符串 214
11.5.1 字符数组与字符串 214
11.5.2 字符串与指针 216
11.5.3 字符串函数 218
11.5.4 字符串程序举例 222
11.5.5 main函数参数 224
11.6 动态空间管理 225
习题 228
第12章 自定义数据类型 230
12.1 结构体 230
12.1.1 结构体声明 230
12.1.2 结构体变量定义 231
12.1.3 结构体变量引用 233
12.1.4 结构体数组 234
12.1.5 结构体与指针 236
12.2 链表 238
12.3 枚举类型 241
习题 244
第13章 文件 245
13.1 文件概述 245
13.2 文件的打开与关闭 246
13.3 文件读写 248
13.3.1 字符读写函数 249
13.3.2 字符串读写函数 251
13.3.3 数据块读写函数 252
13.3.4 格式化读写函数 256
13.3.5 文本文件与二进制文件 256
13.4 文件的随机读写 258
13.5 文件检测函数 259
习题 260
第3篇 进阶篇 263
第14章 函数进阶 263
14.1 分解与抽象 263
14.2 递归 272
第15章 数组进阶 279
15.1 数据模型 279
15.2 查找与排序 289
15.2.1 简单查找算法 289
15.2.2 简单排序算法 294
第16章 数据管理 298
16.1 简单链表 298
16.2 数据文件 305
附录A ASCII表 308