第一章 预备知识 1
1.1 进位数制与不同数的数之间的转换 1
1.1.1 二进制 1
1.1.2 二进制数与十进制数之间的转换 2
1.1.3 二进制数与八进制数、十六进制数之间的转换 4
1.2 二进制数的运算 5
1.3 计算机中数和字符的表示 5
1.3.1 数的原码、反码和补码表示 5
1.3.2 字符的表示 8
习题一 8
第二章 C语言概述 10
2.1 什么是C语言 10
2.2 C语言的特点 11
2.3 C程序介绍 12
习题二 16
第三章 数据类型 17
3.1 C数据类型概述 17
3.2 常量和变量 17
3.2.1 常量与符号常量 17
3.2.2 变量 18
3.3 整型数据 20
3.3.1 整型常量 20
3.3.2 整型变量 20
3.4 实型数据 24
3.4.1 实型常量 24
3.4.2 实型变量 24
3.5 字符型数据 25
3.5.1 字符常量 25
3.5.2 字符变量 26
3.5.3 字符数据在内存中的存储形式及其使用方法 26
3.5.4 字符串常量 28
习题三 28
第四章 运算符与表达式 30
4.1 运算符与表达式概述 30
4.1.1 C运算式简介 30
4.1.2 C表达式简介 31
4.2 算术运算符和算术表达式 32
4.2.1 基本算术运算符和算术表达式 32
4.2.2 增量减量运算符 32
4.3 赋值运算符和赋值表达式 35
4.3.1 赋值运算符和赋值表达式 35
4.3.2 复合赋值运算符 35
4.4 各类数值型数据间的混合运算 36
4.4.1 隐式类型转换 36
4.4.2 赋值表达式两侧数据的类型转换 37
4.4.3 强制类型转换 38
4.5 逗号运算符号和逗号表达式 39
4.6 关系运算符和关系表达式 40
4.7 逻辑运算符和逻辑表达式 42
习题四 45
第五章 结构化程序设计 47
5.1 结构化程序设计基础 47
5.1.1 算法 47
5.1.2 流程图 50
5.2 结构化程序设计方法 53
5.3 C语句概述 56
习题五 59
第六章 顺序控制结构 61
6.1 赋值语句 61
6.2 数据输出 61
6.2.1 字符输出函数putchar 62
6.2.2 格式输出函数printf 62
6.3 数据输入 68
6.3.1 字符输入函数getchar 68
6.3.2 格式输入函数scanf 69
习题六 74
第七章 选择控制结构 76
7.1 if语句 76
7.1.1 if语句的三种形式 76
7.1.2 if语句的嵌套 78
7.1.3 条件运算符 80
7.2 switch语句 82
7.2.1 switch语句的一般形式 82
7.2.2 switch语句的嵌套 83
习题七 84
第八章 循环控制结构 86
8.1 while语句 86
8.2 do-while语句 87
8.3 for语句 88
8.3.1 for语句的一般形式 88
8.3.2 for语句的其它形式 89
8.4 goto语句与语句标号 91
8.5 循环的嵌套 92
8.6 break语句和continue语句 93
8.6.1 break语句 93
8.6.2 continue语句 94
8.7 综合举例 95
习题八 98
第九章 函数 102
9.1 函数的定义 102
9.2 函数参数与函数的值 104
9.2.1 形式参数和实际参数 104
9.2.2 函数的返回值 107
9.3 函数的调用 109
9.3.1 函数调用的方式 109
9.3.2 对被调用函数的说明 110
9.4 函数的嵌套调用 113
9.5 变量的作用域 114
9.5.1 局部变量 114
9.5.2 全局变量 116
9.6 变量的存储类型 118
9.6.1 变量的存储类型 118
9.6.2 局部变量的存储类型 118
9.6.3 全局变量的存储类型 121
9.7 内部函数与外部函数 122
9.8 函数的递归调用 123
习题九 126
第十章 数组 129
10.1 一维数组 129
10.1.1 一维数组的说明 129
10.1.2 一维数组的引用 130
10.1.3 一维数组的初始化 132
10.2 二维数组 134
10.2.1 二维数组的说明 134
10.2.2 二维数组的引用 135
10.2.3 二维数组的初始化 135
10.3 字符数组 137
10.3.1 字符数组的定义、引用及初始化 137
10.3.2 用字符数组处理字符串 138
10.3.3 字符数组的输入输出 139
10.3.4 字符串处理函数 142
10.4 数组作为函数参数 146
10.4.1 数组元素作函数参数 146
10.4.2 数组名作函数参数 147
习题十 152
第十一章 指针 158
11.1指针与指针变量的概念 158
11.1.1指针 158
11.1.2指针变量 159
11.2 变量的指针与指向变量的指针变量 160
11.2.1 变量的指针 160
11.2.2指针变量的定义 160
11.2.3指针运算符 161
11.2.4指针作为函数参数 164
11.3 数组的指针与指向数组的指针变量 167
11.3.1 一维数组的指针与指向一维数组元素的指针变量 167
11.3.2 一维数组的指针作函数参数 168
11.3.3 二维数组的指针与指向二维数组的指针变量 171
11.3.4 二维数组的指针作函数参数 177
11.4 字符串的指针与指向字符串的指针变量 180
11.4.1 字符串的表示形式 180
11.4.2 字符串指针作函数参数 183
习题十一 184
第十二章 结构体 188
12.1 结构类型的定义 188
12.2 结构类型的说明与引用 189
12.2.1 结构类型变量的说明与存储 189
12.2.2 结构类型变量的引用与初始化 192
12.3 结构类型数组 194
12.4 结构类型指针 197
12.5 结构类型与函数 199
12.5.1 函数的结构类型参数 199
12.5.2 结构类型的函数 201
12.6 结构类型嵌套 203
习题十二 206
第十三章 指针的进一步讨论 208
13.1 指针数组和指向指针的指针 208
13.1.1 指针数组的概念及其应用 208
13.1.2 用指针数组作main函数的形参 210
13.1.3 指向一维数组的指针数组 211
13.1.4 指向每指针的指针 212
13.2 函数的指针和指向函数的指针变量 214
13.2.1 函数的指针和指向函数的指针变量 214
13.2.2 使用指向函数的指针来调用函数 214
13.2.3 指向函数的指针数组 216
13.3 返回指针的函数 217
13.3.1 返回指针的函数 217
13.2.2 指向返回指针的函数的指针变量 217
13.2.3 指向返回指针的函数的指针数组 219
13.3.4 返回行指针的函数 219
13.3.5 指向返回行指针的函数的指针变量 219
13.4 用指针处理线性链表 220
13.4.1 线性链表的概念 220
13.4.2 动态存储分配函数 222
13.4.3 线性链表的操作 223
习题十三 229
第十四章 联合用体与枚举类型 231
14.1 联合共用体的定义 231
14.2 联合共用体的应用 233
14.3 枚举类型 235
14.4 类型名重新定义typedef 238
习题十四 239
第十五章 C语言的编译预处理 242
15.1 "文件包含"预处理 242
15.2 宏定义预处理 244
15.2.1 不带参数的宏定义 244
15.2.2 带参数的宏定义 245
15.3 条件编译处理 247
15.3.1 条件编译预处理命令#ifdef 247
15.3.2 条件编译预处理命令#if 249
习题十五 250
第十六章 位运算 251
16.1 二进制位运算概述 251
16.2 位运算符 252
16.3 位段 257
16.3.1 位段的概念和定义 257
16.3.2 位段的引用方法 259
习题十六 260
第十七章 文件 262
17.1 C文件概述 262
17.1.1 C文件的基本概述 262
17.1.2 C文件的处理方法 263
17.2 文件类型的指针 264
17.3 文件的打开与关闭 265
17.3.1 文件的打开 265
17.3.2 文件的关闭 267
17.4 文件的读写 267
17.4.1 输入和输出一个字符 267
17.4.2 输入和输出一个字符串 272
17.4.3 按记录的方式输入和输出 274
17.4.4 格式化的输入和输出 277
17.4.5 输入输出一个字 279
17.5 文件的定位与随机读写 279
17.5.1 文件的定位 280
17.5.2 随机的读写 281
17.6 文件操作的出错检测 282
习题十七 284
第十八章 C语言屏幕界面与绘图程序设计 286
18.1 视频模式概述 286
18.2 本文窗口和图形视区的概述 286
18.2.1 什么是窗口 286
18.2.2 什么是视区 287
18.2.3 坐标 287
18.3 文本模式下的程序设计 287
18.3.1 控制台的函数 287
18.3.2 文本窗口设计 294
18.4 图形模式下的程序设计 296
18.4.1 图形系统控制函数 296
18.4.2 绘图与填充函数 300
18.4.3 屏幕和视区操作 305
18.4.4 图形模式下的文本输出 308
18.4.5 颜色控制 312
18.4.6 图形模式下的错误处理 316
习题十八 318
第十九章 C程序上机调试指导 320
19.1 Turbo C 2.0系统简介 320
19.2 Turbo C的集成开发环境使用简介 320
19.2.1 Turbo C的启动 320
19.2.2 Turbo C的基本操作 321
19.2.3 Turbo C的热键 323
19.2.4 Turbo C的主菜单 323
19.3 Turbo C的菜单命令 324
19.3.1 文件子菜单(File) 324
19.3.2 运行子菜单(Run) 324
19.3.3 编译子菜单(Compile) 325
19.3.4 工程子菜单(Project) 325
19.3.5 选择项子菜单(Options) 326
19.3.6 调试子菜单(Debug) 327
19.3.7 中断/监视子菜单(Break/watch) 327
19.4 C程序调试 327
19.4.1 程序的两种方要错误 328
19.4.2 调试程序的一般过程及其调试方法 328
习题十九 332
附录一 ASCII字符表 334
附录二 C语言的关键字(保留字) 337
附录三 C语言的运算符 338
附录四 Turbo C2.0常用库函数 338
参考文献 358