啊哈C!思考快你一步——用编程轻松提升逻辑力(双色)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-02 12:05:55

点击下载

作者:啊哈磊

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

啊哈C!思考快你一步——用编程轻松提升逻辑力(双色)

啊哈C!思考快你一步——用编程轻松提升逻辑力(双色)试读:

内容简介

这是一本非常有趣的编程启蒙书,全书从中小学生的角度来讲述,没有生涩的内容,取而代之的是生动活泼的漫画和风趣幽默的文字。并配合超萌的编程软件,从开始学习与计算机对话到自己独立制作一个游戏,由浅入深地讲述编程的思维。同时,与计算机展开的逻辑较量一定会让你觉得很有意思。你可以在茶余饭后阅读本书,甚至蹲在马桶上时也可以看得津津有味。编程将会改变我们的思维,教会我们如何思考,让我们的思维插上计算机的翅膀,以一种全新的方式来看世界。现在就让我们一起走进计算机编程的神奇世界,探索和发现计算机编程的魔力吧。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据啊哈C!思考快你一步:用编程轻松提升逻辑力/啊哈磊著. —北京:电子工业出版社,2013.9ISBN 978-7-121-21336-6Ⅰ.①啊… Ⅱ.①啊… Ⅲ.①程序设计-青年读物 ②程序设计-少年读物 Ⅳ.①TP311.1-49中国版本图书馆CIP数据核字(2013)第200729号责任编辑:徐津平印  刷:中国电影出版社印刷厂装  订:中国电影出版社印刷厂出版发行:电子工业出版社     北京市海淀区万寿路173信箱 邮编100036开  本:880×1230 1/20 印张:10  字数:255千字印  次:2013年9月第1次印刷印  数:4000册  定价:39.00元

凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。

质量投诉请发邮件至zlts@phei.com.cn,盗版侵权举报请发邮件至dbqq@phei.com.cn。

服务热线:(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工作、学习的这段日子让我印象最深刻的就是:我们的每个想法,以及每行代码都很有可能最终被用到真正的产品中,这是多么激动人心的事情啊。同时也感谢当时面试我的前辈们,感谢你们给了我锻炼自己的机会。

老俞的一句话:在绝望中寻找希望,人生终将辉煌。虽然土,但真正创过业的人必能感受到这句话无穷的力量。亚亚是我第一个创业伙伴,感谢你陪我走过创业初期的风风雨雨。袁毅成、鄢丙荣、周老师、林老师……也感谢你们的陪伴与支持。还有华中科技大学的蒋老师,感谢你对我的信任。还有可爱的学生们和家长们,我们永远都是好朋友。

感谢博文视点的侠少和符隆美。感谢侠少主动联系我,陪我走过了整本书的创作过程,并给予了很多宝贵意见。感谢我的美女插画师苏谜,你灵感涌现的插图为本书增色。感谢ahalei.com网站上所有的网友们rosynirvana、Smallbee、C习生……因为有你们的鼓励,才有了我写下去的动力。感谢所有支持我并且帮助我的人。啊哈磊2013年5月28日 武昌第1章 编程改变思维第1节 为什么要学习编程

你是否还在将计算机(电脑)当作上网、聊天和玩游戏的工具?没错,大部分人是这样的。当你拿起本书阅读到这里的时候,太好了,你又多了一个更好的选择,一个独特的机会!

在我们生活的这个时代,你会发现有这样一群人,他们对世界的影响越来越大,电视、报纸和网络到处都充斥着他们的身影。比尔·[1]盖茨创立了微软,让计算机更容易被我们平常人所使用;乔布斯创立了苹果,iPhone、iPad和iPod每一样产品都在改变着我们的日常生活;谢尔盖·布林和拉里·佩奇两个年轻的小伙创立了Google,使得获取知识变得前所未有的容易;马克·扎克伯格创立了Facebook,正在改变人与人之间的关系……甚至12岁的小软件工程师托马斯·苏亚雷[2]斯都在改变我们的世界。他们是怎样的一群人?他们为什么会创造奇迹?奇怪的是他们都有一个共同的特点:在少年时都酷爱计算机编程。计算机编程究竟具有怎样的非凡魔力?计算机编程是否给他们带来与常人不同的思维或思考方式?是否是计算机编程为他们开启了不一样的人生道路?

为什么他们从小就开始接触计算机,不但没有沉迷于游戏,反而改变了世界呢?12岁的托马斯说:“现在的孩子们不再只是爱玩游戏,他们还想自己制作好玩的游戏,不过孩子们大多不知道到哪里去学习计算机编程,而懂得计算机编程的家长又很少。”

其实每个人的童年都曾经有创造游戏的梦想,我们为什么不把这种梦想变成学习的动力呢?大部分孩子在面对计算机的时候都缺乏引导,因为他们不知道计算机除了上网、聊天和玩游戏外还能做什么。即使有人想深入地学习计算机,也不知道去哪里学,没有方向,更没有一本简单易懂并且有趣的入门书。

计算机从被发明的那一天起,其使命就是来帮助我们提高学习和工作的效率并且改变世界的。利用计算机编程,你可以轻松解决数学难题。例如,□3×6528=3□×8256,在两个□内填入相同的数字使得等式成立。你觉得这样的题目太简单了?那么来个稍微复杂点的:□□□+□□□=□□□,请将1~9这9个阿拉伯数字分别填入9个□中,每个数字只能使用一次使得等式成立。计算机也可以轻轻松松地解决。如果再复杂一点,我想知道上面这个式子的所有解,通过笔算就很困难了,但如果使用计算机编程去解决,却易如反掌,这正是计算机所擅长的。有时你甚至可以利用计算机编程去验证世界性的数学难题,例如,在10 000以内去验证哥德巴赫猜想,也都不成问题。当解决大质数、图论等问题时,计算机编程也是最好的帮手。

那么学计算机究竟是学什么呢?答案是逻辑思维和编程思维。

早在20世纪50年代,美国教育界就开始重视计算机编程教学。20世纪80年代后,计算机编程教学逐渐进入中小学校,以教程序设计语言为主,目的是提高学生的逻辑推理、批判性思维和动手解决问题的能力。实践证明,学习了计算机编程的中小学生,思考问题的方式变得非常逻辑化,学会了严密的逻辑推理方法,并无形中把它应用到其他学科的学习中。学习计算机编程本质上是在学习一种思维方式——编程思维,它是一种思维体操。青少年本身对计算机有着浓厚的兴趣并且有超强的记忆力,计算机编程将有助于开发其学习潜力,提高逻辑推理能力和解决问题的能力。

学习计算机编程的过程充满乐趣。如果你有一个想法,马上就可以通过编程来实现,并且可以立即看到效果。这种即时的反馈,会让你的学习兴趣变得越来越来浓厚,也越来越有信心。这种超强的信心,是你在其他学科中难以感受到的。我还记得我的第一个程序运行成功时的那种兴奋,真是太棒了,你一定要去感受一下,这是你一辈子都不会忘记的感觉。[3]

最后,用笔者的一个武汉二中的学生吕凯风学习编程时的感受来结束本小节。“记得我那时学编程全凭兴趣,兴趣引导我前进。以前做完了作业打游戏,如今写完了作业就编程。我觉得学会编程后最让自己激动的是,我能用编程来解决几乎所有遇到的数学问题。学数学最强调技巧性,比如7的2 000次方除以3的余数是多少?21 212 157是不是质数?你也许可以用一些小技巧把这两个问题解决掉,但是当我们遇到更难的问题时,往往无能为力。比如214 125 315的123 719 857次方除以12 125 987的余数是多少?2 147 483 647是不是质数?很多实际问题并不像数学中的那么理想和美好,许多数学结论,尽管它证明得很巧妙,式子简洁,但是归根结底,如果它只解决了一个特殊问题,则不具有什么实用价值。所以我更喜欢信息学,它告诉我如何去解决一个一般化的问题而不是一个特殊的有技巧性的问题。编程最让我感慨的是它无与伦比的唯一性与严谨性。”

说到这里你是不是有点心动了?第2节 本书是讲什么的、写给谁看的

在写本书之前,我反复问自己几个问题:这本书是讲什么的?是写给谁看的?这本书和一般的编程入门书有什么区别?为什么要写这本书?选用哪一门编程语言入门呢?

第一个问题:这本书是讲什么的?

没错,这是一本编程入门书。但是本书的重点并不是编程入门,而是向你展示逻辑思维和编程思维的魅力,让你像程序员一样思考。

第二个问题:是写给谁看的?

编程类图书给大众的印象一直是枯燥并且难懂。究竟什么样的人才能学习编程呢?大学生?高中生?初中生?……你不会说连小学生都可以吧!没错,只要有小学四年级的水平,我想你一定可以学习编程,并且轻松读懂本书的全部内容。

如果你的情况恰好吻合以下一点或几点,那么本书正是为你所写的。(1)如果你想自己制作好玩的游戏,而不是沉迷于别人的游戏中。(2)如果你曾对数学感兴趣,我想你一定会喜欢这本书。其实学习编程并不需要精通数学,本书不会出现很复杂的数学公式。即使数学不太好,甚至很糟糕,也完全可以阅读。(3)如果你对逻辑感兴趣,你一定更会喜欢这本书。与计算机展开的逻辑较量一定会让你觉得非常有意思。因为计算机有时会显得不那么听话,你让它向东可它却偏偏向西,这时候就一定是你编写的程序出现了逻辑问题。而将你的思维清晰有条理地变成计算机程序,就如同一场你与计算机之间的逻辑对决。学习计算机编程能够很好地锻炼你的逻辑思维能力。(4)如果你从小喜欢拆装玩具、改装小电器或是喜欢变废为宝,我想计算机编程会给你带来更多的创造机会。(5)如果你正在读《高中数学必修三》的“算法”一章,那么你一定要阅读本书,去了解计算机编程和算法的本质。(6)正在学习C语言的理工科或者文科的大学生们。(7)准备学习编程的爱好者,或者准备以此为工作的人。(8)哦,对了,还有就是看了很多编程书籍但是一直没有看懂的人,我想你一定可以轻松读懂本书。(9)没有那么多原因,就是喜欢计算机。

第三个问题:为什么要写这本书呢?

正如前面所说,计算机是一门科学,如果你只是把它当成上网、聊天和玩游戏的工具,那就太可惜了,你将可能失去一个发现自己才能的机会。即使在计算机编程上有一些天赋,你也有可能失去这一机会。和其他人一样,你必须去主动发现自己的天赋和兴趣。就好比你从来没有吃过冰淇淋,就不可能知道自己喜欢吃冰淇淋。然而,如果学习了计算机编程,你就会发现计算机编程就如同玩游戏一样有趣,充满活力的思考过程就如同一场比赛令人兴奋。在尝到了计算机编程给你带来的乐趣后,你就再也不会沉迷于计算机游戏,计算机编程将成为你生活中不可缺少的一部分,成为一种爱好,成为一种学习的动力。我想有更多人期待去了解计算机编程。

最后一个问题:选用哪一门编程语言入门呢?

学习编程的重点在于学习编程的逻辑和思维。本书选用的是较为简单的C语言。你可能要问为什么不选C++、C#、Java或者Python之类。因为我觉得相比之下C语言最为单纯,没有那么多七七八八的东西,非常简洁。即使以C语言为载体,我也尽量做到重点去讲解最有用的东西,而不是C语言的高深语法或者我至今都没有用过的“奇怪”语句。这样我们就有更多的时间去思考如何解决问题,去关注编程的逻辑和思维。

当然,说到底C语言仅仅是我们与计算机沟通的一门语言而已,相信你在阅读完本书之后,可以很轻松地上手任何一门语言,其本质是一样的。根据TIOBE index的程序语言年度排名,2012年最流行的编程语言正是有着40年历史的C语言,它战胜了Java语言位居TIOBE index第一名,这或许也能说明C语言的重要性吧。以C语言为根本,将帮助你更好地去理解编程的思想,而不仅仅是学会编程。

还有我想告诉你编程真的是一件非常有趣的事。你就像是一个指挥官,让计算机毫无怨言地为你工作。通过编程,你将体会到战胜困难和挑战后的快乐与满足。编程的世界充满无限的可能,只有想不到,没有做不到。当然在编程的时候也会遇到很多问题,我在书中也为你设计了绊脚石,希望你能够顺利地把它找出来。尽信书,不如无书。学习不但要细致,还要有思辨的能力,这样才会有创新,才能总结并创造出自己的东西。现在开始自己动手编程,不要放弃曾经的梦想,大胆地创造你的作品。

艾伦·凯曾经这样说道:“在自然科学中,是大自然给出一个世界,而我们去探索其中的法则。对于计算机来说,却是我们自己来构建法则,创造一个世界。”

当下,我们的学习不应该再忙碌于重复的计算、记忆等技能。阅读、逻辑推理和主动思考等技能将成为学习的重点。我们应该使用计算机来增强自己的智能,同时发挥人类独有的创造天赋,让我们的思维插上计算机的翅膀。

最后,我保证本书一定不是那种枯燥无味的编程入门书,并且在此之前你一定没有读过如此生动好玩的编程入门书。你可以在茶余饭后阅读本书,或许蹲在马桶上时也可以看得津津有味。现在就让我们一起走进计算机编程的神奇世界,探索和发现计算机编程的魔力。[1]1985年如果乔布斯没有被迫离开苹果,那这一功劳可能将归于苹果的麦金塔计算机。[2]被誉为“小乔布斯”的12岁少年托马斯是美国加利福尼亚州洛杉矶市南湾地区一所学校的6年级学生。当大多数孩子还处在玩计算机或手机游戏的时候,托马斯就已经是个能开发游戏程序的“软件工程师”了。托马斯不但为苹果公司的手机操作系统编写了两个游戏程序,还创办了一家软件开发公司。[3]吕凯风在14岁时以初中生身份获得全国青少年信息学奥林匹克联赛(高中组)一等奖,初三时以全省第一名的成绩入选湖北省队,高一时获得亚洲太平洋地区信息学奥林匹克竞赛 (APIO2013) 国际金牌。他还独立创作了“对对棋”和“啊哈图”软件。“对对棋”的启发来源于他的班级同学在课间玩的一个游戏,而“啊哈图”则是他在学习计算几何和图论知识时,为了方便解题和调试做的一个类似于“几何画板”的软件。第2章 梦想起航第1节 编程的魔力

从一个神奇的数字说起——2 147 483 647。

2 147 483 647是一个质数(也称为素数,即只能被1和其本身整除的数)。发现这个质数的人是伟大的欧拉同学。1722年,他在双目失明的情况下,以惊人的毅力靠心算证明了2 147 483 647是一个质数,堪称当时已知的世界上最大的质数,他也因此获得了“数学英雄”的美名。现在你通过计算机只需要1秒就可以证明2 147 483 647是一个质数。

再来看一个经典的问题——八皇后问题。

如何能够在8×8的国际象棋棋盘上放置8个“皇后”,使得任何一个“皇后”都无法直接吃掉其他“皇后”?为了达到这个目的,任意两个“皇后”都不能处于同一条横行、纵行或斜线上。下面就是一种解决方案。没错,你可以自己拿出笔和纸画一画,看看还有没有其他方案。但是,如果我想知道所有的方案该怎么办?

又轮到计算机出马了,一共有92种不同的解决方案,很棒吧!计算机只需要1秒,就可以算出所有的解。

再来看一个很流行的益智游戏——数独。

在一个9×9格的大九宫格中有9个3×3的小九宫格,默认在其中填写了一些数字,现在请在其他空格上填入数字1~9。每个数字在每个小九宫格内只能出现一次,每个数字在每行每列也只能出现一次。请看下面这个例子。

我想,你一定很快就找到了一种可行解,可是你知道上面这个数独一共有多少种不同解吗?99 410种不同解!很难想象吧,计算机仍然只需1秒!怎么样,计算机编程是不是很神奇,你甚至可以轻而易举地在一定范围内去验证“哥德巴赫猜想”。

在接下来的内容里你将学会如何与计算机对话,如何让计算机进行数学计算和判断,如何让计算机永不停止地工作,以及做一些很有意思的程序和游戏。一场有趣的逻辑思维大战即将开始,不要走开,赶快进入第2节——让计算机开口说话!第2节 让计算机开口说话

为什么会有计算机的出现呢?我们伟大的人类,发明的每一样东西都是为了帮助我们改善生活。计算机同样是用来帮助我们的工具。想一想,假如你现在希望让计算机帮助你做一件事情,你首先需要做什么?是不是要先与计算机进行沟通?那么沟通就需要依赖于一门语言。人与人的沟通,可以用肢体语言、汉语、英语、法语和德语等。你若要与计算机沟通,就需要使用计算机能够听懂的语言。我们学习的“C 语言”便是计算机语言的一种,计算机语言除了C语言外,还有C++、Java、C#等。C 语言是一门比较简单的计算机语言,更加适合初学者。所有的计算机语言都是相通的,如果你能够熟练掌握C语言,那么再学习其他语言就会变得易如反掌。

既然计算机是人类制造出来的帮助人类的工具,显然让计算机开口说话,让计算机把“它”所知道的东西告诉我们是非常重要的。

下面我们就来解决第一个问题:如何让计算机开口说话?

回想当年,我们刚刚来到这个世界的时候,说的第一句话是什么?应该不会是“你好!”、“吃了没?”……这样会把你的爸爸妈妈吓坏的!

伴随着“wa wa wa”的一阵哭声,我们来到了这个精彩的世界。现在我们也让计算机来“哭一次”。这个地方特别说一下,计算机要把“它”想说的告诉我们,有两种方法,一种是显示在显示器屏幕上,另一种是通过喇叭发出声音。就如同我们,一种是写在纸上,另一种是用嘴巴说出来。目前我们让计算机用音箱输出声音还比较麻烦,因此我们采用另外一种方法,即用屏幕输出“wa wa wa”。

这里有一个生疏单词叫作printf,你不要被它吓坏了,目前你不用搞清楚它的本质意义是什么,只要记住它和中文里面的“说”,以及英文里面的“say”是一个意思,就是控制计算机说话的一个单词而已。在printf后面紧跟的( ),是不是很像一个嘴巴,把要说的内容“放在”这个“嘴巴”里。这里还有一处需要注意,在"wa wa wa"的两边还有"",里面就是计算机需要“说”的内容,这一点是不是很像我们的汉语?最后,一句话结束时要有一个结束的符号。汉语中用句号表示一句话的结束;英语中用点号表示一句话的结束;计算机语言中用分号表示一个语句的结束。

注:计算机的每一句话,就是一个语句。

好了,现在如果让你写一个语句,让计算机说“ni hao”,该怎么办?

我们现在让计算机来运行这个语句,这里需要说明一下,仅仅输入printf("ni hao");,我们的计算机是识别不了的,需要加一个框架。完整的程序如下:

这里的是所有C语言都必须要有的框架,现在你暂时不需要理解它,知道要有这个即可,以后再来详细地讲它的用途。但是有一点,我们今后写的所有类似printf的语句都要写在{ }里才有效。

接下来我们需要让计算机运行我们刚才写的程序。

如果让计算机运行我们写的东西(其实我们写的就是一个C语言[1]程序),需要一个特殊的软件,它叫作“C语言编译器”,“C语言编译器”有很多种,我们这里介绍一种比较简单的软件,叫作“啊哈[2]C”。

首先你需要到www.ahalei.com下载“啊哈C”。下面就要进入安装步骤啦,安装很简单,一共分7步(见图2-1~图2-7),每一步我都截取了图片,你只需一口气将这7幅图片全部看完应该就可以。图2-1 安装“啊哈C”图2-2 开始安装“啊哈C”图2-3 设置“啊哈C”安装目录图2-4 创建桌面图标和启动栏图标图2-5 确认安装信息图2-6 安装正在进行图2-7 “啊哈C”安装成功“啊哈C”安装完毕后,我们便可以看到如图2-8所示的“啊哈C”的界面,同时在你的桌面上也会多一个“啊哈C”图标。图2-8 “啊哈C”的界面“啊哈C”是一个很人性化的软件,你将会发现“啊哈C”已经帮你将C语言代码框架的那几行代码写好了。我们只需要将

这条语句在“啊哈C”中输入就好,如图2-9所示。图2-9 输入printf("ni hao")

细心的同学可能会发现,“啊哈C”默认的C语言框架,比我们之前说的C语言框架多了一句话:

这句话是什么意思呢?稍后我们再揭晓,我们先将这句话删除,删除后的界面如图2-10所示。图2-10 删除system("pause")

好了,同学们请注意,到了最后一步,我们需要让我们的代码运行起来。现在你只需单击“啊哈C”上的“运行”按钮。

接下来,你需要为所写的程序起一个名字,我为这个程序起的名字是“nihao”,当然你可以随便起名,中英文都可以。比如你可以称之为“abc”或“我的第一个程序”,或者叫“1”都行,但是你最好别写火星文或者特殊字符哦,也不能有英文的点号。将程序的名字输入在如图2-11所示的文本框中之后再单击“保存”按钮,接下来就是见证奇迹的时刻。图2-11 给程序起个名字

如果你的代码没有写错,那你的“啊哈C”将会弹出一个对话框,提示“恭喜你编译成功”,如图2-12所示。请同学们注意,在输入代码的时候,一定不要用中文输入法,这里所有的符号都是英文的,一般也都是小写。

下面当然是单击“确定”按钮啦。接下来,请注意:请注视你的计算机屏幕,图2-12 编译成功的提示一秒也不要走开,数秒之后,你将会发现计算机的屏幕上有一个“黑影”闪过,如果你没有发现这个“黑影”,请重新单击“运行”按钮,并再次注视你的计算机屏幕。

此时,你可能想问,为什么屏幕上会出现这个“黑影”?但我们是要在屏幕上显示“ni hao”才对啊。其实刚才那个“黑影”就是“ni hao”,只不过计算机的运行速度太快了,在屏幕上显示之后,就立即消失了。那应该怎么办呢?我们需要让计算机暂停一下。

上面这句话是我们之前删除了的,其实它的作用就是让计算机“暂停一下”。好了,我们将这句话放在printf("ni hao");后面,完整的代码如下:

好了,再次单击“运行”按钮吧。如果代码没有错误,你将看到如图2-13所示的界面。图2-13 运行成功的结果“请按任意键继续…”是system("pause");输出的一个提示,此时你只需按键盘上的任意一个键,这个小黑窗口就会关闭。

如果你想让“ni hao”分两行显示,则只需要将printf("ni hao"); 改为printf("ni\n hao"); 这里的“\n”表示的就是“换行”。注意,这里的“\”是向右下角斜的,它在键盘上的位置,通常是在回车键的上方。好,赶快尝试一下吧。运行结果如图2-14所示。图2-14 分行后的运行结果

当然你也可以让“请按任意键继续...”在下一行显示,只需将printf("ni\nhao"); 改为printf("ni\n hao\n"); 即可,去试一试吧。

一起来找茬

1.下面这段代码是让计算机在屏幕上输出hi。其中有3个错误,快来改正吧!

更进一步,动手试一试

1.尝试一下让计算机显示下面这些图形。

2.如何让计算机说中文呢?请让计算机像下面一样说“早上好”,应该怎么办?

3.再尝试一下让计算机显示下面这个图形。

这一节,你学到了什么

1.如何让计算机开口说话,以及让计算机开口说话的语句是什么?第3节 多彩一点

在本章第2节我们学习了让计算机开口说话应使用printf语句。我们发现,计算机“说”出的话都是黑底白字,其实计算机的输出可以是彩色的,我们一起来看看吧。

注意,此处代码只能在w indows操作系统下编译运行。如果你使用的是本书推荐的C语言的软件“啊哈C”,那么你的代码肯定可以运行成功。OK,下面我们来看看,如何让颜色出现。

请尝试输入以下代码并运行,看看会发生什么。

运行之后你发现了什么?底色仍然是黑色。但是,文字的颜色已经变为“紫色”了,奥秘就在下面这行代码中。

在这句话中,“5”代表“紫色”,你可以尝试一下其他数字,看看分别是什么颜色。

既然字的颜色可以变,那么背景色是否可以变呢?尝试一下下面这段代码:

运行成功后的界面如图2-15所示。

图2-15 运行成功后的界面(此时背景应该为白色,文字颜色应该为紫色)

上面这段代码在原来的5前面加了一个f,这里的f代表背景色是白色。

那么设置背景色和文字颜色的方法是,在color后面加上两个一位数字,第一个数字表示背景色,第二个数字表示文字颜色。如果在color后面只加了一个一位数字,则表示只设置文字颜色,背景色仍然使用默认的颜色。

需要说明的是这里的一位数字其实是16进制的,它只能是0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f中的某一个。[ 题外话 ]“不看,也无伤大雅”

这里我们学习了一个新知识:进制。

在现代数学中,我们通常使用十进制,即使用数字0、1、2、3、4、5、6、7、8、9。9之后的数字便无法表示了,我们的解决方法是:使用“进位”来表示。例如,由于阿拉伯数字只到9,于是我们便进一位,当前这位用0表示,便产生了用10来表示“十”。因为是“逢十进一”,所以称为十进制。

而十六进制是“逢十六进一”,即使用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F来表示。0~9与在十进制时相同,但是“十”在十六进制时用大写字母A表示,以此类推,“十五”在十六进制中用大写字母F来表示。F是“十六进制”中的最后一个,因此数字“十六”就表示不了。于是我们又采用刚才在十进制中表示不了就进一位的老办法,当前应该用0表示。“十六”在十六进制中表示为10。同理,“二十七”在十六进制中表示为1B。

在中国古代,很多朝代都是用十六进制作为日常计数的,例如,成语“半斤八两”的典故来源于十六进制;还有中国古代的算法是上面2颗珠子,下面5颗珠子。若上面每颗珠子代表数字5,下面每颗珠子代表数字1,那么每位的最大计数值是15,15正是十六进制的最大

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载