第1章 C语言概述 1
1-1 C语言的发展简史 1
1-2 C语言的特点 2
1-3 C语言的基本程序结构 3
1-4 算法 6
1-4-1 算法的概念 6
1-4-2 算法的特性 8
1-4-3 算法的描述 9
1-4-4 结构化程序设计 11
1-5 C语言的语法基础 13
1-5-1 C语言字符集 13
1-5-2 标识符 14
1-5-3 保留字 14
1-6 赋值语句和基本输入输出语句 15
1-6-1 赋值语句 15
1-6-2 格式输出语句 16
1-6-3 格式输入语句 17
1-7 小结 18
1-8 习题 19
第2章 基本数据类型和运算符及表达式 21
2-1 常量与变量 21
2-1-1 常量和符号常量 21
2-1-2 变量 22
2-2 整型数据 23
2-2-1 整型常量 23
2-2-2 整型变量 23
2-3 实型数据 27
2-3-1 实型常量 27
2-3-2 实型变量 28
2-4 字符型数据 30
2-4-1 字符常量 30
2-4-2 转义序列 30
2-4-4 符号常量 31
2-4-3 字符串常量 31
2-4-5 字符型变量 32
2-4-6 字符数据在内存中的存放形式及其使用方法 32
2-5 运算符和表达式 34
2-5-1 运算符的分类 34
2-5-2 运算符的优先级与结合性 34
2-5-3 算术运算符和算术表达式 35
2-5-4 增1、减1运算符及表达式 36
2-5-5 赋值运算符和赋值表达式 38
2-5-6 关系运算符和关系表达式 39
2-5-7 逻辑运算符和逻辑表达式 40
2-5-8 逗号运算符和逗号表达式 42
2-5-9 sizeof运算符 43
2-6 数据类型的转换 44
2-6-1 隐式类型转换 44
2-7 程序案例 46
2-6-2 强制类型转换 46
2-8 小结 47
2-9 习题 49
第3章 数据的输入输出 51
3-1 字符输出函数putchar 51
3-2 格式输出函数printf 52
3-2-1 printf函数的一般格式 52
3-2-2 格式字符 53
3-3 字符输入函数getchar 58
3-4 格式输入函数scanf 59
3-4-1 scanf函数的一般格式 59
3-4-2 格式字符 59
3-4-3 通过scanf函数从键盘输入数据 60
3-4-4 scanf函数输入中常见错误分析 61
3-5 程序案例 62
3-7 习题 63
3-6 小结 63
第4章 结构化程序设计 67
4-1 if语句 67
4-1-1 if语句的3种形式 68
4-1-2 if语句的嵌套 71
4-1-3 条件运算符和条件表达式 74
4-2 switch语句 75
4-3 while语句 78
4-3-1 while循环的一般格式 78
4-3-2 while循环的执行过程 78
4-4 do...while语句 80
4-4-1 do...while循环的一般格式 80
4-4-2 do...while循环的执行过程 80
4-4-3 do...while语句和while语句的区别与联系 81
4-5 for语句 82
4-5-1 for循环的一般格式 82
4-5-2 for循环的执行过程 83
4-5-3 for、while、do...while 3种循环的比较 86
4-6 循环嵌套 86
4-7 break语句和continue语句 87
4-7-1 break语句 88
4-7-2 continue语句 89
4-8 语句标号和goto语句 90
4-8-1 语句标号 90
4-8-2 goto语句 90
4-9 程序案例 90
4-10 小结 92
4-11 习题 93
第5章 数组 96
5-1 一维数组 97
5-1-1 一维数组的定义 97
5-1-2 一维数组元素的引用 98
5-1-3 一维数组的初始化 99
5-1-4 一维数组的应用 100
5-2 二维数组 103
5-2-1 二维数组的定义 103
5-2-2 二维数组元素的引用 104
5-2-3 二维数组的初始化 104
5-2-4 二维数组的应用 105
5-3 字符数组 106
5-3-1 字符数组的定义 106
5-3-2 字符数组的初始化 106
5-3-3 字符数组的引用 107
5-3-4 字符串和字符串结束标志 107
5-3-5 字符数组的输入输出 108
5-3-6 字符串处理函数 109
5-3-7 字符数组的应用 110
5-4 程序案例 111
5-5 小结 113
5-6 习题 114
第6章 函数 117
6-1 函数的概念 117
6-1-1 函数的结构 117
6-1-2 函数的定义 118
6-2 函数的参数与返回值 118
6-2-1 函数的参数 118
6-2-2 返回语句 120
6-3 函数的调用 120
6-3-1 函数调用的一般形式 120
6-3-2 函数调用的方式 121
6-3-3 被调函数的说明 122
6-4 函数的嵌套调用 123
6-5 函数的递归调用 125
6-6-1 一维数组名作实参 127
6-6 函数与数组 127
6-6-2 二维数组名和指针数组作实参 128
6-7 程序案例 129
6-8 小结 130
6-9 习题 131
第7章 变量的作用域和存储类型 134
7-1 变量的作用域 134
7-2 变量的存储类型 134
7-2-1 自动变量(auto) 135
7-2-2 外部变量(extern) 136
7-2-3 静态变量(static) 140
7-2-4 寄存器变量(register) 143
7-3 变量的初始化 144
7-4 程序案例 145
7-5 小结 146
7-6 习题 147
第8章 指针 150
8-1 指针的概述 150
8-2 指针变量 151
8-2-1 指针变量的定义与初始化 151
8-2-2 指针变量的引用 153
8-2-3 指针变量的运算 155
8-2-4 指针的应用 157
8-2-5 指针变量作为函数的参数 158
8-3 指针与数组 161
8-3-1 指向数组元素的指针 161
8-3-2 指针和数组的关系 162
8-3-3 指针的下标 163
8-3-4 数组名和指针变量作函数参数 165
8-4 指针与字符串 167
8-4-1 字符串指针变量的定义与使用 167
8-4-2 使用字符串指针变量与使用字符数组的区别 169
8-5-1 函数指针变量 170
8-5 指针与函数 170
8-5-2 指针型函数 171
8-6 指针数组和指向指针的指针 173
8-6-1 指针数组 173
8-6-2 指向指针的指针 174
8-7 main函数的形参、void指针和动态存储分配 175
8-7-1 指针数组作为main函数的形参 175
8-7-2 指向void的指针变量 176
8-7-3 动态存储分配 177
8-8 程序案例 178
8-9 小结 179
8-10 习题 180
9-1 结构体 183
9-1-1 结构体类型说明 183
第9章 构造数据类型 183
9-1-2 结构体变量的定义 184
9-1-3 结构体成员的引用和初始化 188
9-2 结构体数组 190
9-2-1 结构体数组的定义 190
9-2-2 结构体数组的初始化 191
9-3 结构体与函数 192
9-3-1 结构体变量作为函数参数 192
9-3-2 结构体变量为函数的返回值 194
9-4 结构体与指针 196
9-4-1 结构体变量指针 196
9-4-2 结构体数组指针 198
9-4-3 用指向结构体的指针作函数参数 200
9-5 链表 200
9-5-1 链表概述 201
9-5-2 链表的基本操作 201
9-6-1 共用体的概念 203
9-6 共用体 203
9-6-2 共用体变量的引用方式 205
9-7 枚举类型 205
9-8 用typedef定义类型 206
9-9 程序案例 208
9-10 小结 210
9-11 习题 211
第10章 文件 215
10-1 文件概述 215
10-1-1 文件的概念 215
10-1-2 缓冲文件系统和非缓冲文件系统 216
10-2 文件类型指针 217
10-3 文件的基本操作 218
10-3-1 文件的打开 218
10-3-2 文件的关闭 220
10-3-3 文件的读函数 221
10-3-4 文件的写函数 223
10-4 文件的定位函数 225
10-5 文件检测函数 226
10-6 程序案例 226
10-7 小结 229
10-8 习题 229
第11章 编译预处理 232
11-1 宏定义 232
11-1-1 不带参数的宏定义 232
11-1-2 带参数的宏定义 234
11-1-3 终止宏定义 237
11-2 文件包含 237
11-3 条件编译 240
11-4 程序案例 242
11-5 小结 243
11-6 习题 244
12-1-1 “按位与”运算 248
第12章 位运算 248
12-1 位运算符与位运算 248
12-1-2 “按位或”运算 249
12-1-3 “按位异或”运算 250
12-1-4 “按位取反”运算 251
12-1-5 “左移”运算 251
12-1-6 “右移”运算 252
12-1-7 位运算赋值运算符 252
12-2 位段 252
12-3 程序案例 254
12-4 小结 255
12-5 习题 255
第13章 实用项目开发技术简介 259
13-1 图形应用 259
13-1-1 图形与硬件 259
13-1-2 文本与图形 259
13-1-3 图形设计 263
13-1-4 C语言动画设计 264
13-2 菜单设计技术 267
13-2-1 下拉式菜单的设计 267
13-2-2 选择式菜单的设计 270
13-3 程序的组织与管理 271
13-4 软件开发过程 272
13-4-1 可行性和需求分析 273
13-4-2 系统设计 274
13-4-3 软件编码 275
13-4-4 软件测试 276
13-5 小结 276
附录A 常用字符与ASCII代码对照表 279
附录B 运算符的优先级和结合性 280
附录C Turbo C 2.0函数库分类列表 281
参考文献 295