目录 1
第一章 C语言概述 1
1.1 C语言的来源和特性 1
1.1.1 C语言的来源 1
1.1.2 C语言的特性 2
1.2 C语言简单程序介绍 2
1.2.1 main()函数 2
1.2.2 常量、变量和关键字 4
1.3 数据类型 9
1.3.1 整型数据 10
1.3.2 字符型数据 12
1.3.3 浮点(float)类型 14
习题 15
第二章 数据的输入输出 18
2.1 格式化输出库函数printf() 18
2.1.1 “控制字符串”中的Type字段 19
2.1.2 关于[类型大小]([size])字段 22
2.1.3 关于[寻址模式]([Address-mode])字段 23
2.1.4 关于[标记][域宽][.精度]([flag][width][.precision])字段 24
2.2 格式化输入函数scanf() 28
2.3 scanf()函数的附加功能 36
2.4 printf()和scanf()的返回值 38
2.5 输入输出宏指令getchar()和putchar() 40
2.6 getch(),getche()以及putch() 44
习题 45
第三章 C语言的运算符和表达式 50
3.1 C语言的运算符 50
3.1.1 算术运算符和算术表达式 50
3.1.2 赋值运算符和赋值表达式 53
3.1.3 关系运算符及关系表达式 56
3.1.4 逻辑运算符与逻辑表达式 57
3.1.5 自增1自减1运算 59
3.1.6 sizeof运算符 60
3.1.7 多元赋值运算符 61
3.1.8 移位运算 62
3.1.9 位逻辑运算 63
3.1.10 条件运算符 65
3.1.11 逗号运算符 65
3.1.12 强制类型转换符 66
3.2 优先级和结合性 66
3.3 算术运算中的类型转换 68
习题 69
第四章 流程控制语句 72
4.1 if语句 72
4.1.1 简单if语句 72
4.1.2 嵌套if语句 75
4.2 switch...case语句 79
4.3 程序举例 83
4.4 循环语句 86
4.4.1 while语句 86
4.4.2 do...while语句 89
4.4.3 for语句 90
4.4.4 循环语句的嵌套 96
4.5 break语句和continue语句 99
习题 102
5.1 函数的定义和说明 111
5.1.1 函数的定义(Function Definetions) 111
第五章 函数 111
5.1.2 函数说明(Function Declarations) 114
5.2 函数调用及函数参数 116
5.2.1 无参调用 116
5.2.2 有参调用 117
5.2.3 函数的返回值 119
5.3 变量存储类别 120
5.3.1 自动变量(auto) 121
5.3.2 静态变量(static) 123
5.3.3 外部变量(extern) 125
5.3.4 寄存器变量(register) 127
5.4.1 函数的嵌套调用 128
5.4 函数的嵌套调用与递归调用 128
5.4.2 函数的递归调用 129
习题 134
第六章 编译预处理 141
6.1 预处理命令 141
6.2 宏定义 141
6.3 文件包含 147
6.4 条件编译 149
习题 152
7.1 一维数组的说明及赋值(Array Declaration And Initiation) 156
7.1.1 一维数组的说明 156
第七章 数组与字符串 156
7.1.2 数组的初值设置 157
7.1.3 程序举例 159
7.2 多维数组 164
7.2.1 二维数组的说明及其初始化 165
7.2.2 应用举例 168
7.3 字符串与数组 172
7.3.1 字符数组的说明和初始化 172
7.3.2 字符数组的引用 174
7.3.3 字符串库函数 175
7.3.4 二维字符串数组 183
习题 184
8.1.1 什么是指针 188
8.1 指针的概念 188
第八章 指针 188
8.1.2 指针变量的说明 189
8.1.3 给指针变量赋值 191
8.2 指针的运算 195
8.2.1 取地址运算符&和间接取运算符* 195
8.2.2 指针的算术运算 198
8.2.3 指针运算举例 199
8.3 指针作参数(call by address) 201
8.3.1 两种传值方式的差别 201
8.3.2 在什么情况下指针作为函数参数 202
8.4 指向指针的指针(二维指针和三维指针) 207
8.5 指向数组的指针(A PointerAnd To An Array) 210
8.5.1 程序举例 210
8.5.2 指针与二维数组的关系 211
8.5.3 访问二维数组元素a[i][j]的几种方法 213
8.6 指向字符串的指针 217
8.6.1 一个字符串常量代表一个地址 217
8.6.2 指向字符的指针数组 220
8.7 指向函数的指针 222
8.7.1 指向函数的指针变量的说明及赋值 223
8.7.2 用指向函数的指针变量调用函数 224
8.7.3 函数指针变量作为函数参数 225
8.8 命令行参数 227
8.9 用typedef定义新的类型名 228
习题 229
第九章 结构、联合与枚举 236
9.1 结构说明 236
9.1.1 有关结构概念的一个实例 236
9.1.2 结构类型定义的一般形式 237
9.1.3 结构型变量的定义 238
9.1.4 给结构变量分配存储空间 240
9.2 结构初始化 241
9.3 对结构成员的引用 242
9.4.1 结构数组的定义 247
9.4 结构数组 247
9.4.2 结构数组的初始化和引用 249
9.5 结构型指针 253
9.5.1 结构型指针变量的定义 253
9.5.2 用结构型指针变量引用结构的各成员 254
9.5.3 结构变量运算小结 258
9.6 结构型变量作函数参数 259
9.6.1 将实参的数值传送给形参(call by Value) 259
9.6.2 将实参的地址值传送给形参(call by Address) 259
9.7 动态数据结构 264
9.7.1 线性链表的一般概念 264
9.7.2 线性链表的建立和输出 267
9.7.3 线性链表的插入操作 270
9.7.4 线性链表的删除操作 272
9.8 联合 273
9.8.1 联合类型及该类型的变量定义 274
9.8.2 联合型变量所占存储空间 274
9.8.3 对联合变量及其成员的操作 275
9.9 位域 280
9.10 枚举类型 281
9.10.1 枚举类型及其变量定义的一般格式 281
9.10.2 枚举类型的运算 282
习题 283
10.1.1 DOS环境下的文件类型 288
10.1 文件概述 288
第十章 文件 288
10.1.2 缓冲文件系统(高级I/O)和非缓冲文件系统(低级I/O) 289
10.2 缓冲文件系统 291
10.2.1 文件(FILE)类型指针 291
10.2.2 文件的打开和关闭 291
10.2.3 字符I/O 294
10.2.4 文件的结束判断及出错检测(feof和ferrorr函数) 298
10.2.5 字符串I/O 301
10.2.6 格式I/O 306
10.2.7 数据块I/O函数 308
10.2.8 文件的定位与随机读写 310
10.3 非缓冲文件系统(低级I/O) 315
习题 318
第十一章 Turbo C的文本屏幕处理 323
11.1 基本概念 323
11.1.1 两种屏幕操作模式 323
11.1.2 窗口的概念 323
11.2 文本屏幕处理函数 323
11.2.1 文本输入输出及管理函数 324
11.2.2 窗口和模式控制函数 328
11.2.3 属性控制函数 329
11.2.4 状态查询函数 332
12.1.1 基本概念 334
12.1.2 进入图形系统 334
12.1 图形操作的基本概念 334
第十二章 图形处理 334
12.2 基本图形处理函数 337
12.2.1 图形系统控制函数 337
12.2.2 绘图及填充函数 340
12.2.3 屏幕和视口的管理函数 358
12.2.4 图形方式下的文本输出函数 363
12.2.5 颜色控制函数 367
12.2.6 错误处理函数 372
12.2.7 状态查询函数 373
附录 常用字符与ASCⅡ码对照表 374