第1章 C语言中的基础概念 1
1.1 C语言的诞生 2
1.2 C程序的构成 2
1.3 C语言中的字符集 2
1.4 C语言中的词语 2
1.5 C语言中的语句 4
1.6 printf()的格式说明符 11
1.7 C程序的执行 12
1.8 在Turbo C中执行C程序 14
1.9 查看Turbo C中的C语言帮助 16
1.10 单步调试C程序 17
1.11 在UNIX中执行C程序 18
1.12 在Microsoft Visual Studio中执行C程序 18
1.13 使用命令行参数执行C程序 21
第2章 数据类型与操作符 23
2.1 C语言中的数据类型 24
2.2 基本数据类型 25
2.3 修饰符 27
2.4 各种数据类型的最大值和最小值 28
2.5 限定符 29
2.6 C语言中的操作符 30
第3章 C语言中的控制语句 45
3.1 顺序执行 45
3.2 随机执行 46
3.3 if…else语句 47
3.4 do…while循环 50
3.5 while循环 51
3.6 for循环 53
3.7 switch语句 59
3.8 clrscr() 60
3.9 gotoxy() 61
3.10 getche() 61
3.11 break语句 63
3.12 continue语句 65
3.13 goto语句 66
3.14 return语句 68
第4章 数组 74
4.1 一维数组 75
4.2 创建一维数组 75
4.3 为什么数组下标从零开始 76
4.4 二维数组 83
4.5 创建二维数组 84
4.6 三维数组 90
4.7 创建三维数组 91
第5章 函数 94
5.1 函数的组成 95
5.2 函数的形式 97
5.3 函数调用 100
5.4 函数应该写在何处 100
5.5 函数定义 101
5.6 形参和实参 104
5.7 向函数传递数组 104
5.8 递归函数 109
5.9 函数中变量的作用域 110
5.10 结构化编程 112
5.11 创建自定义头文件 114
第6章 字符与字符串 118
6.1 字符处理 118
6.2 字符检测函数 120
6.3 字符串 122
6.4 字符串的内存布局 124
6.5 字符串处理函数 126
6.6 strlen() 126
6.7 strcpy()与strncpy() 127
6.8 strcat() 128
6.9 strcmp()与stricmp() 129
6.10 strncmp()与strnicmp() 130
6.11 strupr()与strlwr() 131
6.12 strrev() 131
6.13 strchr() 132
6.14 strstr() 133
6.15 函数的字符串传参 134
第7章 存储类型 138
7.1 auto存储类型 139
7.2 register存储类型 140
7.3 static存储类型 141
7.4 extern存储类型 143
7.5 局部变量 145
第8章 指针 147
8.1 指针运算 149
8.2 数组与指针 152
8.3 动态内存分配 157
8.4 静态内存与动态内存的区别 159
8.5 malloc() 160
8.6 realloc() 161
8.7 calloc() 161
8.8 free() 162
8.9 指针数组 164
8.10 函数的指针传参和指针返回值 165
8.11 函数指针 171
8.12 回调函数机制 173
8.13 dangling指针 176
8.14 null指针 176
8.15 野指针 177
8.16 near、far和huge指针 177
8.17 void指针 178
8.18 指针的长度 179
8.19 指向指针的指针 181
8.20 指针的优缺点 182
第9章 结构体和联合体 183
9.1 访问结构体成员 184
9.2 声明和初始化结构体 184
9.3 结构体指针 186
9.4 结构体数组 187
9.5 结构体指针数组 192
9.6 向函数传递结构体参数 194
9.7 拷贝结构体变量 197
9.8 嵌套结构体 198
9.9 联合体 202
第10章 文件操作 205
10.1 打开文件 206
10.2 关闭文件 208
10.3 文件类型 208
10.4 文本文件与二进制文件的差别 208
10.5 在文本文件中存储字符 209
10.6 在文本文件中存储字符串 212
10.7 格式化文本文件 214
10.8 二进制文件 218
10.9 打印程序输出 222
10.10 将程序输出重定向到文件 222
10.11 随机访问文件 224
10.12 获取文件大小及记录数 225
10.13 更新记录 227
10.14 删除记录 229
10.15 获取目录中的文件信息 231
第11章 命令行参数 233
11.1 无参main()函数 234
11.2 带void类型参数的main()函数 234
11.3 带两个参数的main()函数 234
11.4 带三个参数的main()函数 236
11.5 在main()函数退出后执行代码 239
11.6 在main()函数中调用其他程序 240
11.7 使用命令行参数 242
11.8 显示文件内容:show命令 243
11.9 拷贝文件内容:cpy命令 244
11.10 删除文件:destroy命令 245
11.11 刷新显示屏:fresh命令 246
11.12 字符、单词、文本行计数:count命令 247
第12章 宏与枚举 249
12.1 宏 250
12.2 条件编译 252
12.3 枚举 253
第13章 C语言与数据结构 258
13.1 栈 259
13.2 创建栈 260
13.3 push操作 260
13.4 pop操作 260
13.5 使用栈验证表达式 264
13.6 队列 266
13.7 队列的创建 267
13.8 往队列中插入一个元素 267
13.9 从队列中删除一个元素 267
13.10 循环队列 270
13.11 链表 273
13.12 创建链表 275
13.13 显示链表 275
13.14 在链表头部插入新节点 277
13.15 在链表尾部插入新节点 279
13.16 在链表中部插入新节点 280
13.17 删除链表头节点 282
13.18 删除链表尾节点 283
13.19 删除链表中间节点 284
13.20 双链表 285
13.21 创建双链表 286
13.22 双链表中的遍历 286
13.23 前向遍历 287
13.24 后向遍历 287
13.25 在双链表头部插入节点 289
13.26 在双链表指定位置之后插入节点 289
13.27 删除双链表头节点 291
13.28 删除双链表指定位置的节点 291
第14章 搜索、排序与合并 293
14.1 搜索技术 294
14.2 线性搜索或顺序搜索 294
14.3 大O记号 294
14.4 二分搜索 296
14.5 排序技术 298
14.6 冒泡排序 299
14.7 快速排序 300
14.8 选择排序 305
14.9 插入排序 306
14.10 合并 308
第15章 图形与动画 311
15.1 绘制像素点 313
15.2 绘制圆 316
15.3 绘制线段 317
15.4 绘制矩形和正方形 318
15.5 绘制椭圆 319
15.6 绘制圆弧 321
15.7 绘制扇形 321
15.8 绘制多边形 321
15.9 前景色和背景色 322
15.10 使用颜色填充图形 323
15.11 使用字体 326
15.12 在图形模式中使用鼠标 328
15.13 创建GUI组件 332
15.14 创建菜单 335
15.15 拷贝图像 337
15.16 实现动画 339
15.17 播放声音 344
第16章 C语言中常见库函数 346
16.1 数学函数 346
16.2 数据转换函数 346
16.3 字符串操作函数 347
16.4 字符检测与转换函数 347
16.5 I/O及文件相关函数 348
16.6 内存相关函数 348
16.7 绘图函数 349
16.8 系统函数 349