温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
啊哈
思考
一步
编程
轻松
提升
逻辑
啊哈C!思考快你一步 用编程轻松提升逻辑力 北京BEIJINGPublishing House of Electronics Industry 小学生坐在马桶上都可以读懂的“C 语言编程”入门书 啊哈磊 著 内 容 简 介 这是一本非常有趣的编程启蒙书,全书从中小学生的角度来讲述,没有生涩的内容,取而代之的是生动活泼的漫画和风趣幽默的文字。并配合超萌的编程软件,从开始学习与计算机对话到自己独立制作一个游戏,由浅入深地讲述编程的思维。同时,与计算机展开的逻辑较量一定会让你觉得很有意思。你可以在茶余饭后阅读本书,甚至蹲在马桶上时也可以看得津津有味。编程将会改变我们的思维,教会我们如何思考,让我们的思维插上计算机的翅膀,以一种全新的方式来看世界。现在就让我们一起走进计算机编程的神奇世界,探索和发现计算机编程的魔力吧。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 啊哈 C!思考快你一步:用编程轻松提升逻辑力啊哈磊著.北京:电子工业出版社,2013.9 ISBN 978-7-121-21336-6 .啊 .啊 .程序设计青年读物 程序设计少年读物 .TP311.1-49 中国版本图书馆 CIP 数据核字(2013)第 200729 号 责任编辑:徐津平 印 刷:中国电影出版社印刷厂 装 订:中国电影出版社印刷厂 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:8801230 1/20 印张:10 字数:255 千字 印 次:2013 年 9 月第 1 次印刷 印 数:4000 册 定价:39.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。服务热线:(010)88258888。序 经常被问到一个问题:当初你为什么会去学编程?因为我很喜欢玩游戏。每一个喜欢玩游戏的人,都梦想着可以通过修改游戏的程序使游戏中的自己变得非常强大,而这需要学习编程。其实每一个人都曾有过创造游戏的梦想,那我们为什么不把这种梦想变成学习的动力呢?我就是这样踏上编程之路的。牛人肯 汤普逊(Kenneth Lane Thompson)自己编写了一个叫作“星际旅行(Star Travel)”的游戏。而汤普逊为了能更顺畅地玩这个游戏,竟然自己动手用汇编写了 UNIX 操作系统。后来他觉得用汇编写 UNIX 操作系统非常麻烦、非常辛苦,于是和另一个牛人丹尼斯里奇一起创造了 C 语言。没想到吧,C 语言竟然是一个牛人为玩自己写的游戏而创造的。其实这在计算机界很正常,程序员们往往就是因为某个游戏或者软件的现有功能不能满足自己的需求,才开发出了更加优秀的游戏和软件。本书中超萌、超简洁的“啊哈 C”编程软件也是这样来的。经常被问到第二个问题:为什么普通人需要关心编程呢?因为当下程序员几乎主宰了整个世界,控制着你我生活的方方面面。我们住的房子、穿的衣服、吃的东西、用的各种电子产品,以及我们去 ATM 取钱、坐电梯、开汽车、坐飞机、坐火车你坐火车时有没有想过,一条铁轨上同时运行的那么多列火车是如何调度的才没有导致它们相撞呢。这个时代很难想象还有什么不是通过计算机程序控制的。如果想理解这个时代,就必须得理解计算机编程,编程会让我们以一种全新的方式来看世界。当然,在学习编程的过程中还可以提高我们的逻辑推理能力、批判性思维和动手解决问题的能力。与计算机展开的逻辑较量一定会让你觉得很有意思。还经常被问到第三个问题:什么样的人可以自学编程,学习编程需要什么基础?答案是你只需小学四年级以上,并且可以熟练运用鼠标和键盘就可以。你若不信,那就从这本书开始吧。编程很容易让我们实现梦想。如果我们觉得某个游戏玩得不爽,或者某个软件不够好用,想自己做一个。没问题,现在就可以!而唯一的投入就是一台计算机。实现梦想从未变得如此简单过。编程世界里每天都上演着传奇,一大批热爱编程并且满怀梦想的人正在充满激情地奋斗着。编程将会改变我们的思维,教给我们如何思考,会编程的人总想改变点什么。正如乔布斯所说“I think everybody in this country should learn how to program a computer,should learn a computer language,because it teaches you how to think.”致 谢 首先感谢我的父母,不仅仅因为他们辛辛苦苦地把我拉扯大,更因为他们睿智的选择。我读高一那年,家里经济并不富裕,他们却满足了我当时相对奢侈的要求:为我买了我人生中的第一台电脑(赛扬 667)。虽然我从小都在当地还不错的学校读书,但是学习成绩很一般,貌似我的父母并不是很担心这个,我猜只要名次不是倒数就可以吧。很疑惑我的父母为什么如此果断地为我买了当时价值不菲的这台电脑,很感谢他们满足了我当年的超级梦想。感谢江苏省清江中学的周法龙老师,他是我的编程启蒙老师。还感谢崔绪春老师,他是我的高三班主任。在学习压力异常紧张的高三,我爱上了编程,他们不但没有劝阻我,反而鼓励我去学习编程。最后,我在一项编程竞赛(全国青少年信息学奥林匹克联赛)中获得了全国一等奖,被保送到武汉大学。感谢两位老师对我的梦想的支持 大学的日子过得飞快。很幸运能在这匆匆时光下结识了许多男女朋友。胡倩、丁广浩、徐锦鸿、刘晓晖、徐肖南、列夫(这是一个真名)怀念我们一起在银海的日子,一起学习,一起做项目,一起赚钱付房租,一起吃宵夜,一起奋斗期待我们的重逢。特别感谢丁广浩在我创业时对我的信任,以及不计回报的付出,我非常感动。感谢微软亚洲研究院的唐珂和纪蕾(是不是很有缘分),感谢你们各方面的指导。在 MSRA工作、学习的这段日子让我印象最深刻的就是:我们的每个想法,以及每行代码都很有可能最终被用到真正的产品中,这是多么激动人心的事情啊。同时也感谢当时面试我的前辈们,感谢你们给了我锻炼自己的机会。老俞的一句话:在绝望中寻找希望,人生终将辉煌。虽然土,但真正创过业的人必能感受到这句话无穷的力量。亚亚是我第一个创业伙伴,感谢你陪我走过创业初期的风风雨雨。袁毅成、鄢丙荣、周老师、林老师也感谢你们的陪伴与支持。还有华中科技大学的蒋老师,感谢你对我的信任。还有可爱的学生们和家长们,我们永远都是好朋友。感谢博文视点的侠少和符隆美。感谢侠少主动联系我,陪我走过了整本书的创作过程,并给予了很多宝贵意见。感谢我的美女插画师苏谜,你灵感涌现的插图为本书增色。感谢 网站上所有的网友们 rosynirvana、Smallbee、C 习生因为有你们的鼓励,才有了我写下去的动力。感谢所有支持我并且帮助我的人。啊哈磊 2013 年 5 月 28 日 武昌 目 录 第 1 章 编程改变思维.1 第 1 节 为什么要学习编程.1 第 2 节 本书是讲什么的、写给谁看的.4 第 2 章 梦想起航.7 第 1 节 编程的魔力.7 第 2 节 让计算机开口说话.9 第 3 节 多彩一点.18 第 4 节 让计算机做加法.21 第 5 节 数字的家变量.25 第 6 节 数据输出我说咋地就咋地.30 第 7 节 数据输入我说算啥就算啥.33 第 8 节 究竟有多少种小房子.36 第 9 节 拨开云雾见月明.39 第 10 节 逻辑挑战 1:交换小房子中的数.41 第 11 节 天啊!这怎么能看懂.44 第 3 章 较量才刚刚开始.48 第 1 节 大于、小于还是等于.48 第 2 节 判断正数.49 第 3 节 偶数判断.52 第 4 节 神器 else.53 第 5 节 请告诉我谁大.55 第 6 节 逻辑挑战 2:3 个数怎么办.58 第 7 节 逻辑挑战 3:我要排序.62 第 8 节 运算符总结.66 第 9 节 12 究竟对不对.67 第 10 节 讨厌的嵌套.69 第 11 节 if-else 语法总结.72?VI?第 4 章 重量级选手登场.74 第 1 节 永不停止的哭声.74 第 2 节 我说几遍就几遍.78 第 3 节 if 对 while 说:我对你很重要.82 第 4 节 求和!求和!求和!.85 第 5 节 逻辑挑战 4:60 秒倒计时开始.89 第 6 节 这个有点晕循环嵌套来了.93 第 7 节 逻辑挑战 5:奔跑的字母.97 第 8 节 究竟循环了多少次.101 第 9 节 逻辑挑战 6:奔跑的小人.103 第 10 节 for 隆重登场.107 第 5 章 好戏在后面.111 第 1 节 程序的 3 种结构.111 第 2 节 啰嗦一下.112 第 3 节 逻辑挑战 7:判读质数很简单.113 第 4 节 更快一点:break.117 第 5 节 continue.119 第 6 节 逻辑挑战 8:验证哥德巴赫猜想.120 第 7 节 逻辑挑战 9:水仙花数.123 第 8 节 逻辑挑战 10:解决奥数难题.127 第 9 节 逻辑挑战 11:猜数游戏.130 第 10 节 逻辑挑战 12:你好坏,关机啦.134 第 6 章 天啊!一大串数正在接近.136 第 1 节 逆序输出.136 第 2 节 申请 100 个小房子怎么办.137 第 3 节 100 个数的逆序.139 第 4 节 逻辑挑战 13:陶陶摘苹果.140 第 5 节 逻辑挑战 14:一个萝卜一个坑.143 第 6 节 逻辑挑战 15:选择排序.148 第 7 节 二维数组.151 第 8 节 剩下的一些东西.153?VII?第 7 章 有了它你能做更多的事.157 第 1 节 字符的妙用.157 第 2 节 多余的回车键.159 第 3 节 字符的本质.162 第 4 节 人名怎么存储呢.163 第 5 节 逻辑挑战 16:字母的排序.167 第 6 节 逻辑挑战 17:字典序.169 第 7 节 多行字符.170 第 8 节 存储一个迷宫.173 第 8 章 游戏时间到了.176 第 1 节 走迷宫.176 第 2 节 推箱子.186 附录 A 标识符命名规则.188 附录 B 运算符的优先级和结合性.190 第 1章 编程改变思维 第 1 节 为什么要学习编程 你是否还在将计算机(电脑)当作上网、聊天和玩游戏的工具?没错,大部分人是这样的。当你拿起本书阅读到这里的时候,太好了,你又多了一个更好的选择,一个独特的机会!在我们生活的这个时代,你会发现有这样一群人,他们对世界的影响越来越大,电视、报纸和网络到处都充斥着他们的身影。比尔盖茨创立了微软,让计算机更容易被我们平常人所使用1;乔布斯创立了苹果,iPhone、iPad 和 iPod 每一样产品都在改变着我们的日常生活;谢尔 1 1985 年如果乔布斯没有被迫离开苹果,那这一功劳可能将归于苹果的麦金塔计算机。啊哈 C!思考快你一步用编程轻松提升逻辑力 2 盖布林和拉里佩奇两个年轻的小伙创立了 Google,使得获取知识变得前所未有的容易;马克扎克伯格创立了 Facebook,正在改变人与人之间的关系甚至 12 岁的小软件工程师托马斯苏亚雷斯2都在改变我们的世界。他们是怎样的一群人?他们为什么会创造奇迹?奇怪的是他们都有一个共同的特点:在少年时都酷爱计算机编程。计算机编程究竟具有怎样的非凡魔力?计算机编程是否给他们带来与常人不同的思维或思考方式?是否是计算机编程为他们开启了不一样的人生道路?为什么他们从小就开始接触计算机,不但没有沉迷于游戏,反而改变了世界呢?12 岁的托马斯说:“现在的孩子们不再只是爱玩游戏,他们还想自己制作好玩的游戏,不过孩子们大多不知道到哪里去学习计算机编程,而懂得计算机编程的家长又很少。”其实每个人的童年都曾经有创造游戏的梦想,我们为什么不把这种梦想变成学习的动力呢?大部分孩子在面对计算机的时候都缺乏引导,因为他们不知道计算机除了上网、聊天和玩游戏外还能做什么。即使有人想深入地学习计算机,也不知道去哪里学,