第1章 概述 1
1.1 C语言概述 1
1.1.1 C语言简介 1
1.1.2 C语言的特点 1
1.2 简单的C程序介绍 2
1.3 C程序的上机步骤 5
1.3.1 Turbo C(TC)集成开发环境 6
1.3.2 C语言程序的上机步骤 8
习题 10
上机实验 11
第2章 数据类型、运算符和表达式 13
2.1 数据类型 13
2.2 C语言的基本符号 13
2.2.1 基本符号集 13
2.2.2 标识符 14
2.3 常量与变量 15
2.3.1 常量 15
2.3.2 变量 20
2.4 运算符与表达式 23
2.4.1 运算符的优先级和结合性 23
2.4.2 算术运算符及其表达式 24
2.4.3 关系运算符及其表达式 27
2.4.4 逻辑运算符及其表达式 28
2.4.5 赋值运算符及其表达式 29
2.4.6 逗号运算符及其表达式 30
2.4.7 条件运算符及其表达式 31
2.4.8 位运算符和位运算 32
2.4.9 表达式中数据类型的转换 34
习题 36
上机实验 38
第3章 顺序程序设计 40
3.1 结构化程序设计的基本概念 40
3.1.1 C语言的语句 40
3.1.2 程序的3种基本结构 42
3.1.3 赋值语句 44
3.2 数据的输入和输出 45
3.2.1 数据输入输出的概念 45
3.2.2 字符数据的输入输出 45
3.2.3 格式输入输出 47
3.3 顺序结构的程序设计举例 52
习题 53
上机实验 56
第4章 选择结构程序设计 58
4.1 if语句 58
4.1.1 if语句的3种形式 58
4.1.2 if语句的嵌套 62
4.2 switch语句 65
4.3 选择结构的程序设计举例 71
习题 73
上机实验 77
第5章 循环结构程序设计 78
5.1 while语句和do~while语句 78
5.1.1 while语句 78
5.1.2 do~while语句 80
5.1.3 while和do~while循环的比较 81
5.2 for语句 82
5.3 循环的嵌套 84
5.4 其他控制语句 86
5.4.1 break语句 87
5.4.2 continue语句 87
5.4.3 goto语句 89
5.5 循环结构的程序设计举例 90
习题 93
上机实验 96
第6章 数组 97
6.1 一维数组 97
6.1.1 一维数组的定义 97
6.1.2 一维数组的初始化 98
6.1.3 一维数组元素的引用 98
6.1.4 一维数组应用举例 99
6.2 二维数组 100
6.2.1 二维数组的定义 101
6.2.2 二维数组元素的引用 101
6.2.3 二维数组的初始化 102
6.2.4 二维数组应用举例 102
6.3 字符数组 104
6.3.1 字符数组的定义 104
6.3.2 字符数组的初始化 105
6.3.3 字符数组的引用 106
6.3.4 字符串的输入与输出 106
6.3.5 字符数组应用举例 107
6.4 字符数组应用举例 111
习题 113
上机实验 115
第7章 函数 117
7.1 模块化程序设计概述 117
7.2 函数的定义 117
7.2.1 概述 117
7.2.2 函数的定义 119
7.2.3 函数的参数和函数的返回值 120
7.3 函数的调用 122
7.3.1 函数的调用 122
7.3.2 函数的嵌套调用 125
7.3.3 函数的递归调用 126
7.4 数组作为函数的参数 129
7.4.1 数组元素作为函数实参 129
7.4.2 数组作为函数参数 130
7.4.3 用多维数组名作函数参数 133
7.5 变量的作用域和存储类型 134
7.5.1 变量的作用域 134
7.5.2 局部变量和全局变量 136
7.5.3 变量的存储类型 139
7.6 内部函数和外部函数 144
7.6.1 内部函数 144
7.6.2 外部函数 144
第8章 编译预处理 146
8.1 宏定义 146
8.2 文件包含 149
8.3 条件编译 150
习题 152
上机实验 155
第9章 指针 157
9.1 指针和指针变量 157
9.1.1 指针的基本概念 157
9.1.2 指针变量 158
9.1.3 指针变量的运算 162
9.2 指针与数组 164
9.2.1 指向数组元素的指针 164
9.2.2 通过指针引用数组元素 165
9.2.3 指向一维数组的指针变量 166
9.2.4 指向二维数组的指针变量 167
9.3 字符指针与字符串 171
9.3.1 指向字符串常量的指针变量 171
9.3.2 字符指针的引用 171
9.3.3 指向字符数组的指针变量 172
9.3.4 字符串指针作函数参数 173
9.4 指针与函数 174
9.4.1 指针变量作函数参数 174
9.4.2 函数的返回值为指针变量 176
9.4.3 指向函数的指针变量 177
9.5 指针数组 178
9.5.1 指针数组的定义与初始化 178
9.5.2 指针数组元素的引用 180
9.5.3 指针数组作主函数的形参 180
9.6 多级指针 182
习题 184
上机实验 186
第10章 结构体与共用体 188
10.1 结构体类型和结构体变量 188
10.1.1 结构体型的定义 188
10.1.2 结构体变量的定义 189
10.1.3 结构体变量的引用 191
10.1.4 结构体变量的初始化 192
10.2 结构体数组 192
10.2.1 结构体数组的定义 192
10.2.2 结构体数组的初始化 193
10.3 结构体指针和结构体嵌套 194
10.3.1 结构体指针的定义与引用 194
10.3.2 指向结构体数组的指针 196
10.3.3 用结构体变量和指向结构体的指针作函数参数 197
10.3.4 结构体嵌套 199
10.4 共用体 201
10.4.1 共用体类型的定义 201
10.4.2 共用体变量的定义 202
10.4.3 共用体变量的引用 203
10.4.4 共用体类型数据的特点 204
10.5 枚举类型 204
10.5.1 枚举型的定义 204
10.5.2 枚举型变量的定义 205
10.5.3 枚举型变量的引用 206
10.6 用户自定义类型 208
10.6.1 基本类型自定义 208
10.6.2 数组类型自定义 208
10.6.3 结构型自定义 209
10.6.4 指针型自定义 209
习题 210
上机实验 214
第11章 文件 215
11.1 文件概述 215
11.1.1 文件的分类 215
11.1.2 文件类型指针 215
11.1.3 设备文件 216
11.1.4 流 216
11.2 文件的打开与关闭 217
11.2.1 文件的打开 217
11.2.2 文件的关闭 218
11.3 文件的读写 219
11.3.1 字符读/写函数 219
11.3.2 字符串读/写函数 222
11.3.3 数据块读/写函数 223
11.3.4 格式化读/写函数 225
11.4 文件的定位与出错检测 226
11.4.1 文件头定位函数rewind 227
11.4.2 文件随机定位函数fseek 227
11.4.3 文件当前读/写位置函数ftell 229
11.4.4 检测函数 229
习题 230
上机实验 234
第12章 C语言项目实训 235
12.1 系统需求分析 235
12.2 系统设计 235
12.3 设计代码 238
上机实验 251
附录1 标准ASCII码字符编码表 253
附录2 Turbo C 2.0常用库函数 254
附录3 运算符及其结合性 261