热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力
图书信息

至美——C程序设计

中国水利水电出版社
    【作 者】杨克昌 编著 【I S B N 】978-7-5170-3941-9 【责任编辑】张玉玲 【适用读者群】本专通用 【出版时间】2016-01-01 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】532 【千字数】775 【印 张】33.25 【定 价】68 【丛 书】暂无分类 【备注信息】
图书详情

    本书以各类中外趣题的C语言程序设计为主线,取材注重案例的趣味性与典型性,程序突出算法设计与技能运用,旨在培养与提高程序设计的兴趣,增强通过C程序设计解决实际问题的能力。

    书中所精选的案例包括整数搜索、数据处理、模拟探索、智能游戏与图表创建,部分趣题取自国际国内历届信息学(计算机)奥林匹克与各类程序设计竞赛,同时参考了网上读者集中探讨的程序设计热点问题,类型广泛、内容丰富、难度适宜、深入浅出。所有趣题设计求解都给出完整程序代码,可在VC++ 6.0环境下编译通过,有些趣题还采用多个算法、多种思路的程序实现。

    本书作为C程序设计的教学参考资料集,适合本专科在校学生与广大程序设计爱好者学习参考,可供计算机等级考试与程序员水平考试复习使用,也可供IOI、NOI与各级程序设计竞赛培训选用。

    兴趣是最好的老师,它可激发人的创造热情、好奇心和求知欲。

    —爱因斯坦

    面对信息技术迅猛发展的潮流,对于各大专院校在校学生与广大青少年来说,熟练掌握计算机程序设计、自觉应用程序设计解决各类实际问题、全面提高程序设计素养,已经成为一项必须具备的基本技能。

    当前,各大专院校理工科专业一般学习C(C++)语言程序设计,配合程序设计教学的参考书虽然为数不少,却多枯燥乏味、千篇一律,真正生动、有趣、实用的学习资料却是凤毛麟角。为此,笔者新推《至美—C程序设计》,以推动广大在校本专科学生深入学好程序设计,促进程序设计水平与应用技能的快速提高。

    学习计算机语言的目的是什么?当然是程序设计!那么,程序设计的目的又是什么?毫无疑义,程序设计的目的是解决实际问题,求解靠人工计算或推理难以解决的各类实际应用问题。而应用程序设计求解各类实际问题恰恰是现有众多程序设计教材所忽视与缺失的,这也是直接造成广大在校学生学习程序设计感到枯燥乏味的主要原因。

    爱因斯坦曾经说过:“兴趣是最好的老师,它可激发人的创造热情、好奇心和求知欲。”培养与提高学生学习程序设计的兴趣,激发他们应用程序设计解决实际问题的热情,不是一两句空洞说教所能奏效的,需要通过有启发性的生动有趣的实际案例来引导。为此,本书以各类中外趣题的程序设计求解为主线,从案例提出到算法要点,从程序设计到运行示例,环环相扣、融为一体,学生看得见、摸得着、学得会、用得上,容易收到立杆见影、举一反三的效果。

    本书力求突出以下四个特色:

    (1)注重精选问题生动有趣。

    程序设计案例取材注重趣味性与典型性。所精选的案例不仅仅局限于数,更多地涉及数对、数式、数列、数阵(方阵、矩阵)、数表、游戏以至图形与动画等诸多方面,内容包括各类整数搜索、数据处理、智能游戏、模拟探索、数表创建、图形展示,既有引导入门的基础题,也有难度较大的综合题;既有名扬中外的经典名题,也有尝试创新的新颖趣题,类型广泛、内容丰富、难度适宜、深入浅出。

    书中部分选题取自国际国内历届信息学(计算机)奥林匹克与各类程序设计竞赛,同时参考了网上读者集中探讨的程序设计热点问题,有利于高校学生与程序设计爱好者在计算机实例求解上开阔视野,在程序设计思路开拓与技巧应用上有一个深层次的练习与提高。部分难度较大、要求较高的综合案例可供在校学生进行相关课程设计选用。

    (2)注重突出算法核心地位。

    算法是程序的灵魂,没有算法就不可能进行程序设计。本书注重突出算法在程序设计中的核心地位。

    非计算机专业的学生没有专门学习过“算法设计与分析”课程,要求基本掌握枚举(穷举)与递推(迭代)即可解决本书中所列的大多数趣味程序设计问题。

    求解一些难度较大的深层次案例,例如本书中的“最优路径”“马步遍历”等,简单枚举无济于事,必须掌握与应用递归、回溯与动态规划等常用算法。

    在每一案例的“设计要点”中,重点阐述所用的算法设计与实施规范。同时,对有些趣题应用了不同的算法设计求解,以适应不同基础的读者学习,以便读者比较其中的差异与优劣。

    此外,如果有兴趣进行“高精度计算”,则掌握“竖式乘除模拟”(见第12章)是必要的,也是可行的;如果有意“构建图形”(见第20章),则必须了解相关图形设计语句。

    (3)注重设计技能灵活应用。

    注重程序结构的设置与各类参数的选择,注重诸如分解、整合、比较、转换、求精等设计技能的灵活应用,可以分散设计难点,提高程序效率。

    本书采用功能丰富、应用面广、高校学生使用率最高的C语言编写程序,并在方便快捷的VC++ 6.0环境下编译通过。

    本书在每一案例设计求解的完整代码中进行详细注释,并在给出程序运行示例的基础上进行必要的说明与分析。这样做的目的在于帮助读者对所求解问题的清晰理解利于读者对程序结构与语句功能的掌握,满足读者对问题答案的期盼、引导读者发掘程序设计的神奇与美。

    (4)注重程序变通问题引申。

    本书对一些典型案例应用多种不同算法,以不同实现形式与表现风格设计程序,充分体现程序设计的灵活性和多样性。

    程序设计并不是一成不变的,可以实施全方位多层次的改进与变通,变通出成果,变通长能力。程序设计不断改进与优化的过程,既是提高案例求解效率的过程,也是设计能力培养与提高的过程,更是优化意识与创新能力增强的过程。

    同时,对有些案例与设计作适当的引申与拓广,旨在引导读者培养自己提出问题并自觉应用程序设计解决问题的兴趣,引导他们对相关问题或相近案例作类比的设计探索。

    作为C程序设计的资料集,本书把相关或相近的案例整合为一章,每一章围绕一个中心主题,各节又具有相对独立性。

    在书稿的编写过程中,湖南理工学院计算机学院院长王岳斌教授、周持中教授、严权峰副教授与郭华、范波等老师以及刘志辉硕士提出了很好的修改意见,笔者一并在此深表感谢。

    尽管每一案例设计求解都经过反复检查,每一个程序都经过多次运行调试,但因涉及内容较广,难免存在差错,恳请读者指正。

    前言
    第1章 舍罕王失算—不可轻视和与积 1
    1.1 喝汽水 1
    1.2 求和 2
    1.2.1 奇因数代数和 2
    1.2.2 同码小数和 3
    1.3 舍罕王失算 5
    1.4 阶乘与阶乘和数 7
    1.4.1 阶乘计算 7
    1.4.2 阶乘和数 8
    1.5 分级计算 10
    1.5.1 阶梯电价 10
    1.5.2 个人所得税 12
    1.6 解不等式 13
    1.6.1 平方根不等式 13
    1.6.2 调和级数不等式 15
    1.6.3 代数和不等式 16
    1.7 大奖赛现场统分 18
    1.8 地图扫描 21
    第2章 勾股数—古老文明的见证 23
    2.1 最大公约数与最小公倍数 23
    2.2 卡普雷卡数与巧妙平方数 26
    2.2.1 卡普雷卡数 26
    2.2.2 巧妙平方数 30
    2.3 勾股数与长方体数 32
    2.3.1 勾股数 32
    2.3.2 长方体数 35
    2.4 完全数与p-完全数 38
    2.4.1 完全数 38
    2.4.2 p-完全数 39
    2.5 水仙花数与兰德尔数 41
    2.5.1 水仙花数 41
    2.5.2 n位兰德尔数 42
    2.6 守形数 43
    2.6.1 区间守形数 43
    2.6.2 n位守形数 44
    2.7 逐位整除数 45
    第3章 素数—描写宇宙的文字 49
    3.1 素数搜索 49
    3.1.1 试商判别法 49
    3.1.2 厄拉多塞筛法 50
    3.2 梅森尼数 52
    3.3 对称素数 53
    3.4 超级素数 55
    3.5 素数对 58
    3.5.1 孪生素数对 58
    3.5.2 逆序素数对 60
    3.6 连续合数探求 61
    3.6.1 最多连续合数区间 62
    3.6.2 最小连续n个合数 64
    3.7 合数世纪 65
    第4章 泊松分酒—趣味分解的巧妙 67
    4.1 质因数分解 67
    4.2 因式分解 69
    4.3 积最大的整数分解 72
    4.4 整数拆分 73
    4.4.1 零数为连续整数 74
    4.4.2 零数取自指定集合 76
    4.5 整币兑零 77
    4.5.1 特定整币兑零 77
    4.5.2 一般整币兑零 80
    4.6 拔河分组 81
    4.7 泊松分酒 85
    第5章 六六大顺—智能整合的神奇 89
    5.1 相亲数环 89
    5.1.1 4位以内相亲数对 89
    5.1.2 n节相亲数环 90
    5.2 整数分解与重组 92
    5.2.1 双和3元2组 92
    5.2.2 和积3元3组 93
    5.3 等幂和数组 95
    5.3.1 等幂和3元组 95
    5.3.2 等幂和n元组 97
    5.4 古尺神奇 99
    5.5 数码串珠 103
    5.6 六六大顺 107
    5.7 子集和问题 109
    第6章 加密与解密—数据转换的技巧 112
    6.1 分数化小数 112
    6.2 数制转换 113
    6.2.1 十进制转换p进制 113
    6.2.2 q进制转换p进制 115
    6.3 金额大写 116
    6.4 加密与解密 119
    6.5 序号与代码 123
    6.6 抽牌概率 124
    6.6.1 抽数字牌 125
    6.6.2 抽扑克牌 126
    第7章 优美综合式—数式构建的美妙 131
    7.1 奇数序列运算式 131
    7.2 埃及分数式 133
    7.3 桥本分数式 136
    7.4 优美数式 139
    7.4.1 优美和式 139
    7.4.2 优美综合式 142
    7.5 对称运算式 145
    7.5.1 对称单运算式 145
    7.5.2 对称双运算式 150
    7.6 同基因和式 152
    7.7 同基因积式 156
    7.7.1 同基因倍积式 156
    7.7.2 同基因乘积式 158
    第8章 裴波那契数列—递推迭代的典范 160
    8.1 猴子爬山 160
    8.2 真分数序列 163
    8.3 裴波那契数列与应用 164
    8.3.1 裴波那契数列 164
    8.3.2 条件素数序列 166
    8.4 双关系递推数列 167
    8.5 等差素数列 169
    8.6 指数序列 171
    8.6.1 2-3指数序列 171
    8.6.2 指数积序列 175
    8.7 P数序列 179
    8.8 双码二部数序列 182
    第9章 佩尔方程—分类求解的精准 185
    9.1 韩信点兵 185
    9.2 古代趣算 187
    9.2.1 百鸡问题 187
    9.2.2 羊犬鸡兔问题 189
    9.3 涉及商与余数的不定方程 190
    9.4 佩尔方程 192
    9.4.1 枚举测试求解 192
    9.4.2 应用连分数高精度求解 193
    9.5 水手分椰子 196
    9.5.1 5个水手分椰子 196
    9.5.2 n个水手分椰子 199
    9.6 超越方程 201
    第10章 最大r乘积—最优探索的奥秘 204
    10.1 删数字问题 204
    10.2 分数式最值 207
    10.2.1 分数和最接近整数 207
    10.2.2 分式和中的最值 208
    10.3 最大子段和 209
    10.3.1 序列最大子段 209
    10.3.2 环最大子段 211
    10.4 淘汰概率 212
    10.5 子数对 214
    10.5.1 去数字子数对 215
    10.5.2 偶数子素对 217
    10.6 背包效益 219
    10.6.1 可拆背包 219
    10.6.2 0−1背包 220
    10.6.3 二维0−1背包 224
    10.7 插入符号的最值 226
    10.7.1 最大r乘积 226
    10.7.2 最小r加综合和 230
    10.8 最长子序列 233
    10.8.1 最长非降子序列 233
    10.8.2 最长公共子序列 234
    第11章 铁人三项—几何智能的学问 238
    11.1 交通方格网 238
    11.2 矩形剪切构建容器 240
    11.3 智能“铁人三项” 242
    11.3.1 静水“三项” 242
    11.3.2 流水“三项” 243
    11.4 木排漂流 245
    11.5 智能甲虫 248
    11.6 点的覆盖圆 251
    11.7 凸n边形的三角形划分 253
    11.8 三角函数最值 256
    11.8.1 三角函数加权和最小值 256
    11.8.2 三角形正弦加权和最大值 257
    第12章 尾数前移—运算模拟的典范 259
    12.1 乘数探求 259
    12.1.1 积为若干个1 259
    12.1.2 积为若干个2017 260
    12.1.3 积为指定构成 261
    12.2 尾数前移 263
    12.2.1 限1位尾数 263
    12.2.2 多位尾数 265
    12.3 01串积与2码串积 266
    12.3.1 01串积 266
    12.3.2 指定2码串积 268
    12.4 二部数积 270
    12.5 连写数积 273
    12.6 圆周率π指定精度计算 275
    12.7 高精度开方 277
    12.7.1 开平方 277
    12.7.2 开立方 278
    第13章 万年历—数表图案的精彩 280
    13.1 乘法表 280
    13.1.1 九九乘法表 280
    13.1.2 p进制乘法表 282
    13.2 万年历 283
    13.3 循环赛贝格尔表 285
    13.4 金字塔图案 286
    13.4.1 基本塔 286
    13.4.2 套含空心塔 289
    13.5 菱形与灯笼图案 290
    13.5.1 菱形 290
    13.5.2 灯笼 293
    13.6 对称方阵 295
    13.6.1 横竖折对称 295
    13.6.2 斜折对称 296
    13.7 圈号数阵 297
    13.7.1 圈号方阵 297
    13.7.2 层码菱阵 298
    13.8 旋转数阵与转换 300
    13.8.1 双转向旋转方阵 300
    13.8.2 方阵与菱阵转换 302
    第14章 高斯八后—排列组合的经典 305
    14.1 排列计算与实现 305
    14.1.1 计算A(n,m) 305
    14.1.2 实现A(n,m) 307
    14.1.3 实现复杂排列 308
    14.2 组合计算与实现 311
    14.2.1 计算C(n,m) 311
    14.2.2 实现C(n,m) 313
    14.2.3 实现允许重复组合 315
    14.3 伯努利装错信封问题 316
    14.4 分段幂 319
    14.4.1 分段和幂 319
    14.4.2 分段积和幂 322
    14.4.3 分段和积幂 324
    14.5 德布鲁金环序列 326
    14.5.1 4阶环序列 327
    14.5.2 n阶环序列 328
    14.6 高斯八皇后问题 330
    14.6.1 高斯八皇后 330
    14.6.2 拓广n皇后 332
    14.7 情侣拍照 336
    第15章 杨辉三角—古典数阵的启迪 341
    15.1 杨辉三角 341
    15.2 三角数阵子形 343
    15.2.1 最大子形 343
    15.2.2 最小空心子形 347
    15.3 三角数阵最优路径 350
    15.3.1 最大简单路径 350
    15.3.2 最小复杂路径 352
    15.4 矩阵最大子圈 355
    15.5 硬币矩阵翻转 357
    15.5.1 翻转m×9矩阵 357
    15.5.2 翻转m×n矩阵 360
    15.5.3 较大矩阵翻转 364
    15.6 矩阵最优路径 367
    15.6.1 矩阵最小路径 367
    15.6.2 方阵对称路径 369
    15.7 矩阵迷宫最短通道 372
    第16章 幻方—古今中外的奇葩 376
    16.1 构建n阶幻方 377
    16.2 对角正交拉丁方 380
    16.3 积幻方 383
    16.3.1 3阶积幻方 384
    16.3.2 4阶积幻方 385
    16.3.3 一组奇数阶积幻方 387
    16.4 素数幻方 388
    16.4.1 3阶素数幻方 388
    16.4.2 4阶素数幻方 390
    16.4.3 一组素数幻方 393
    16.5 反幻方 396
    16.5.1 3阶反幻方 397
    16.5.2 n阶反幻方 398
    第17章 哈密顿圈—人类智慧的瑰宝 401
    17.1 马步遍历 401
    17.1.1 回溯探求 401
    17.1.2 递归探求 404
    17.1.3 贪心无回溯探求 406
    17.2 带障碍的马步遍历 409
    17.3 马步型哈密顿圈 411
    17.4 组合型哈密顿圈 414
    17.4.1 双拼组合 415
    17.4.2 环绕组合 417
    17.5 带空洞的哈密顿圈 419
    第18章 哥德巴赫猜想—不可或缺的验证 423
    18.1 均位奇观 423
    18.2 角谷猜想 425
    18.3 黑洞数猜想 426
    18.3.1 验证3位黑洞数 427
    18.3.2 探索4位黑洞数 428
    18.4 顺逆求和转换对称数 429
    18.5 特定洗牌 433
    18.6 欧拉素数多项式 435
    18.7 哥德巴赫猜想 437
    第19章 约瑟夫出圈—智力游戏的尝试 440
    19.1 速算竞猜 440
    19.1.1 数字魔术 440
    19.1.2 加减得1 441
    19.1.3 极差过关 444
    19.2 行操作游戏 447
    19.2.1 黑白棋子移动 447
    19.2.2 硬币正反倒面 449
    19.2.3 左右报数出列 451
    19.3 图形填数 452
    19.3.1 等和三角形 452
    19.3.2 和积三角形 454
    19.4 数字牌游戏 457
    19.4.1 按顺序排列翻一移一 457
    19.4.2 翻一移一按顺序翻出 460
    19.5 约瑟夫出圈 464
    19.5.1 顺序围圈报数出圈 464
    19.5.2 围圈报数顺序出圈 465
    19.6 汉诺塔游戏 467
    19.6.1 计算移动次数 467
    19.6.2 展示移动过程 468
    19.7 数独游戏 470
    19.8 取石子游戏 473
    19.8.1 巴什游戏 473
    19.8.2 外索夫游戏 475
    第20章 奥运五环—图形动画的展现 478
    20.1 乌兰现象 478
    20.1.1 乌兰方螺线 479
    20.1.2 机器人漫步 480
    20.2 函数y=sin(x)/x曲线 485
    20.3 奥运五环 487
    20.4 小球滚动与弹跳 489
    20.5 小孔流水演示 491
    20.6 皇后全控棋盘 494
    20.6.1 全控n×n棋盘 494
    20.6.2 全控n×m棋盘 499
    20.7 矩形优化剪切 502
    附录A 程序设计雅趣轮塔 507
    附录B 在VC++ 6.0环境下运行C程序
    方法简介 508
    附录C 语言常用语法提要 514
    附录D C常用库函数 517
    参考文献 521






最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册