啊哈C语言!逻辑的挑战(修订版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-10-07 07:15:51

点击下载

作者:啊哈磊

出版社:电子工业出版社

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

啊哈C语言!逻辑的挑战(修订版)

啊哈C语言!逻辑的挑战(修订版)试读:

内容简介

这是一本非常有趣的编程启蒙书,全书从中小学生的角度来讲述,没有生涩的内容,取而代之的是生动活泼的漫画和风趣幽默的文字。配合超萌的编程软件,本书从开始学习与计算机对话到自己独立制作一个游戏,由浅入深地讲述编程的思维。同时,与计算机展开的逻辑较量一定会让你觉得很有意思。你可以在茶余饭后阅读本书,甚至坐在马桶上也可以看得津津有味。编程将会改变我们的思维,教会我们如何思考,让我们的思维插上计算机的翅膀,以一种全新的方式来感知世界。

修订版序

自《啊哈C》出版以来,我与编程爱好者们便有了更多的交流机会。这些编程爱好者之中不乏大学生、中学生、老师、家长,更有小学二、三年级的学生。令我惊喜的是,二、三年级的小读者们与我探讨的并不是浅显的语法或BUG调试问题,更多的是他们通过独立思考发的书中的错误,他们向我阐述自己的思想,与我交流游戏开发中遇到的逻辑、算法等。还有一些读者留言说:“这本书不仅仅是小学生坐在马桶上都能看懂的书,是连我妈妈或是我姥姥都能看懂的编程书!”这些读者实在是太捧场了,有幸让我体验了一次漫卷诗书喜欲狂的感觉。也有好多读者看完后直呼不过瘾,常常询问何时能有第二部。一晃已是三年,借此《啊哈C语言!逻辑的挑战》修订之际,第二部《啊哈C语言!游戏实验室》也如期而至,它景致依旧,故事常新,希望你能喜欢!让我们再次共同探索编程与梦想的一切可能。啊哈磊2016年12月

第一版序

我经常被问到一个问题:当初为什么会去学编程?我的回答是,因为我很喜欢玩游戏。每一个喜欢玩游戏的人,都梦想着可以通过修改游戏的程序使游戏中的自己变得非常强大,而这需要学习编程。其实每一个喜欢玩游戏的人都曾有过创造游戏的梦想,那我们为什么不把这种梦想变成学习的动力呢?我就是这样踏上编程之路的。

牛人肯·汤普逊(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.”啊哈磊2013年9月

注:文中出现的“□”同原版纸书第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的2000次方除以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]吕凯风(VFK)在14岁时以初中生身份获得NOIP(提高组)一等奖,初三时以全省第一名的成绩入选湖北NOIP省队,高一时获得亚洲太平洋地区信息学奥林匹克竞赛(APIO2013)国际金牌,高二时获得NOIP全国第二名,现被保送到清华大学“姚班”。此外,他还独立创作了“对对棋”和“啊哈图”软件。“对对棋”的启发来源于他的班级同学在课间玩的一个游戏,“啊哈图”则是他在学习计算几何和图论知识时,为了方便解题和调试做的一个类似于“几何画板”的软件。第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("wa wa wa");

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

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

那么,现在如果让你写一个语句,让计算机说“ni hao”,该怎么办? printf("ni hao");

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

这里的 #include #include int main() { return 0; }

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

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

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

首先你需要到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语言代码框架的部分写好了。只需要将 printf("ni hao");

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

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

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

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

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

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

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

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

上面这句话就是之前所删除的,其实它的作用就是让计算机“暂停一下”。将这句话放在printf("ni hao");后面,完整的代码如下: #include #include int main() { printf("ni hao"); system("pause"); return 0; }

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

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

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

下面这段代码是让计算机在屏幕上输出hi。其中有3个错误,快来改正吧! #include #include int main( ) { print(hi) system("pause"); return 0; } 更进一步,动手试一试

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

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

3.尝试让计算机显示下面这个图形。 A BC DEF GHIJ KLMNO PQRSTU V W X Y Z 这一节,你学到了什么

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

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

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

请尝试输入以下代码并运行,看看会发生什么。 #include #include int main() { system("color 5"); printf("wa wa wa"); system("pause"); return 0 ; }

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

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

既然字的颜色可以变,那么背景色是否可以变呢?尝试下面这段代码: #include #include int main() { system("color f5"); printf("wa wa wa"); system("pause"); return 0; }

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

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

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

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载