第1章 C语言概述 1
1.1 C语言的发展 1
1.2 C语言的特点 1
1.3 C语言程序的结构 2
1.3.1 基本程序结构 2
1.3.2 C语言程序的开发过程 5
1.3.3 C语言的关键字 8
1.3.4 算法 8
1.3.5 算法的结构化描述 9
1.3.6 用流程图描述的算法 9
1.3.7 用N-S图描述的算法 11
第2章 数据类型、运算符与表达式 12
2.1 C语言的数据类型 12
2.2 常量与变量 13
2.2.1 标识符命名 13
2.2.2 常量 13
2.2.3 变量 14
2.3 整型数据 14
2.3.1 整型常量 14
2.3.2 整型变量 16
2.4 实型数据 18
2.4.1 实型常量 18
2.4.2 实型变量 19
2.5 字符型数据 19
2.5.1 字符常量 20
2.5.2 字符串常量 20
2.5.3 转义字符 20
2.5.4 字符变量 22
2.6 运算符和表达式 23
2.6.1 运算符与表达式简介 23
2.6.2 算术运算符与算术表达式 25
2.6.3 赋值运算符与赋值表达式 28
2.6.4 数据的类型转换 29
2.6.5 各类数值型数据之间的混合运算 34
2.6.6 关系运算符与表达式 34
2.6.7 逻辑运算符与表达式 36
2.6.8 条件运算符与条件表达式 38
2.6.9 逗号运算符 39
2.6.10 求字节数运算符 39
2.6.11 位运算符 40
2.6.12 运算符的优先级与结合性 42
2.7 常用库函数的使用 42
2.7.1 文件包含 42
2.7.2 常用库函数使用注意事项及举例 43
2.8 TC帮助文件的使用 44
2.8.1 帮助索引 45
2.8.2 可随时获得的帮助信息 45
2.8.3 退出帮助 46
第3章 程序控制语句 47
3.1 程序的三种基本结构 47
3.2 顺序结构的程序设计 47
3.2.1 printf()函数与scanf()函数 47
3.2.2 putchar函数与getchar函数 54
3.3 选择结构的程序设计 55
3.3.1 if语句 55
3.3.2 switch语句 60
3.4 循环结构的程序设计 66
3.4.1 while语句 66
3.4.2 do-while语句 67
3.4.3 for语句 69
3.4.4 循环的嵌套 70
3.4.5 break、continue和goto语句 71
3.4.6 程序应用举例 74
第4章 数组 77
4.1 一维数组 77
4.1.1 一维数组的定义及初始化 78
4.1.2 字符串使用的一维数组 86
4.1.3 字符串处理函数 87
4.2 二维数组 91
4.2.1 二维数组的定义及初始化 92
4.2.2 二维字符数组 96
第5章 函数 99
5.1 函数概要 99
5.2 函数的定义 100
5.3 函数的声明 101
5.4 函数的调用 102
5.4.1 虚实结合的特点 103
5.4.2 虚实结合的过程 103
5.4.3 函数的嵌套调用 104
5.4.4 函数的递归调用 105
5.4.5 数组与函数 108
5.5 函数的返回值 110
5.6 变量的作用域与生存期 112
5.6.1 局部变量和全局变量 113
5.6.2 动态变量与静态变量 116
5.7 变量的存储类别 116
5.7.1 自动存储类型 116
5.7.2 静态变量 117
5.7.3 寄存器存储类型 119
5.7.4 外部变量的定义与声明 120
5.8 函数的存储分类 122
5.8.1 外部函数 122
5.8.2 内部函数 123
5.9 预处理命令 124
5.9.1 宏定义 125
5.9.2 文件包含 129
5.9.3 条件编译 133
5.10 多文件程序的调试方法 135
5.11 Turbo C源程序的一般形式 136
5.12 程序应用举例 137
第6章 指针 150
6.1 指针的概念 150
6.2 指针变量和指针运算符 152
6.2.1 指针变量的定义 152
6.2.2 指针变量的引用 152
6.2.3 指针的运算 154
6.2.4 指针变量作函数的参数 155
6.3 指针与数组 158
6.3.1 指针与一维数组 158
6.3.2 指针与多维数组 167
6.3.3 指针与字符数组 173
6.4 指针数组 184
6.5 指向指针的指针 186
6.6 指针与函数 188
6.6.1 返回指针值的函数 188
6.6.2 指向函数的指针 193
6.7 main函数的参数 196
6.8 指针的数据类型和指针运算小结 198
第7章 结构体与共用体 201
7.1 结构体类型与结构体变量 201
7.1.1 结构体的定义 201
7.1.2 结构体变量的定义 202
7.1.3 结构体变量的引用 204
7.1.4 结构体变量的初始化 205
7.2 结构体数组 205
7.2.1 结构体数组的定义 206
7.2.2 结构体数组的初始化 206
7.2.3 结构体数组应用举例 207
7.3 结构体指针 210
7.3.1 指针指向结构体类型变量 210
7.3.2 指针指向结构体数组 211
7.3.3 结构指针变量作函数参数 212
7.4 链表 215
7.4.1 内存管理函数 215
7.4.2 链表概述 217
7.4.3 链表的建立 219
7.4.4 链表的输出 221
7.4.5 链表的插入 222
7.4.6 链表的删除 224
7.4.7 链表的综合操作 226
7.5 共用体 228
7.5.1 共用体的定义 229
7.5.2 共用体变量的说明和引用 229
7.6 枚举类型 232
7.7 用typedef定义类型 234
第8章 文件系统 236
8.1 文件系统 236
8.1.1 文件及其分类 236
8.1.2 文件指针 238
8.1.3 文件的处理方式 239
8.2 文件的打开与关闭 239
8.2.1 文件的打开(fopen函数) 239
8.2.2 文件关闭函数(fclose函数) 242
8.3 文件的读/写 242
8.3.1 文件的字符读/写 242
8.3.2 文件的字符串读/写 248
8.3.3 文件的数据块读/写 250
8.3.4 文件的格式化读/写 253
8.3.5 文件的定位 254
8.4 文件系统小结及应用举例 257
8.4.1 小结 257
8.4.2 应用举例 258
第9章 实用编程技巧 260
9.1 猜数游戏 260
9.2 通讯录的设计 262
9.3 菜单设计技术 267
9.4 图形函数的应用 271
9.5 时间函数的应用 273
附录1 常用字符与ASCII代码对照表 276
附录2 运算符与结合性 277
附录3 C库函数 278
习题 282