第1章 C语言程序的基本构成 1
1.1 程序的概念 2
1.2 算法与流程图 3
1.3 结构化程序的结构 4
1.3.1 顺序结构 4
1.3.2 分支结构 7
1.3.3 循环结构 9
1.4 C程序的构成 11
1.5 C函数 14
1.6 C语句 15
1.7 保留字与标识符 15
1.7.1 保留字 15
1.7.2 标识符 16
1.8 常量 16
1.8.1 整型常量 16
1.8.2 实型常量 17
1.8.3 字符常量 17
1.9 变量 18
1.9.1 变量的数据类型及其定义 18
1.9.2 整型变量 19
1.9.3 实型变量 19
1.9.4 字符变量与字符串 20
1.10 运算符 23
1.10.1 算术运算符 23
1.10.2 关系运算符 24
1.10.3 逻辑运算符 25
1.10.4 位运算符 26
1.11 编辑C程序时应注意的问题 28
习题 28
第2章 输入/输出程序设计 31
2.1 字符串的输入与输出 32
2.1.1 字符串的输出 32
2.1.2 字符串的输入 33
2.2 整型数的输入与输出 35
2.2.1 整型数的输出 35
2.2.2 整型数的输入 36
2.3 字符的输入与输出 39
2.4 实型数的输入与输出 40
习题 42
第3章 while循环程序设计 43
3.1 循环的概念 44
3.2 while循环 44
3.3 do-while循环 50
3.4 for循环 53
3.5 break语句和continue语句 57
3.6 循环嵌套 60
习题 64
第4章 分支结构的程序设计 68
4.1 if语句的应用 69
4.2 if-else语句的应用 72
4.3 if-else if语句的应用 75
4.4 if嵌套语句的应用 78
4.5 switch的应用 79
习题 88
第5章 数组及其应用 92
5.1 一维数组 93
5.1.1 一维数组的定义 93
5.1.2 一维数组的引用方法 94
5.1.3 一维数组的初始化与赋值 94
5.1.4 字符数组 96
5.2 二维数组 97
5.2.1 二维数组的定义 97
5.2.2 二维数组的表示、初始化与赋值 98
5.3 数组元素的查找 99
5.3.1 无序数组的查找 100
5.3.2 有序数组的查找 103
5.4 数组元素的插入 105
5.4.1 绝对位置的插入 105
5.4.2 有序数据的插入 107
5.5 数组元素的删除 110
5.6 数组的排序 111
5.6.1 冒泡排序 111
5.6.2 选择排序 114
习题 117
第6章 函数及其应用 120
6.1 函数的基本概念 121
6.2 函数的参数 122
6.3 系统函数的应用 124
6.3.1 数学函数 124
6.3.2 字符串处理函数 125
6.3.3 字符操作函数与转换函数 127
6.4 自定义函数 128
6.5 函数的应用 130
6.6 函数的嵌套与递归调用 140
6.6.1 函数的嵌套调用 140
6.6.2 函数递归调用 141
习题 144
第7章 变量存储类型与多文件系统 148
7.1 变量的存储类型 149
7.2 auto存储类型的变量与作用范围 150
7.3 static存储类型的变量与作用范围 152
7.4 register存储类型的变量与作用范围 154
7.5 extern存储类型的变量与作用范围 155
7.6 多文件系统中的函数调用 157
7.7 外部变量在多文件系统中的应用 161
习题 162
第8章 文件的操作及其应用 164
8.1 文件概述 165
8.2 文件打开与关闭函数 166
8.2.1 文件打开函数fopen 166
8.2.2 文件关闭函数fclose 167
8.3 文件中字符的读/写函数 168
8.4 文件中格式化读/写函数 170
8.5 文件中数据块读/写函数 173
8.6 文件中位置定位函数 176
习题 178
第9章 指针与数组 182
9.1 指针的基本概念 183
9.2 相同类型指针间的基本运算 185
9.3 一维数组与指针 187
9.4 字符串与字符指针变量 191
9.4.1 字符数组与字符串 191
9.4.2 指针变量与字符串 193
9.5 指向二维数组的指针 194
9.5.1 二维数组的表示及应用 194
9.5.2 指向二维数组的数组指针 196
9.6 指针数组 198
9.7 二级指针 201
习题 203
第10章 指针与函数 210
10.1 指针与函数参数 211
10.2 指向函数的指针 218
10.3 返回值为指针的函数 222
10.4 命令行参数 225
习题 228
第11章 结构体及其应用 231
11.1 结构体的基本概念 232
11.1.1 结构体类型定义 232
11.1.2 结构体变量的定义 232
11.1.3 结构体变量占据的内存空间 233
11.1.4 结构体变量对结构体成员的引用 233
11.1.5 结构体变量的赋值 233
11.2 结构体类型的数组 236
11.3 结构体变量的输入/输出与存储 238
11.4 结构体变量查找与删除 243
11.5 结构体变量的排序 247
习题 252
第12章 链表及其应用 256
12.1 链表的定义 257
12.2 堆栈 258
12.3 队列 260
12.4 链表的插入 263
12.5 链表的删除 265
12.6 链表的应用 267
习题 275
附录 276
附录一 ASCII表 276
附录二 运算符及其优先级汇总表 277
附录三 C语言的保留字 278
附录四 C语言部分常用库函数 278
附录五 Linux环境下C程序编辑、编译 285
附录六 Visual C++6.0上机步骤 285
参考文献 287