第一章 C语言概述 1
教学目标 1
1.1C语言发展简史 1
1.2C语言的特点 2
1.3C程序的基本结构 2
1.4基本符号、标识符和关键字 6
1.5程序设计中的几个基本概念 7
1.6库函数scanf)和printf()的使用 8
1.7TurboC2.0的使用 12
1.7.1TurboC2.0简介 13
1.7.2TurboC2.0的安装和启动 14
1.7.3运行环境的设置 15
1.7.4输入和编辑C源程序 15
1.7.5运行C程序、查看结果和错误处理 16
1.7.6存盘和装入 17
1.7.7退出TurboC2.0系统 17
1.8经典例题 18
1.9习题 19
第二章 基本数据类型 21
教学目标 21
2.1C语言的数据类型 21
2.2数值数据的表示 21
2.2.1整型 21
2.2.2浮点型 22
2.3常量的定义 23
2.3.1字符常量 23
2.3.2字符串常量 24
2.3.3符号常量 24
2.4变量的定义和赋值 24
2.4.1变量的定义 25
2.4.2变量的赋值 25
2.5C语言类型修饰符 27
2.6数据类型转换 29
2.6.1表达式类型转换 29
2.6.2赋值类型转换 30
2.6.3强制类型转换 31
2.7计算机中数据的表示 31
2.7.1二进制、八进制、十六进制 31
2.7.2进制之间的转换 32
2.7.3二进制数在计算机中的表示 33
2.7.4字符编码 34
2.8经典例题 34
2.9习题 35
第三章 控制结构 37
教学目标 37
3.1算法 37
3.1.1算法的结构化描述 38
3.2结构化程序设计 41
3.3顺序结构 42
3.4选择结构 43
3.4.1if语句 43
3.4.2SWITCH语句 50
3.5循环控制语句 53
3.5.1while语句 53
3.5.2dowhile语句 55
3.5.3for语句 56
3.5.4循环嵌套 58
3.5.5break语句与continue语句 59
3.5.6goto语句 60
3.6经典例题 60
3.7习题 65
第四章 运算符和表达式 67
教学目标 67
4.1算术运算符和算术表达式 67
4.1.1算术运算符 67
4.1.2算术表达式 67
4.2关系运算符和关系表达式 68
4.2.1关系运算符 68
4.2.2关系运算符优先级 69
4.2.3关系表达式 69
4.3逻辑运算符和逻辑表达式 70
4.3.1逻辑运算符 70
4.3.2逻辑运算符优先级 71
4.3.3逻辑表达式 72
4.4复合赋值运算符和表达式 72
4.5自增和自减运算符 74
4.6逗号运算符和逗号表达式 75
4.7条件运算符和条件表达式 76
4.8sizeof运算符和表达式 77
4.9运算符的优先级与结合性 77
4.10经典例题 80
4.11习题 82
第五章 函数 83
教学目标 83
5.1概述 83
5.2函数的定义 83
5.3函数的类型说明 85
5.4函数的返回值 86
5.5函数的调用与参数 88
5.5.1函数调用形式 89
5.5.2函数的嵌套调用 90
5.5.3函数的递归调用 90
5.6TurboC2.0库函数介绍 92
5.6.1数学计算函数 93
5.6.2字符分类函数 94
5.6.3字符串处理函数 94
5.6.4图形处理函数 95
5.7经典例题 96
5.8习题 102
第六章 数组 104
教学目标 104
6.1一维数组 104
6.1.1一维数组的定义 104
6.1.2一维数组的引用 105
6.1.3一维数组的初始化 106
6.2二维数组 107
6.2.1二维数组的定义 108
6.2.2二维数组的引用 109
6.2.3二维数组的初始化 110
6.3多维数组 111
6.3.1多维数组的定义 111
6.3.2多维数组的引用 111
6.4字符数组与字符串数组 112
6.4.1字符数组 112
6.4.2字符串数组 113
6.5变长数组 116
6.5.1一维变长数组的初始化 116
6.5.2二维变长数组的初始化 117
6.6字符串操作函数 117
6.6.1单个字符的输入输出 117
6.6.2字符串的输入和输出函数 119
6.7数组作为函数参数 122
6.7.1一维数组元素作为函数参数 122
6.7.2二维字符串数组作为函数参数 122
6.7.3数组名作为函数参数 123
6.7.4多维数组作为函数参数 125
6.8经典例题 126
6.9习题 131
第七章 指针 134
教学目标 134
7.1基本概念 134
7.1.1内存地址 134
7.1.2变量地址 134
7.1.3变量值的存取 135
7.1.4指针与指针变量 135
7.2指针变量的定义与引用 135
7.2.1指针变量的定义 135
7.2.2指针变量的引用 136
7.2.3指针变量作为函数参数 138
7.3数组的指针和指向数组的指针变量 139
7.3.1指向数组的指针变量 139
7.3.2通过指针引用数组元素 140
7.3.3用数组名作函数参数 141
7.3.4用指向数组元素的指针变量作函数参数 142
7.3.5动态数组的实现 143
7.4二维数组的指针及其指针变量 144
7.4.1指向二维数组元素的指针变量 145
7.4.2指向二维数组中一维数组的指针变量 146
7.5字符串的指针和指向字符串的指针变量 147
7.5.1指向字符串的指针变量 147
7.5.2字符串指针作函数参数 148
7.6返回指针值的函数 150
7.7函数的指针和指向函数的指针变量 151
7.7.1函数的指针 151
7.7.2指向函数的指针变量 151
7.7.3指向函数的指针的引用 151
7.7.4指向函数的指针变量作函数参数 152
7.8指针数组 153
7.9指向指针的指针 156
7.10命令行参数 158
7.11经典例题 159
7.12习题 161
第八章 结构体、共用体和枚举类型 163
教学目标 163
8.1结构体 163
8.1.1结构体类型的定义 163
8.1.2结构体变量的定义 164
8.1.3结构体变量的初始化 165
8.1.4结构体变量的引用 166
8.2结构体数组 167
8.2.1结构体数组的定义 168
8.2.2结构体数组的初始化 169
8.2.3结构体数组的引用 169
8.3共用体 170
8.3.1共用体类型的定义 171
8.3.2共用体类型变量的定义 171
8.3.3共用体变量的引用 172
8.4枚举类型 174
8.4.1枚举类型的定义 174
8.4.2枚举类型变量的定义 174
8.4.3枚举类型变量的基本操作 175
8.5定义已有类型的别名 176
8.6经典例题 177
8.7习题 179
第九章 位运算 180
教学目标 180
9.1位运算 180
9.1.1按位与(&) 181
9.1.2按位或(|) 181
9.1.3按位异或(∧) 181
9.1.4取反(~) 183
9.1.5左移(<<) 183
9.1.6右移(>>) 183
9.1.7位运算赋值运算符 184
9.1.8不同长度数据间的位运算 184
9.2位段 185
9.3习题 186
第十章 指向结构体的指针与链表 188
教学目标 188
10.1指向结构体变量的指针 188
10.1.1结构体指针变量的定义 188
10.1.2结构体指针对结构体成员引用 189
10.2指向结构体数组的指针 190
10.3结构体数据作函数参数 191
10.3.1结构体变量的成员作函数参数 191
10.3.2结构体变量作函数参数 191
10.3.3指向结构体的指针作函数参数 192
10.4链表的概念 193
10.4.1链表结构 193
10.4.2简单链表结点定义 193
10.5链表的基本操作 194
10.5.1创建链表 194
10.5.2在链表中插入结点 197
10.5.3对链表的删除操作 199
10.6经典例题 200
10.7习题 205
第十一章 存储类别 207
教学目标 207
11.1存储类别的概念 207
11.2变量的存在性和有效性 207
11.3变量存储类别 208
11.3.1自动变量 208
11.3.2寄存器变量 210
11.3.3静态变量 211
11.3.4外部变量 212
11.4函数的存储类别 213
11.5习题 215
第十二章 文件 217
教学目标 217
12.1文件概述 217
12.2文件的打开与关闭 218
12.2.1文件类型指针 218
12.2.2文件的打开 218
12.2.3文件的关闭 220
12.3文件的读写操作 221
12.3.1字符读写操作 222
12.3.2字符串读写操作 223
12.3.3整数读写操作 224
12.3.4按格式读写操作 226
12.3.5数据块读写操作 229
12.3.6读写其他类型数据 232
12.4读写函数的选用原则 232
12.5文件的定位 232
12.6设备文件 236
12.7检测函数 237
12.8非缓冲区型文件 238
12.9经典例题 242
12.10习题 252
第十三章 TurboC2.0图形处理 254
教学目标 254
13.1显示器的工作模式 254
13.1.1显示卡(显示适配器) 254
13.1.2文本模式 254
13.1.3图形模式 254
13.2文本窗口和图形窗口 255
13.2.1文本窗口 255
13.2.2图形窗口 256
13.3文本模式下的程序设计 256
13.3.1文本模式下程序设计的基本结构 256
13.3.2文本输出与窗口管理 257
13.3.3窗口及模式控制 258
13.3.4属性控制 258
13.3.5状态查询 260
13.4图形模式下的程序设计 261
13.4.1图形模式下程序设计的基本结构 261
13.4.2图形系统控制 267
13.4.3基本图形函数 267
13.4.4管理屏幕及图形窗口 275
13.4.5图形模式下的文本输出 277
13.4.6颜色控制 281
13.5动画技术 282
13.5.1动态开辟图形窗口技术 282
13.5.2显示页和编辑页交替变化技术 283
13.5.3画面存储再重放技术 283
13.5.4图像动态存储器操作技术 285
13.6经典例题 285
13.7习题 294
第十四章 C语言高级编程基础 296
教学目标 296
14.18086芯片的简介 296
14.1.180×86的内部寄存器 296
14.1.2地址计算 297
14.2Turbo编译方式简介 298
14.2.1TurboC的六种存储方式 298
14.2.2混合模式编程 299
14.3系统功能的调用 301
14.3.1BIOS功能的调用 301
14.3.2DOS功能的调用 308
14.4C语言与汇编语言的混合编程 310
14.5习题 312
附录A常用字符与ASCII码对照表 313
附录B常用TurboC2.0库函数 314
参考文献 338