第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 基本符号集 5
1.3.2 标识符 5
1.4 C程序的上机步骤 6
1.4.1 Turbo C(TC)集成开发环境 7
1.4.2 C语言程序的上机步骤 9
习题 11
上机实验 13
第2章 数据类型、运算符和表达式 14
2.1 数据类型 14
2.2 常量与变量 14
2.2.1 常量 14
2.2.2 变量 19
2.3 运算符与表达式 22
2.3.1 算术运算符及其表达式 23
2.3.2 关系运算符及其表达式 25
2.3.3 逻辑运算符及其表达式 26
2.3.4 赋值运算符及其表达式 28
2.3.6 条件运算符及其表达式 29
2.3.5 逗号运算符及其表达式 29
2.3.7 位运算符和位运算 30
2.3.8 表达式中数据类型的转换 33
习题 35
上机实验 37
第3章 顺序程序设计 39
3.1 结构化程序设计的基本概念 39
3.1.1 C语言的语句 39
3.1.2 程序的3种基本结构 41
3.1.3 赋值语句 43
3.2.2 字符数据的输入输出 44
3.2 数据的输入和输出 44
3.2.1 数据输入输出的概念 44
3.2.3 格式输入与输出 46
3.3 顺序结构 51
习题 52
上机实验 55
第4章 选择结构程序设计 57
4.1 if语句 57
4.1.1 if语句的3种形式 57
4.1.2 if语句的嵌套 61
4.2.1 switch语句的基本形式 64
4.2 switch语句 64
4.2.2 switch和break语句 66
4.3 选择结构的程序设计举例 70
习题 72
上机实验 76
第5章 循环结构程序设计 77
5.1 while语句和do~while语句 77
5.1.1 while语句 77
5.1.2 do~while 79
5.1.3 while和do~while循环的比较 80
5.2 for语句 81
5.3 循环的嵌套 83
5.4 其他语句 85
5.4.1 continue语句(连续语句) 86
5.4.2 goto(转向语句) 87
5.5 循环结构的程序设计举例 88
习题 91
上机实验 94
第6章 数组 96
6.1 一维数组 96
6.1.1 一维数组的定义 96
6.1.2 一维数组的初始化 97
6.1.3 一维数组元素的引用 97
6.1.4 一维数组应用举例 98
6.2 二维数组 99
6.2.1 二维数组的定义 100
6.2.2 二维数组元素的引用 100
6.2.3 二维数组的初始化 101
6.2.4 二维数组应用举例 101
6.3 字符数组 103
6.3.1 字符数组的定义 103
6.3.2 字符数组的初始化 104
6.3.3 字符数组的引用 105
6.3.4 字符串的输入与输出 105
6.3.5 字符串处理函数 106
6.4 字符数组应用举例 110
习题 112
上机实验 114
第7章 函数 116
7.1 函数的定义 116
7.1.1 概述 116
7.1.2 函数的定义 117
7.1.3 函数的参数和函数的返回值 119
7.2 函数的调用 121
7.2.1 函数的调用 121
7.2.2 函数的嵌套调用 123
7.2.3 函数的递归调用 124
7.3.1 数组元素作为函数实参 128
7.3 数组作为函数的参数 128
7.3.2 数组作为函数参数 129
7.3.3 用多维数组名作函数参数 132
7.4 变量的作用域和存储类型 133
7.4.1 变量的作用域 133
7.4.2 局部变量和全局变量 135
7.4.3 变量的存储类型 137
7.5 内部函数和外部函数 142
7.5.1 内部函数 143
7.5.2 外部函数 143
7.6.1 宏定义 144
7.6 编译预处理 144
7.6.2 文件包含 147
7.6.3 条件编译 148
习题 150
上机实验 153
第8章 指针 155
8.1 指针和指针变量 155
8.1.1 指针的基本概念 155
8.1.2 指针变量 156
8.1.3 指针变量的运算 160
8.2.1 指向数组元素的指针 162
8.2 指针与数组 162
8.2.2 通过指针引用数组元素 163
8.2.3 指向一维数组的指针变量 164
8.2.4 指向二维数组的指针变量 165
8.3 字符指针与字符串 169
8.3.1 指向字符串常量的指针变量 169
8.3.2 字符指针的引用 169
8.3.3 指向字符数组的指针变量 170
8.3.4 字符串指针作函数参数 171
8.4 指针数组 172
8.4.1 指针数组的定义与初始化 172
8.4.2 指针数组元素的引用 174
8.4.3 多级指针 175
8.4.4 指针数组作主函数的形参 176
习题 178
上机实验 180
第9章 结构体与共用体 182
9.1 结构体类型和结构体变量 182
9.1.1 结构体型的定义 182
9.1.2 结构体变量的定义 183
9.1.3 结构体变量的引用 185
9.2.1 结构体数组的定义 186
9.2 结构体数组 186
9.1.4 结构体变量的初始化 186
9.2.2 结构体数组的初始化 187
9.3 结构体指针和结构体嵌套 188
9.3.1 结构体指针的定义与引用 188
9.3.2 指向结构体数组的指针 190
9.3.3 用结构体变量和指向结构体的指针作函数参数 191
9.3.4 结构体嵌套 193
9.4 共用体 195
9.4.1 共用体类型的定义 195
9.4.2 共用体变量的定义 196
9.4.3 共用体型变量的引用 197
9.4.4 共用体类型数据的特点 198
9.5 枚举类型 198
9.5.1 枚举型的定义 198
9.5.2 枚举型变量的定义 199
9.5.3 枚举型变量的引用 200
9.6 用户自定义类型 202
9.6.1 基本类型自定义 202
9.6.2 数组类型自定义 202
9.6.3 结构型自定义 203
9.6.4 指针型自定义 203
习题 204
上机实验 207
第10章 文件 209
10.1 文件概述 209
10.1.1 文件的分类 209
10.1.2 文件类型指针 209
10.1.3 设备文件 210
10.1.4 流 210
10.2 文件的打开与关闭 211
10.2.1 文件的打开 211
10.2.2 文件的关闭 212
10.3 文件的读写 213
10.3.1 字符读/写函数 213
10.3.2 字符串读/写函数 216
10.3.3 数据块读/写函数 217
10.3.4 格式化读/写函数 219
10.4 文件的定位与出错检测 220
10.4.1 文件头定位函数rewind 221
10.4.2 文件随机定位函数fseek 221
10.4.3 文件当前读/写位置函数ftell 223
10.4.4 检测函数 223
习题 224
上机实验 228
附录1 标准ASCII码字符编码表 229
附录2 Turbo C2.0常用库函数 230