第1章 简单C程序设计 1
1.1 C程序的构成 1
1.2 C语言的入门知识 3
1.2.1 C语言的常见标识符号 3
1.2.2 基本数据类型 5
1.2.3 格式化输出输入函数 7
1.2.4 C语言的书写规则 8
1.3 简单C程序的扩展 8
1.3.1 基本功能设计 8
1.3.2 程序设计描述的方法 8
1.3.3 程序实现及常见错误分析 10
1.3.4 浅谈编程风格 11
1.4 本章小结 13
练习与思考1 14
第2章 选择控制结构与应用 16
2.1 选择结构的基本运算符 16
2.1.1 关系运算符及表达式 16
2.1.2 逻辑运算符及表达式 17
2.2 if-else选择结构 18
2.2.1 if结构 18
2.2.2 if语句的嵌套 24
2.2.3 表达式在if结构中使用的拓展 26
2.3 switch选择结构 27
2.3.1 基本定义及应用 27
2.3.2 if-else-if语句与switch语句 29
2.4 应用实例 31
2.4.1 计算器 31
2.4.2 学生成绩管理 33
2.5 本章小结 35
练习与思考2 36
第3章 循环结构与应用 38
3.1 概述 39
3.2 循环控制结构 39
3.2.1 for循环 39
3.2.2 while循环 45
3.2.3 do while循环 47
3.2.4 goto循环 49
3.3 循环控制结构的设计 50
3.3.1 循环的嵌套 50
3.3.2 循环的控制 52
3.3.3 循环语句的选择 58
3.4 应用实例 58
3.4.1 计算器 58
3.4.2 学生成绩档案管理系统 62
3.5 本章小结 65
练习与思考3 66
第4章 模块化设计与应用 68
4.1 模块化程序设计方法 69
4.1.1 模块化程序设计思想 69
4.1.2 模块规划实例 69
4.2 函数 71
4.2.1 函数的定义 72
4.2.2 函数的调用 73
4.2.3 函数设计实例 74
4.2.4 函数调用的执行过程 78
4.3 预处理 79
4.3.1 文件包含 79
4.3.2 宏定义 80
4.4 应用实例 85
4.4.1 计算器 85
4.4.2 学生成绩档案管理 87
4.5 本章小结 90
练习与思考4 90
第5章 数组及其应用 93
5.1 数组与数组元素的概念 93
5.2 一维数组 95
5.2.1 一维数组的定义 95
5.2.2 一维数组的初始化 97
5.2.3 一维数组的使用 98
5.2.4 一维数组综合应用 99
5.3 二维及多维存储 100
5.3.1 二维数组的定义 101
5.3.2 二维数组的初始化 102
5.3.3 二维数组元素的使用 103
5.3.4 多维数组的初始化和引用 105
5.3.5 数组程序综合应用 106
5.4 字符类型数组及字符串 108
5.5 字符串处理函数 111
5.6 指针变量、字符串指针变量与字符串 114
5.6.1 指针变量 114
5.6.2 字符串指针变量 118
5.6.3 字符串数组和字符串指针 119
5.7 综合应用实例 119
5.8 本章小结 129
练习与思考5 129
第6章 深入模块化设计与应用 132
6.1 算法的基本概念 132
6.1.1 概念 133
6.1.2 引例 134
6.2 简单的排序算法 136
6.2.1 冒泡排序算法 137
6.2.2 选择排序算法 141
6.3 嵌套与递归设计与应用 145
6.3.1 函数的嵌套调用 145
6.3.2 函数的递归调用 147
6.4 模块间的批量数据传递 152
6.4.1 指针作为函数参数 152
6.4.2 一维数组作为函数参数 153
6.4.3 二维数组作为函数参数 154
6.5 模块化设计中程序代码的访问 155
6.6 应用实例 156
6.6.1 计算器 157
6.6.2 学生成绩管理 159
6.7 本章小结 164
练习与思考6 165
第7章 构造型数据类型与应用 169
7.1 结构体 170
7.1.1 结构体类型的定义 170
7.1.2 结构体变量 171
7.1.3 结构体数组 174
7.1.4 结构体指针 177
7.1.5 结构体与函数 181
7.2 位运算与位段 182
7.2.1 位运算 182
7.2.2 位段 184
7.3 共用体 186
7.3.1 共用体类型定义 186
7.3.2 共用体变量定义 186
7.3.3 共用体变量的赋值和引用 187
7.4 枚举 189
7.5 自定义类型 189
7.6 应用实例 190
7.7 本章小结 200
练习与思考7 201
第8章 综合设计与应用 203
8.1 变量的作用域与存储类别 203
8.1.1 变量的作用域 203
8.1.2 变量的存储类别 207
8.2 指针与数组 210
8.2.1 一维数组与指针 210
8.2.2 多维数组与指针 212
8.2.3 指针数组 215
8.3 函数main()中的参数 216
8.4 指针型函数 219
8.5 链表 221
8.5.1 链表的概念 221
8.5.2 链表的基本操作 222
8.5.3 带头结点链表简介 232
8.6 本章小结 233
练习与思考8 234
第9章 数据永久性存储 238
9.1 数据的永久性存储 238
9.2 文件组织方式 239
9.3 文件操作 241
9.3.1 标准输入输出头文件stdio.h 241
9.3.2 文件打开与关闭 243
9.3.3 文件读/写函数 246
9.3.4 文件定位函数 254
9.4 综合应用实例 256
9.5 本章小结 258
练习与思考9 259
附录C语言参考资料 262
附1C语言发展史及版本历程 262
附2 C语言编辑软件简介 263
附3 C语言关键字 268
附4标识符的命名方法 269
附5 ASCII表 270
附6 VC++各数据类型所占字节数和取值范围 273
附7 C语言运算符及优先级 273
附8格式化输入/输出控制 274
附9程序流程图 278
附10 ANSI C常用标准库函数 282
参考文献 288