第1章 简介 1
1.1 C语言的特点 2
1.2 C程序特点 3
1.2.1 简单程序示例 3
1.2.2 C程序的书写格式 5
1.2.3 main()函数 6
1.2.4 C程序的基本结构 7
1.3 基本符号、标识符和关键字 8
1.3.1 基本符号 8
1.3.2 标识符 8
1.3.3 关键字 9
1.4 程序设计中的几个基本概念 9
1.5.1 Turbo C 2.0简介 10
1.5 Turbo C 2.0的使用 10
1.5.2 Turbo C 2.0的安装和启动 12
1.5.3 输入和编辑C源程序 13
1.5.4 运行C程序、查看结果和错误处理 14
1.5.5 存盘和装入 15
1.5.6 退出Turbo C 2.0系统 16
1.6 本章小结 17
1.7 上机练习 17
1.8 习题 18
第2章 基本数据类型 19
2.1 常量与变量 20
2.1.1 常量 20
2.1.2 变量 20
2.2 整数类型 21
2.2.1 整数类型的取值 21
2.2.3 整型变量的使用 22
2.2.2 整型常量 22
2.3 浮点数类型 23
2.3.1 浮点类型的取值 23
2.3.2 浮点类型常量 23
2.3.3 浮点类型变量的使用 24
2.4 字符类型 25
2.4.1 字符类型的取值 25
2.4.2 字符型常量 25
2.4.3 字符串常量 26
2.4.4 字符型变量的使用 26
2.5 数据的输入输出 27
2.5.1 数据输入 27
2.5.2 数据输出 30
2.6 本章小结 34
2.7 上机练习 35
2.8 习题 36
第3章 运算符与表达式 39
3.1 算术运算符、赋值运算符及其表达式 40
3.1.1 二元算术运算 40
3.1.2 一元算术运算 42
3.1.3 赋值运算 42
3.2 关系运算符与关系表达式 44
3.3 逻辑运算符与逻辑表达式 45
3.4 位运算符及其表达式 47
3.5 自增和自减运算符及其表达式 51
3.6 复合赋值运算及其表达式 53
3.7 其他运算符及其表达式 54
3.7.1 sizeof运算 54
3.7.2 条件运算 55
3.7.3 顺序运算 56
3.8 运算符的优先级与结合性 57
3.9.1 表达式类型转换 59
3.9.2 赋值类型转换 59
3.9 类型转换 59
3.9.3 强制类型转换 60
3.10 本章小结 60
3.11 上机练习 61
3.12 习题 64
第4章 程序结构及语句 65
4.1 顺序结构及其语句 66
4.1.1 变量声明语句 66
4.1.2 表达式语句 66
4.1.3 函数调用语句 67
4.1.4 输入输出语句 68
4.2.1 条件语句(if) 69
4.2 选择结构及其语句 69
4.2.2 多路分支语句(switch) 74
4.3 循环结构及其语句 76
4.3.1 for循环语句 77
4.3.2 while循环语句 79
4.3.3 do_while循环语句 81
4.4 辅助控制语句 82
4.4.1 无条件转向语句 82
4.4.2 跳出语句 84
4.4.3 继续语句 85
4.5 本章小结 86
4.6 上机练习 86
4.7 习题 89
第5章 数组 91
5.1.1 一维数组的声明 92
5.1 一维数组 92
5.1.2 一维数组的使用 93
5.2 二维数组 99
5.2.1 二维数组的声明 99
5.2.2 二维数组的使用 100
5.3 字符数组 103
5.3.1 字符数组的声明 104
5.3.2 字符数组的使用 105
5.4 本章小结 108
5.5 上机练习 109
5.6 习题 111
第6章 指针 113
6.1 变量与指针 114
6.2 指针变量的声明 115
6.3.1 取地址运算 116
6.3 指针的取地址和取内容运算 116
6.3.2 取内容运算 117
6.4 指针变量与数组 118
6.4.1 指针变量与一维数组 118
6.4.2 指针变量与多维数组 121
6.4.3 指针变量的运算 122
6.5 字符型指针变量 127
6.5.1 字符型指针的声明 127
6.5.2 字符型指针变量的操作 127
6.6 指针数组 131
6.7 本章小结 132
6.8 上机练习 133
6.9 习题 135
第7章 结构 137
7.2.1 结构类型的定义 138
7.1 结构的基本概念 138
7.2 结构类型的定义与结构变量的声明 138
7.2.2 结构变量的声明和初始化 140
7.3 结构变量的使用 141
7.3.1 引用结构变量成员 141
7.3.2 结构变量的运算和输入/输出 142
7.4 结构数组 143
7.4.1 结构数组的声明 143
7.4.2 结构数组的使用 143
7.5 结构指针与结构数组 145
7.6 内存分配函数、递归结构和链表 148
7.6.1 内存分配函数malloc()的使用 149
7.6.2 递归结构 152
7.6.3 链表 154
7.8 上机练习 157
7.7 本章小结 157
7.9 习题 159
第8章 联合、枚举和自定义类型 161
8.1 联合类型的定义及使用 162
8.1.1 联合类型的定义 162
8.1.2 联合变量的声明和初始化 163
8.1.3 联合变量的使用 164
8.1.4 联合与结构的比较 165
8.2 枚举类型及其使用 167
8.2.1 枚举类型的定义 167
8.2.2 枚举变量的声明 169
8.2.3 枚举变量的使用 169
8.3 自定义类型 170
8.5 上机练习 172
8.4 本章小结 172
8.6 习题 173
第9章 函数 175
9.1 函数的定义与调用 176
9.1.1 函数的定义 176
9.1.2 函数的调用 178
9.1.3 返回语句与返回值 180
9.2 函数的参数传递 183
9.2.1 值传递方式 183
9.2.2 地址传递方式 183
9.3 void类型参数 187
9.3.1 void返回类型 187
9.3.2 void参数类型 188
9.4 递归函数设计 188
9.5 分程序 189
9.6 main()函数参数的使用 190
9.7 Turbo C 2.0库函数介绍 191
9.7.1 数学计算函数 192
9.7.2 字符分类函数 193
9.7.3 字符串处理函数 194
9.7.4 图形处理函数 194
9.8 本章小结 195
9.9 上机练习 195
9.10 习题 198
第10章 存储类别 199
10.1 存储类别的概念 200
10.2 变量的存在性和可见性 200
10.3 变量的存储类别 201
10.3.1 自动变量 202
10.3.2 寄存器变量 203
10.3.3 静态变量 204
10.3.4 外部变量 205
10.4 函数的存储类别 207
10.5 本章小结 208
10.6 上机练习 209
10.7 习题 210
第11章 预处理指令 211
11.1 预处理指令简介 212
11.2 宏替换指令 212
11.2.1 简单宏替换 212
11.2.2 带参数宏替换 214
11.3 文件嵌入指令 215
11.4 条件编译指令 216
11.6 上机练习 217
11.5 本章小结 217
11.7 习题 218
第12章 文件处理 219
12.1 文件与流式文件的概念 220
12.2 流式文件的打开和关闭 221
12.2.1 打开文件 221
12.2.2 关闭文件 222
12.3 流式文件的读写 223
12.3.1 字符串读/写操作 223
12.3.2 字符读/写操作 226
12.3.3 整数读/写操作 227
12.3.4 格式化读/写操作 229
12.3.5 数据块读/写操作 231
12.4 流式文件的定位 234
12.5 流式文件与设备文件 237
12.6 流式文件的错误检测 238
12.7 非流式文件 240
12.8 本章小结 244
12.9 上机练习 245
12.10 习题 247
第13章 图形处理 249
13.1 显示器的工作模式 250
13.1.1 显示卡(显示适配器) 250
13.1.2 文本模式 250
13.1.3 图形模式 250
13.2 窗口和视口 251
13.2.1 窗口 251
13.2.2 视口 251
13.3 文本模式下的程序设计 251
13.3.1 文本模式下程序设计的基本结构 251
13.3.2 文本输出与窗口管理 253
13.3.3 窗口及模式控制 254
13.3.4 属性控制 254
13.3.5 状态查询 255
13.4 图形模式下的程序设计 256
13.4.1 图形模式下程序设计的基本结构 256
13.4.2 图形系统控制 259
13.4.3 绘图及填充 259
13.4.4 管理屏幕及视口 263
13.4.5 文本输出 263
13.4.6 颜色控制 264
附录A 全国计算机等级考试(二级)——C语言大纲(新编) 267
附录B 1999年4月全国计算机等级考试二级笔试试卷 271
附录C ASCll码表 285
附录D 常用Turbo C 2.0库函数 289