标题：C语言范例开发大全
图书信息
书 名: C语言范  例开发大全
作　者：刘艳飞，迟剑，房健　
出版社： 清华大学出版社
出版时间： 2010-6-1
ISBN: 9787302213642
开本： 16开
定价: 89.00元
内容简介
本书共19章，分4篇。基础篇介绍了C语言概述、C语言中的数据和表达式、顺序程序设计、选择程序设计、循环程序设计、控制结构综合实例、数组。提高篇主要介绍了函数、指针、字符串、编译预处理和变量作用域、结构体和共用体、链表。算法篇主要介绍了常用算法、数据结构与算法。底层处理篇主要介绍了位运算、文件、系统调用，最后还介绍了一个综合案例（教务管理系统）的开发。
本书内容丰富，实用性强，实例贴近生活，容易理解，而且书中每一个实例都经过仔细调试。本书适合C语言初、中级学习人员学习和提高使用，也可以作为程序员案头必备的参考资料。另外，对于C/C++求职人员，本书也有较好的参考价值。
图书目录
第1篇  基  础  篇
第1章  C语言初步（教学视频：31分钟） 2
1.1  C语言概述 2
实例001  一个体现C语言特点的例子 2
实例002  设计第一个C语言程序 3
实例003  演示C程序书写规范 5
1.2  C语言程序的调试 7
实例004  演示C程序调试过程 7
实例005  演示开始阶段常见错误 9
第2章  C语言中的数据和表达式（教学视频：39分钟） 11
2.1  数据类型和常量 11
实例006  体现数据类型的作用 11
实例007  符号常量的使用 13
实例008  数值型常量的使用 14
实例009  字符型常量的使用 15
2.2  变量以及变量的应用 17
实例010  演示变量的错误定义 17
实例011  变量的存储 18
实例012  变量的赋值 20
实例013  数据的溢出 21
2.3  算术运算符和表达式 23
实例014  基本算术运算符的应用 23
实例015  自加自减表达式的应用 24
实例016  体现表达式构成的实例 25
2.4  赋值和逗号表达式和运算符 27
实例017  赋值运算符的应用 27
实例018  赋值表达式类型的转化 28
实例019  复合赋值运算符的应用 29
实例020  逗号运算符的应用 30
2.5  关系运算符和表达式 31
实例021  关系运算符的应用 31
实例022  关系表达式进行算术运算 32
2.6  逻辑运算符和表达式 33
实例023  逻辑运算符的应用 33
实例024  体现逻辑运算符特殊性的实例 34
2.7  sizeof、取址运算符和数据类型强制转换 36
实例025  sizeof和取址运算符的应用 36
实例026  类型强制转换 37
第3章  顺序程序设计（教学视频：44分钟） 39
3.1  基本语句的组成 39
实例027  表达式语句的使用 39
实例028  复合语句的使用 41
3.2  标准库函数的应用 42
实例029  stdlib库的函数应用 42
实例030  math库的函数应用 43
3.3  标准输出和输入函数 45
实例031  得到正确的输入数据 45
实例032  输出格式设置 47
3.4  字符输入和输出函数 48
实例033  字符的输入和输出 49
实例034  字符串常量的输出 50
3.5  顺序程序结构 51
实例035  两个变量交换 51
实例036  输出字符的前驱和后继 52
实例037  摄氏度和华氏度之间的转换 53
实例038  分解三位整数的各位数字 54
实例039  计算一元二次方程ax2+bx+c=0的根 55
实例040  打印用星号组成的图案 56
实例041  小写字母转换成大写字母 57
实例042  计算圆形周长、面积和球体体积 58
实例043  求学生总成绩和平均成绩 59
实例044  求三角形面积 60
实例045  小数的四舍五入 61
第4章  选择程序设计（教学视频：101分钟） 62
4.1  if型选择语句 62
实例046  单条件单分支选择语句的应用 62
实例047  单条件双分支if语句的应用 64
实例048  多条件if语句的应用 65
实例049  按照数据由小到大的顺序输出三个数 68
实例050  常见的if语句使用的错误实例 70
实例051  条件运算符的使用 72
4.2  if型选择程序设计综合实例 73
实例052  输入整数判断正负和奇偶 73
实例053  判断输入字符的种类 75
实例054  数学分支函数 76
实例055  输入三角形的边长求面积 78
实例056  不大于5位的正整数的每位数的处理 80
实例057  解方程ax2+bx+ c=0 82
实例058  判断闰年 83
实例059  求某学生的总分、平均分、最高分和最低分 85
4.3  switch 分支选择程序设计 86
实例060  switch的使用 86
实例061  switch使用的错误分析实例 88
实例062  简单计算器 90
实例063  计算工人工资 92
实例064  学生百分制成绩等级评判 93
实例065  模拟自动饮料机 95
实例066  判断某年某月某日是这一年的第几天 96
实例067  根据银行利息的变化计算到期的应得金额 98
4.4  选择程序的测试 100
实例068  并列选择结构的测试 100
实例069  嵌套选择结构的测试 101
实例070  switch结构选择结构的测试 103
第5章  循环程序设计（教学视频：119分钟） 105
5.1  while型循环 105
实例071  while语句的使用 105
实例072  while语句的常见错误实例分析 107
实例073  简单的猜数游戏 109
实例074  爱因斯坦阶梯问题 110
实例075  判断一个整数是否为素数 112
实例076  统计字符 113
实例077  求(的值 115
实例078  最大公约数和最小公倍数 116
实例079  十进制转换为八进制 118
实例080  求某数的阶乘 119
5.2  do…while型循环程序设计 120
实例081  do…while型循环控制实例分析 120
实例082  加密和解密 122
实例083  组成数字的各位和 123
实例084  牛顿迭代法计算方程的根 124
实例085  菜单程序的打印 125
实例086  整数逆序输出 127
实例087  do…while语句常见的错误实例分析 128
5.3  for型循环程序设计 129
实例088  for型循环的使用 130
实例089  输出1~20中能被3整除的数，并求出它们的和 131
实例090  输出华氏——摄氏温度对照表 132
实例091  对给定数目数据的统计 133
实例092  求2000～2050年间的闰年 134
实例093  求4位反序数 135
实例094  斐波那契数列 136
实例095  判断n是否为回文数 138
实例096  计算数列12+22+···+502 139
实例097  银行存款问题 140
实例098  找出个位数为6且能被3整除的五位数 141
5.4  break和continue的应用 142
实例099  break语句的应用 142
实例100  continue语句的应用 143
实例101  输出10～100之间的全部素数 145
实例102  统计不及格的人数 146
5.5  三种循环形式的应用分析 148
实例103  求自然数中各位数字之和 148
实例104  求1!+2!+3!+…n! 149
实例105  计算多个数据的最大值 151
实例106  增长率问题 153
第6章  控制结构综合实例（教学视频：139分钟） 155
6.1  累计问题 155
实例107  计算自然对数e的值 155
实例108  分数数列求和 156
实例109  求a+aa+…+aa…a的和 158
实例110  弹球落地弹起多次的路程计算 159
实例111  猴子吃桃问题 160
实例112  计算s=11+22+33+…+nn 161
实例113  求解立方和不等式13+23+…+m3<n 162
实例114  求解调和级数不等式 163
实例115  求解平方根不等式 164
实例116  实数数列求和 165
实例117  求数列1-1/2-1/3+1/4-…1/n的和 166
6.2  图形输出问题 167
实例118  星号图形的打印 167
实例119  打印九九乘法表 169
实例120  输出数字金字塔 170
实例121  输出字母金字塔 172
实例122  输出国际象棋棋盘 174
实例123  输出星号组成的菱形 175
实例124  绘制余弦曲线 177
实例125  绘制余弦曲线和直线 179
6.3  数学问题 180
实例126  将一个正整数分解质因数 181
实例127  用迭代法计算平方根 183
实例128  若ab×ba=1855，求a、b的取值 184
实例129  用0～9组成无重复的三位数的个数 185
实例130  用对分法求方程的实根 186
实例131  求非线性方程x－1－arctanx=0的一个实根 188
实例132  分子多项式求值 189
实例133  爱因斯坦数学问题 191
实例134  求七进制和九进制数码相反的三位数 192
实例135  输出10 000以内所有的完全数 193
实例136  求4位以内的相亲数 194
实例137  求具有abcd=(ab+cd)2性质的四位数 196
实例138  分数四则运算 197
实例139  输出1～100之间每位数的乘积大于每位数的和的数 199
实例140  阶乘尾数中含有0的个数计算 200
实例141  采用近似计算的方法计算已知函数的定积分 201
6.4  选择问题 202
实例142  求水仙花数 202
实例143  搬砖问题 203
实例144  百元百鸡问题 205
实例145  选人执行任务 207
实例146  排列组合问题 209
实例147  大奖赛评分程序 210
实例148  乒乓球队进行比赛名单 212
第7章  数组（教学视频：153分钟） 213
7.1  一维数组 213
实例149  一维数组的定义 213
实例150  一维数组的初始化 215
实例151  存放统计各分数段的人数 216
实例152  用数组来处理斐波那契数列 219
实例153  数组中元素的比较与交换实例 220
实例154  选择法排序 221
实例155  起泡法排序 223
实例156  数组的查找和插入实例 224
实例157  数据的折半查找 226
实例158  求出平均分并输出学生成绩 229
实例159  课程的总评成绩 230
实例160  成绩的分段统计 231
实例161  判断回文数 233
实例162  三个数组的关系 234
实例163  用5个数组成方阵 236
实例164  找素数并排序 237
实例165  有序数列的插入 239
实例166  判断一个整数是否在数组里 240
实例167  筛选法求素数 241
实例168  将数组元素逆序存放 242
实例169  数字加密 244
7.2  二维数组 245
实例170  二维数组的使用 246
实例171  学生成绩处理 247
实例172  多维数组的处理 249
实例173  下三角形问题 250
实例174  打印杨辉三角 251
实例175  矩阵的转置 253
实例176  两个矩阵相乘 254
实例177  求方阵的对角线元素和 256
实例178  求二维数组每一行的最大值 257
实例179  数组程序实例分析 258
实例180  找出二维数组元素最值 260
实例181  简单的学生成绩管理系统 261
实例182  马鞍点问题 264
实例183  不同行进行排序 266
7.3  特殊矩阵 267
实例184  设计对称矩阵 267
实例185  矩阵特殊元素的填充 269
实例186  蛇形排列数组元素 271
实例187  设计螺旋方阵 273
实例188  设计魔方阵 276
实例189  二维数组每行最大值中的最小值 278
第2篇  提  高  篇
第8章  函数（教学视频：132分钟） 282
8.1  函数的应用 282
实例190  程序中的函数应用 282
实例191  函数的定义 284
实例192  函数的调用 285
实例193  形参和实参单向的值传递 287
实例194  函数参数的求值顺序 289
实例195  声明函数 290
实例196  return语句的应用 291
实例197  有规律数列的求和 292
实例198  编写函数输出图形 294
实例199  歌德巴赫猜想 295
实例200  求1～1000的阶乘和数 296
实例201  比较两个分数的大小 297
实例202  求整数n的全部素数因子 299
8.2  用数组作为函数参数 300
实例203  求数组中元素的最大值 300
实例204  数组元素逆序存放 302
实例205  两个数组元素的交换 304
实例206  约瑟夫环问题 305
实例207  数组中连续相等数的计数 307
实例208  数组中元素的分类存放 308
实例209  两个有序数组中元素的交换 310
实例210  两个矩阵的和 311
实例211  螺旋方阵的填充 313
实例212  判断二维数组元素是否互不相同 315
8.3  嵌套函数 316
实例213  函数嵌套调用 316
实例214  梯形法计算积分 317
实例215  编写连分式的计算程序 319
实例216  组合数的求法 320
实例217  函数嵌套验证哥德巴赫猜想 322
实例218  计算正数的n次根 323
8.4  递归调用 324
实例219  递归解决猴子吃桃问题 324
实例220  递归函数的执行分析 326
实例221  递归求解最大公约数 328
实例222  递归求解数组中的最大值 329
实例223  递归实现整数逆序 330
实例224  递归求数据的平方根 331
实例225  递归输出等腰三角形 332
实例226  递归进行1～n的自然数求和 333
实例227  汉诺塔问题 334
实例228  杨辉三角的递归解决方案 336
实例229  Ackermann()函数的递归程序 337
实例230  组合问题递归 338
实例231  递归计算函数值 339
第9章  指针（教学视频：174分钟） 341
9.1  指针以及指针变量 341
实例232  变量与地址的应用 341
实例233  指针变量的定义 342
实例234  取地址运算符的使用 343
实例235  指针运算符的使用 344
实例236  指针变量使用错误的实例 345
实例237  指针变量的指向 347
实例238  指针变量和整数的运算 348
实例239  指针变量相减运算 350
实例240  指针中比较运算符的应用 351
实例241  指针变量作为函数参数 352
实例242  统计空白符和小写字符的个数 353
9.2  指针和一维数组 355
实例243  利用指针输出一维数组中的元素 355
实例244  统计数组中大于平均值的元素个数 356
实例245  利用指针把数组逆序 357
实例246  指针实现数组元素的移位 358
实例247  对数组中奇偶下标的数据分别求和 360
实例248  使用指针交换两个数组中的最大值 361
实例249  判断数组是否中心对称 362
实例250  整数逆序存放 363
实例251  计算数组连续两个元素积 364
9.3  指针和二维数组 365
实例252  二维数组的地址描述 365
实例253  处理二维数组中的所有元素 367
实例254  使用指向一维数组的指针处理二维数组 368
实例255  求二维数组中元素的最大值 370
实例256  输出二维数组中每行的最大值以及其存储位置 371
实例257  输出学生成绩中2门以上成绩不及格的学生 372
9.4  指向函数的指针 373
实例258  函数指针的应用 373
实例259  利用函数指针求两个数据的最值、和、差 374
9.5  返回指针的函数 376
实例260  返回指针的函数应用 376
实例261  指针函数找出不合格的参赛人员 377
9.6  指针数组 378
实例262  指针数组的应用 379
实例263  指针数组处理字符串 380
9.7  二级指针 381
实例264  二级指针变量的应用 381
实例265  用二级指针处理多个字符串 382
9.8  具有参数的主函数 383
实例266  具有参数的主函数应用 383
实例267  根据命令行的提示选择程序的功能 384
9.9  指针应用综合实例 385
实例268  数组中元素不改变次序的排序 386
实例269  有序数组中删除多余元素 387
实例270  实现有序数组的合并 389
实例271  删除数组中的连续元素 390
实例272  有序数组中元素的插入 391
实例273  统计数组中不同元素出现的次数 392
实例274  利用函数指针计算定积分 394
实例275  利用指针函数输出销售额 396
第10章  字符串（教学视频：183分钟） 398
10.1  字符数组 398
实例276  字符串中逐个字符的输入和输出 398
实例277  字符串的整体输入和输出 399
实例278  不同字符的统计 401
实例279  统计一个字符串中单词的个数 402
实例280  处理多个字符串 403
10.2  字符数组处理字符串 404
实例281  判断字符串是否对称 404
实例282  整数转化为字符串 405
实例283  字符串匹配 406
实例284  字符串复制中实现空白符的显示 408
实例285  转化无符号数据为二进制表示 409
实例286  删除字符串中指定字符 410
实例287  有序字符串的合并 411
实例288  把字符串中的字符插入到升序的字符串中 412
实例289  输出两个字符串的前缀 413
实例290  判断反对称的字符串 414
实例291  数字字符串转换为数字 415
实例292  统计字符串的长度 416
实例293  密码输入程序 417
10.3  字符串函数 418
实例294  去掉字符串的尾空格 418
实例295  计算字符串长度 419
实例296  字符串复制 420
实例297  字符串逆序赋值 421
实例298  字符串连接 422
实例299  自定义字符串连接 423
实例300  字符串比较 424
实例301  自定义字符串比较函数 425
10.4  字符串函数应用 426
实例302  对子串的定位 426
实例303  求子串 427
实例304  子串的插入 428
实例305  删除多个连续字符 430
实例306  字符串升序排序 431
实例307  密码检测 432
10.5  字符指针 433
实例308  使用字符指针变量表示和引用字符串 433
实例309  字符指针作为函数参数 434
实例310  统计子串出现次数 435
实例311  在字符串中删除字符 436
实例312  函数实现字符串连接 437
实例313  去掉字符串前缀0 438
实例314  数字字符串转化为数字 439
实例315  判断子串 441
实例316  字符串的格式化 442
实例317  罗马数字转换 444
实例318  实现通配符匹配功能 445
10.6  字符串处理综合实例分析 446
实例319  返回字符串中的最长单词 446
实例320  十进制数据转换二进制、八进制和十六进制 448
实例321  字符串最大公共子串实例分析 449
实例322  删除指定格式单词 451
实例323  求最长等值子串 452
实例324  串的置换 454
实例325  字符串的插入 456
实例326  字符串的查找 457
第11章  编译预处理和变量作用域（教学视频：112分钟） 460
11.1  宏定义 460
实例327  无参宏的定义 460
实例328  查看预处理结果 461
实例329  无参宏定义的使用 462
实例330  宏的定义域 463
实例331  设计宏进行血压正常的判断 464
实例332  迭代求根中利用宏表示精度 465
实例333  带参宏的定义 466
实例334  宏定义常见的错误实例分析 466
实例335  奇数求和 467
实例336  创建宏计算上缴税款 468
实例337  宏计算三角形面积 469
11.2  文件包含 470
实例338  文件包含的应用 470
实例339  设计输出模式 472
实例340  编写头文件包含圆和球的计算公式 473
11.3  条件编译 474
实例341  #if条件编译指令的使用 474
实例342  条件编译隐藏密码 475
实例343  #elif条件编译指令的使用 476
实例344  #ifdef条件编译指令的使用 477
实例345  #ifndef条件编译指令的使用 478
实例346  用条件编译实现加密和解密 479
实例347  条件编译实现开关功能 480
实例348  条件编译调试程序 481
11.4  变量的作用域 482
实例349  局部变量的应用 483
实例350  寻找nx和ny中末3位数相同且能使x+y的和最小的x和y 484
实例351  全局变量实现交换 485
实例352  全局变量实现成绩处理 486
实例353  变量同名问题的处理 487
11.5  变量的存储属性 489
实例354  使用auto定义的局部变量 489
实例355  使用static定义的局部变量 490
实例356  静态局部变量计算阶乘 491
实例357  使用register定义的局部变量 493
实例358  使用static定义的全局变量 494
实例359  使用external定义的全局变量 494
11.6  函数的作用域 495
实例360  外部函数的应用 495
实例361  多文件程序的运行 497
第12章  结构体和共用体（教学视频：116分钟） 500
12.1  结构体类型和结构变量 500
实例362  结构体类型的定义 500
实例363  结构体变量定义及使用 501
实例364  结构变量内存空间的分配 503
实例365  结构变量的整体应用 504
实例366  结构变量的初始化 505
实例367  结构变量作为函数参数的应用 506
实例368  求空间任两点距离 508
实例369  点和圆的位置判断 509
12.2  结构体数组 510
实例370  结构体数组的使用 510
实例371  结构数组的初始化 512
实例372  整数排序 513
实例373  建立同学通讯录 514
实例374  票数统计 515
实例375  结构数组作为函数参数的应用 517
12.3  结构体指针 518
实例376  结构指针处理变量 518
实例377  指针变量处理结构数组 520
实例378  部分字符加密 521
实例379  指向数组元素的结构指针运算 522
12.4  共用体 523
实例380  共用体变量的应用 523
实例381  共用体变量使用错误实例分析 524
实例382  取出整型变量的高字节和低字节数据 526
实例383  处理任意类型数据 527
12.5  枚举类型 528
实例384  枚举类型的应用 528
实例385  日期的计算 529
实例386  求解不同水果组成的拼盘数目 530
12.6  综合实例分析 532
实例387  复数运算 532
实例388  日期处理 535
实例389  数据连续查询 538
实例390  数据的排序输出 539
实例391  输出火车票价 541
实例392  模拟人工洗牌 542
实例393  使用联合变量保存表格数据 544
第13章  链表（教学视频：113分钟） 548
13.1  动态分配内存 548
实例394  typedef自定义类型的应用 548
实例395  调用malloc()函数分配内存 550
实例396  调用calloc()函数分配内存 551
实例397  一个学生信息的动态存放 552
实例398  处理任意长度的多个字符串 553
13.2  单链表 554
实例399  构建单链表结构 554
实例400  头插法建立单链表 556
实例401  尾插法建立单链表 558
实例402  单链表长度计算 560
实例403  在单链表中按照序号实现元素的查找 561
实例404  在单链表中按照指定值实现元素的查找 562
实例405  单链表中第n个结点前的插入 564
实例406  链表中结点的删除 566
实例407  有序单链表的合并 568
实例408  带有头结点的单链表逆序 570
实例409  在带头结点的单链表中寻找最小值结点 571
实例410  删除链表中从第i个元素开始的len个元素 572
13.3  单循环链表 574
实例411  单循环链表的建立 575
实例412  两个单循环链表的合并 576
实例413  单循环链表中的结点个数统计 577
13.4  双向链表 578
实例414  双向链表的建立 579
实例415  双向链表的插入 580
实例416  双向链表的删除 582
13.5  链表的应用实例 583
实例417  对带有头结点的单链表中的结点进行排序 584
实例418  寻找两个链表的相同元素 586
实例419  单链表的分解 587
实例420  求两个集合的差 589
实例421  单链表中结点的下标和数据的处理 590
实例422  处理整数单链表 591
实例423  删除单链表中连续相同的数据结点 593
实例424  子串的判定 594
实例425  交换双向链表的前后两个结点 595
第3篇  算  法  篇
第14章  常用算法（教学视频：80分钟） 600
14.1  枚举法 600
实例426  找到交通肇事犯 600
实例427  奇异的三位数 601
实例428  三色球问题 602
实例429  求回文素数 603
14.2  递推法 604
实例430  8除不尽的自然数 604
实例431  出售金鱼 605
14.3  模拟人工 606
实例432  回文数的形成 606
实例433  填表格 607
14.4  回溯法 609
实例434  满足特异条件的数列 609
实例435  教师值班问题 611
14.5  常用内部排序 612
实例436  直接插入排序 613
实例437  折半插入排序 614
实例438  希尔排序 615
实例439  冒泡排序 617
实例440  快速交换排序 618
实例441  堆排序 620
实例442  二路归并排序 621
第15章  数据结构与算法（教学视频：91分钟） 623
15.1  线性数据结构 623
实例443  建立线性顺序表 623
实例444  建立顺序栈 625
实例445  括号匹配 627
实例446  循环队列实现 629
实例447  稀疏矩阵的存储 631
实例448  稀疏矩阵转置 632
15.2  二叉树 634
实例449  创建二叉树的二叉链表存储 634
实例450  二叉树先序非递归遍历 636
实例451  二叉树中序非递归遍历 637
实例452  二叉树后序非递归遍历 639
实例453  哈夫曼树 641
15.3  图 643
实例454  图的邻接链表存储结构 643
实例455  图的深度优先遍历 645
实例456  图的广度优先遍历 646
实例457  拓扑排序 647
15.4  常见查找算法 650
实例458  顺序查找的实现 650
实例459  有序表折半查找 651
实例460  动态表的查找 652
第4篇  底层处理与项目开发篇
第16章  位运算（教学视频：36分钟） 658
16.1  按位与、或运算 658
实例461  按位与的运算 658
实例462  取数据的某些位 659
实例463  按位清零 660
实例464  按位或的运算 661
实例465  将一个数的低5位置为1 662
16.2  按位异或、取反运算 663
实例466  按位异或的运算 663
实例467  交换两个数据的值 664
实例468  数据的翻转 664
实例469  按位取反的运算 665
16.3  移位运算 666
实例470  按位左移的运算 666
实例471  按位右移的运算 667
实例472  输出数据的补码 668
16.4  位段 668
实例473  位段变量的内存分配 669
实例474  指向位段指针变量的应用 670
实例475  温度测控系统 671
16.5  位运算综合应用 673
实例476  取出数据的连续几位 673
实例477  数据二进制的存储形式输出 674
实例478  取出数据的偶数位 675
实例479  数据的循环右移位 676
实例480  计算整数中位值为1的个数 677
第17章  文件（教学视频：97分钟） 679
17.1  文件打开 679
实例481  文件的打开与关闭 679
实例482  打开一批文件 681
17.2  文件读写 682
实例483  使用fputc()函数写入文件 683
实例484  使用fgetc()函数读取文件 684
实例485  磁盘文件的复制 685
实例486  多个文件合并 686
实例487  使用fputs()函数写入文件 687
实例488  使用fgets()函数读取文件 688
实例489  文本的存储和输出 689
实例490  使用fprintf()函数写入文件 690
实例491  使用fscanf()函数读取文件 692
实例492  使用fwrite()函数写入文件 693
实例493  使用fread()函数读取文件 694
17.3  文件定位和错误检测 696
实例494  文件指针定位到开头 696
实例495  文件随机读写 697
实例496  文件倒置 699
实例497  出错标志变化 700
实例498  文件检错函数 701
实例499  文本的追加 702
实例500  文件部分输出 703
17.4  文件操作的应用 704
实例501  多个字符存储 705
实例502  多行字符串存储 706
实例503  标准输入输出设备的数据和文件数据 707
实例504  带有行号的文本显示 708
实例505  文件中关键字的检索 709
实例506  文件查找字符串 711
实例507  结构型数据的存储 712
实例508  统计文件的字符数 714
实例509  同时显示两个文件的内容 715
实例510  文件统计 716
第18章  系统调用（教学视频：83分钟） 719
18.1  文本窗口调用 719
实例511  多窗口的定义以及背景色的设置 719
实例512  窗口内文本的输入和输出实例 720
实例513  制作简单的文本菜单 721
18.2  图形窗口调用 723
实例514  绘图前的准备 723
实例515  绘图窗口的颜色设置 724
实例516  图形窗口的坐标 725
实例517  画点函数的使用 725
实例518  绘制直线 726
实例519  绘制矩形 727
实例520  绘制条形条块 728
实例521  绘制多边形 729
实例522  绘制圆形 729
实例523  绘制扇形 730
实例524  设置线条类型 731
实例525  填充类型和填充颜色的设置 732
实例526  图形文本的输出 733
实例527  设置图形文本属性 734
实例528  模拟两个小球动态碰撞 735
实例529  飘带图案 737
实例530  矩形区域的颜色填充 738
实例531  设计立体窗口 739
18.3  中断系统 740
实例532  软中断的调用 740
实例533  硬件中断 742
实例534  在图形界面中调用鼠标 743
实例535  DOS中多任务模拟 746
第19章  教务管理系统（教学视频：22分钟） 748
实例536  教务管理系统主要数据结构设计 748
实例537  程序界面设计 752
实例538  学生记录文件建立 755
实例539  学生成绩记录的录入 758
实例540  计算本学期课程平均成绩 759
实例541  成绩排序 761
实例542  分类统计成绩分布情况 762
实例543  成绩的输出 765
实例544  学生记录的保存 766
实例545  学生的查找操作 767
实例546  学生记录的追加 769
实例547  删除数据库中指定的学生记录 771
实例548  学生数据的修改 773
实例549  课程信息表的建立 775
实例550  安排课程的授课顺序 777
实例551  安排教学计划 779
实例552  教务管理系统实现 780
创作背景
本书约定
【实例介绍】：对需要解决的问题的已知条件和需要解决的部分做出说明，对于某些复杂的问题举例说明该题目的功能是什么，以及要求是什么。
【技术要点】：对待解决的问题给出精辟的分析说明，主要说明问题解决思路，代码构成特点。
【难点剖析】：对于比较困难的实例，给出难点是什么，如何分析难点解决难点，在前面的基础知识部分，难点剖析部分给出的是对于初学者来讲不容易理解的部分和对它的详细分析；后面的应用部分，难点剖析给出的是难点代码的分析实现思路扩展。
【程序代码】：这一部分给出了解决问题的主要C语言代码，在代码中对于重要的变量或者复杂的语句给出注释和解释，对于复杂的函数给出了功能介绍，每一个函数以及函数内的每一条代码都是按照常见的C语言的格式书写的，仔细研读不但可以掌握常见问题的代码书写，对于养成良好的书写风格也是有帮助的。一个实例中有两处代码，或者有正确代码和错误代码对比的，用【程序代码1】、【程序代码2】等标识。
【关键代码分析】：对于程序代码中的关键之处加以详细说明。
【程序运行】：除程序运行过程，对于特殊的部分，例如预编译部分，给出查看预编译效果的运行过程，也就是使用tcc工具查看运行结构过程，对代码中的变量和某些重要语句的作用给出分析和说明。
【拓展应用】：通过代码的学习，为以后的问题解决提供了什么思路，该问题在解决过程应该注意的事项和该问题还可以采用何种算法来解决，都在这部分给出说明。
配书光盘内容介绍
为了方便读者阅读本书，本书附带1张DVD光盘。内容如下：
* 本书550余个实例的源代码。
* 本书550余个实例的多媒体视频讲解，包括实例的实现过程和运行演示。
* 免费赠送的大量互补学习资料，包括编程讲座视频、编程电子书和应用系统等。
适合阅读本书的读者
* 所有想学习C语言的初学者。
* 已经学习C语言基础知识，想进一步学习C语言程序设计的读者。
* 想参加初级、中级程序员考试以及参加全国二级C或者C++考试的人员。
* 进一步学习计算机其他课程例如数据结构想选择参考书的人员。
* 想了解C作为中级语言特点的人员，可以作为开发底层程序的第一本书。
* 各大、中专院校和培训学校的C语言教材。
阅读本书的建议
* 没有C语言基础的读者，建议从第一章顺次阅读并演练每一个实例。
* 有一定C语言基础的读者，可以根据实际情况有重点地选择阅读。
* 对于每一个实例，可以先思考一下实现的思路，然后再阅读，这样的学习效果       更好。
* 先对每一个实例的实现思路和实现过程完整地阅读一遍，然后再结合光盘中的多媒体视频讲解动手实现一次，这样理解会更加深刻。