第1章 计算机和C语言概述 1
1.1 计算机与计算机语言 1
1.2 计算机中的数制与码制 2
1.2.1 数制 2
1.2.2 数制转换 3
1.2.3 码制 4
1.3 C语言的发展简史 5
1.4 简单的C语言程序示例 6
1.5.1 Turbo C集成开发环境 9
1.5 Turbo C环境中程序的编辑与运行 9
1.5.2 编辑C程序 10
1.5.3 编译、连接 12
1.5.4 运行 12
本章小结 13
习题 13
第2章 数据类型、运算符与表达式 15
2.1 基本数据类型 15
2.1.1 基本数据类型及其取值范围 15
2.1.2 数值型数据的表示及存储 16
2.1.3 字符型数据 17
2.2.1 标识符 19
2.2 标识符、常量和变量 19
2.2.2 常量的表示方法 20
2.2.3 变量的定义及初始化 21
2.3 运算符、表达式及表达式的值 22
2.3.1 赋值运算符与赋值表达式 23
2.3.2 算术运算符与算术表达式 23
2.3.3 逗号运算符与逗号表达式 25
2.3.4 关系运算与逻辑运算 26
2.3.5 位运算 28
2.3.6 sizeof运算符 30
2.3.8 条件运算符 31
2.3.7 复合运算符 31
2.4 不同类型数据间的转换 32
2.4.1 强制类型转换 32
2.4.2 自动类型转换 32
本章小结 36
习题 36
第3章 输入/输出函数 39
3.1 字符输入/输出函数 39
3.2 格式输入/输出函数 41
3.2.1 格式输入函数 41
3.2.2 格式输出函数 44
本章小结 47
习题 48
第4章 程序结构 51
4.1 算法 51
4.2 伪代码 51
4.3 结构化编程 52
4.4 选择结构 52
4.4.1 if选择结构 52
4.4.2 if-else选择结构 53
4.4.3 嵌套的if语句 56
4.4.4 switch选择结构 59
4.5 循环结构 61
4.5.1 goto语句以及用goto语句构成的循环 61
4.5.2 while循环 62
4.5.3 do-while循环 65
4.5.4 for循环 66
4.5.5 循环结构的嵌套 69
4.5.6 break和continue语句 70
4.6 程序举例 72
本章小结 78
习题 79
第5章 函数 85
5.1 C语言中的函数 85
5.2 数学库函数 86
5.3.1 函数的定义 87
5.3 自定义函数 87
5.3.2 函数的调用 90
5.3.3 函数的声明 94
5.4 递归 95
5.5 局部变量和全局变量 98
5.5.1 局部变量 98
5.5.2 全局变量 99
5.6 变量的存储类别 102
5.6.1 存储类别概述 102
5.6.2 寄存器变量的存储类别 103
5.6.3 静态变量的存储类别 104
本章小结 106
习题 107
第6章 预处理 110
6.1 宏定义 110
6.1.1 符号常量宏定义 110
6.1.2 带参数的宏定义 113
6.2 文件包含 115
6.3 条件编译 116
本章小结 120
习题 120
7.1.1 数组变量的定义 122
7.1 数组的定义及使用 122
第7章 数组 122
7.1.2 数组元素的引用 124
7.1.3 数组的初始化 124
7.1.4 数组应用举例 125
7.2 字符数组和字符串 127
7.2.1 字符数组的定义和初始化 127
7.2.2 字符串的输入与输出 129
7.2.3 字符串处理函数 131
7.2.4 字符数组的应用举例 133
7.3.1 多维数组变量的定义 135
7.3 多维数组 135
7.3.2 多维数组元素的引用 136
7.3.3 多维数组的初始化 136
7.3.4 多维数组的应用举例 137
7.4 数组作为函数的参数 139
本章小结 142
习题 143
第8章 指针 146
8.1 指针的定义及使用 146
8.1.1 指针概述 146
8.1.2 指针变量的定义与引用 146
8.2.1 一维数组的指针及数组元素的访问 149
8.2 指针与数组 149
8.2.2 二维数组的指针及数组元素的访问 152
8.2.3 字符串指针 156
8.3 指针作为函数的参数 157
8.3.1 变量的指针作函数参数 157
8.3.2 指向数组的指针变量作函数参数 158
8.3.3 字符串指针作函数参数 160
8.4 其他类型指针 160
8.4.1 指向指针的指针 161
8.4.2 指针数组 161
8.4.3 指向函数的指针 164
8.4.4 返回指针值的函数 165
本章小结 166
习题 167
第9章 结构体与共用体 171
9.1 结构体类型数据 171
9.1.1 简单的人事档案问题 171
9.1.2 结构体变量定义 171
9.1.3 结构体类型变量引用 174
9.1.4 结构体数组 176
9.2 共用体类型数据 178
9.2.1 共用体类型变量定义 178
9.3 枚举类型数据 179
9.2.2 共用体类型变量引用 179
9.4 typedef语句 182
9.5 指向结构体类型数据的指针 183
9.5.1 指向结构体变量的指针 183
9.5.2 指向结构体数组的指针 185
9.6 结构体作为函数参数 187
9.6.1 结构体成员作为函数参数 187
9.6.2 整个结构体变量作为函数参数 187
9.6.3 指向结构体的指针作为函数参数 189
9.7 结构体作为函数返回值 191
9.8.1 概述 193
9.8 动态存储分配与内存管理 193
9.8.2 内存分配与释放 194
9.9 链表 195
9.9.1 链表概述 195
9.9.2 链表的建立 196
9.9.3 链表的遍历 198
9.9.4 链表结点的插入 200
9.9.5 链表结点的删除 202
本章小结 204
习题 205
10.1.1 文件的概念 207
10.1 文件、文件系统和流 207
第10章 文件 207
10.1.2 流 208
10.2 文件类型指针 208
10.3 文件的打开与关闭 209
10.3.1 文件的打开(fopen()函数) 209
10.3.2 文件的关闭(fclose()函数) 211
10.4 文件的读/写 211
10.4.1 fputc()函数和fgetc()函数 211
10.4.2 fread()函数和fwrite()函数 214
10.4.4 fputs()和fgets()函数 217
10.4.3 fprintf()函数和fscanf()函数 217
10.5 文件定位函数 218
10.5.1 rewind()函数 218
10.5.2 fseek()函数 218
10.5.3 ftell()函数 219
10.6 出错检测 219
10.6.1 ferror()函数 219
10.6.2 clearerr()函数 220
本章小结 220
习题 220
附录A ASCII码表 221
附录B 常用Turbo C库函数 223