第1篇 C语言基础知识 1
第1章 走入C语言的世界 1
实例1 第一个C语言程序 1
实例2 输出名言 2
实例3 计算变量所占字节数 3
实例4 利用*打印图案 4
实例5 模拟ATM机界面 6
实例6 判断年份是否为闰年 9
实例7 猴子吃桃问题 10
实例8 婚礼上的谎言问题 12
实例9 打鱼晒网问题 13
实例10 等差数列求和 15
实例11 找出数组中的最大值与最小值 16
实例12 数组中元素的倒置 18
实例13 合并两个数组中的元素 19
实例14 删除数组中的元素 21
实例15 输出三个数中的最大值和最小值 23
实例16 求最大公约数和最小公倍数 24
实例17 求100~200的素数 25
实例18 一个三重循环的问题 26
实例19 矩阵的存储方法 27
实例20 求阶乘 34
实例21 实现人机界面的功能 35
实例22 计算数列的平均数 37
实例23 打印ASCⅡ码表 38
实例24 计算一年内两天间隔天数 39
实例25 计算某日是该年的第几天 41
实例26 将浮点数转换为字符串 43
实例27 判断三角形的类型 44
实例28 菜单界面的实现与处理 45
实例29 输出国际象棋棋盘 50
实例30 输出余弦曲线 51
第2章 字符串处理之美 53
实例1 字符串长度的统计 53
实例2 字符串拼接 54
实例3 字符串的比较 55
实例4 查找子串位置 56
实例5 自定义strlen函数 57
实例6 自定义strcat()函数 58
实例7 自定义mystrcmp 60
实例8 自定义mystrstr()函数 61
实例9 字符串中字母数字个数的统计 63
实例10 字符串中各类符号的统计 64
实例11 字符串中单词个数的统计 66
实例12 字符串替换函数 67
实例13 字符串的逆序输出 68
实例14 字符串中子串的删除 70
实例15 字符串中字符的删除 71
实例16 对字符串中字符的排序 72
实例17 字符串的循环右移 73
实例18 单词的排序 74
实例19 字符串的插入 76
实例20 字符串的加密、解密 77
实例21 字符串是否回文 79
实例22 日期类数据的录入 80
实例23 检查身份证号码的正确性 81
实例24 字符串的存在方式 83
实例25 查找子串位置 84
实例56 字符串大小写统一变换 86
实例27 字符串类型的转换 87
实例28 虚拟键码与ASCⅡ码之间的转换 88
实例29 字符串的分割 89
实例30 子字符串的查找 89
第3章 探索指针的奥秘 91
实例1 使用指针交换数据 91
实例2 利用指针进行排序 92
实例3 比较两个字符串大小 93
实例4 结构体保存到指针 95
实例5 数组的逆序 96
实例6 二维数组指针 97
实例7 数组某一列的元素 98
实例8 字符串数组 100
实例9 字符串的比较——指针操作 101
实例10 指向函数的指针 102
实例11 求10个数字中的最大值 103
实例12 结构体指针的使用 104
实例13 字符串连接 106
实例14 指向指针的指针 107
实例15 字符串排序 108
实例16 交换两个数组中的最大值 109
实例17 元素查找操作 111
实例18 整型数组元素的排序 112
实例19 简易背单词系统 113
实例20 指针有多大 116
第4章 结构化编程演练 118
实例1 结构体在内存中的存储 118
实例2 结构体类型数据的使用 119
实例3 复数的加减乘法 120
实例4 简易学生管理系统 123
实例5 结构体指针 125
实例6 工资管理系统 126
实例7 通信录 131
实例8 纸牌的保存 143
实例9 某一年日历的实现 145
实例10 学生管理系统 147
实例11 学生成绩管理系统 153
实例12 枚举型 162
实例13 共用体 163
实例14 结构体的嵌套 164
实例15 字符串长度的统计 166
第5章 让“计算机”名副其实——数值处理 168
实例1 数字的绝对值 168
实例2 2的N次方 169
实例3 可逆素数 170
实例4 回文数字 171
实例5 亲密数字对 172
实例6 自守数 173
实例7 一数三平方 174
实例8 (a×b+c×d)∧2=a×b×c×d 175
实例9 计算e 176
实例10 数字矩阵的转置 177
实例11 矩阵相乘 179
实例12 巧排螺旋方阵 182
实例13 阿姆斯特朗数 183
实例14 一元二次方程 184
实例15 斐波那契数列 185
实例16 一元多项式的加减乘法 186
实例17 进制间的转换 191
实例18 数字前导0的去除 199
实例19 高精度加法 200
实例20 高精度减法 202
实例21 高精度乘法 204
实例22 高精度除法 205
实例23 百钱百鸡问题 208
实例24 车速问题 209
实例25 卖西瓜 210
实例26 捕鱼分鱼 211
实例27 水池注水 212
实例28 巧分苹果 212
实例29 抓交通肇事者 213
实例30 该存多少钱 214
第6章 数据结构的魅力 216
实例1 计算开机时间 216
实例2 候选人选票问题 217
实例3 今天是星期几 220
实例4 头插法创建单向链表 222
实例5 尾插法建立单向链表 227
实例6 双向链表 231
实例7 循环单链表 235
实例8 顺序表插入元素 237
实例9 链栈 239
实例10 栈队列 241
实例11 通过链表存储多项式 246
实例12 二叉树 250
实例13 哈夫曼编码 253
实例14 图的存储 256
实例15 广度优先遍历 266
实例16 深度优先遍历 267
实例17 二分查找法 268
实例18 分块查找 270
实例19 哈希表 272
实例20 二分排序法 276
实例21 选择排序 278
实例22 插入排序 280
实例23 冒泡排序 282
实例24 归并排序 283
实例25 求阶乘问题 286
实例26 选择最佳路径 287
实例27 迷宫求解 289
第7章 神奇的算法 294
实例1 排列 294
实例2 组合 295
实例3 背包问题 297
实例4 寻找假币 299
实例5 常胜将军 300
实例6 猴子争大王 302
实例7 杨辉三角形 305
实例8 任何一个偶数都可以拆分成两个奇数之和 306
实例9 谁是窃贼 307
实例10 四方定理 308
实例11 10个小孩分糖果 309
实例12 兔子产子 311
实例13 歌星大奖赛 312
实例14 字符圆 313
实例15 将阿拉伯数字转换为罗马数字 315
第8章 神秘的递归 317
实例1 等差数列和的递归解法 317
实例2 等比数列和 318
实例3 数组求和 319
实例4 最大公约数 320
实例5 十进制数向二进制数转换 321
实例6 汉诺塔 322
实例7 斐波那契序列 324
实例8 约瑟夫环 325
实例9 八皇后问题 326
实例10 阶乘问题的递归解法 329
第2篇 C语言图形开发及游戏制作 331
第9章 系统调用与绘图 331
实例1 获取当前日期与时间 331
实例2 DOS命令 332
实例3 修改当前日期与时间 334
实例4 获取计算机开机时间 335
实例5 绘图环境的搭建——Hello World 336
实例6 直线绘制五角星 338
实例7 椭圆弧 339
实例8 圆 341
实例9 椭圆形 342
实例10 扇形 343
实例11 多边形 345
实例12 矩形 346
实例13 圆角矩形 347
实例14 点 348
实例15 填充圆 350
实例16 填充椭圆 351
实例17 文字的输出(1) 353
实例18 文字的输出(2) 354
实例19 文字的输出(3) 356
实例20 字体样式 357
实例21 渐变色 359
实例22 绘图句柄 361
实例23 图像的读取 363
实例24 图片的旋转 364
实例25 窗口图像的捕获 366
实例26 星空 367
实例27 多彩墙 369
实例28 捕获鼠标按键 370
实例29 键盘按键操作 372
实例30 文字在背景上移动 374
实例31 圆形渐变色 376
实例32 移动的圆 378
实例33 三角形美图(1) 379
实例34 三角形美图(2) 380
实例35 时钟 381
实例36 鼠标坐标的检测 383
实例37 画曼德布洛特集 384
实例38 艺术字“冰封” 386
实例39 朱利亚集 389
实例40 谢宾斯基(Sierpinski)三角形 391
实例41 基于L系统绘制Hilbert(希尔伯特)曲线 392
实例42 视觉错觉(1) 394
实例43 视觉错觉(2) 396
实例44 一束花 398
实例45 调色板动画程序 400
实例46 玫瑰花 403
实例47 纪念披头士摇滚乐队(Beatles)的程序 406
实例48 流体 410
实例49 火焰 414
实例50 四叶草 418
实例51 任意扇形的最小包围矩形 419
第10章 游戏编程中的创造力 423
实例1 弹球模拟程序 423
实例2 贪吃蛇游戏 424
实例3 鼠标跟随图像 431
实例4 矿井逃生游戏 435
实例5 双人版贪吃蛇游戏 445
实例6 打字母游戏 451
实例7 三维变换线 453
实例8 仓库巡查 457