![啊哈C语言!:逻辑的挑战(修订版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/831/47378831/b_47378831.jpg)
第2节 让计算机开口说话
为什么会有计算机的出现呢?伟大的人类发明的每一样东西都是为了帮助我们改善生活。计算机同样是用来帮助我们的工具。想一想,假如你现在希望让计算机帮助你做一件事情,你首先需要做什么?是不是要先与计算机进行沟通?那么沟通就需要依赖于一门语言。人与人的沟通,可以用肢体语言、汉语、英语、法语和德语等。你若要与计算机沟通,就需要使用计算机能够听懂的语言。我们学习的“C语言”便是计算机语言的一种,计算机语言除了C语言外,还有C++、Java、C#等。C语言是一门比较简单的计算机语言,更加适合初学者。所有的计算机语言都是相通的,如果你能够熟练掌握C语言,那么再学习其他语言就会变得易如反掌。
既然计算机是人类制造出来的帮助人类的工具,显然让它开口说话并把它所知道的东西告诉我们是非常重要的。
下面我们就来解决第一个问题:如何让计算机开口说话?
回想当年,我们刚刚来到这个世界的时候,说的第一句话是什么?应该不会是“你好!”、“吃了没?”……这样会把你爸爸妈妈吓坏的!
伴随着“wa wa wa”的一阵哭声,我们来到了这个精彩的世界,现在我们也让计算机来“哭一次”。这个地方特别说一下,计算机若要把“它”想说的告诉我们,有两种方法:一种是显示在显示器屏幕上;另一种是通过喇叭发出声音。就如同我们有话想说时,一种是写在纸上,另一种是用嘴巴说出来。目前让计算机用音箱输出声音还比较麻烦,因此采用另外一种方法,即用屏幕输出“wa wa wa”。
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/19_1.jpg?sign=1739294571-qQewHpF4haGZncupuqXoRUi94eJ5i5TX-0-d39565fcbd4b3e39bd7ee20d7510222b)
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/19_2.jpg?sign=1739294571-y6Q7cXyNgHsugGJYAKh4XB7vYjkKD00Q-0-170042b5f245078e292cfba0e775c877)
这里有一个生疏单词叫作printf,不要被它吓坏了,目前不用搞清楚它的本质意义是什么,只要记住它和中文里面的“说”,以及英文里面的“say”是一个意思即可,它就是控制计算机说话的一个单词而已。在printf后面紧跟的(),是不是很像一个嘴巴,把要说的内容“放在”这个“嘴巴”里。这里还有一处需要注意,在〝wa wa wa〝的两边还有〝〝,里面就是计算机需要“说”的内容,这一点是不是很像我们的汉语?最后,一句话结束时要有一个结束的符号。汉语中用句号表示一句话的结束;英语中用点号表示一句话的结束;计算机语言中用分号表示一个语句的结束。
注:计算机的每一句话,就是一个语句。
那么,现在如果让你写一个语句,让计算机说“ni hao”,该怎么办?
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/20_1.jpg?sign=1739294571-dKb7Q7x4VmvqH5AlIposgCkGGASf2bbg-0-90c8ddfa2e0b2f66f7bd03677fca192f)
现在我们让计算机来运行这个语句。这里需要说明一下,仅仅输入 printf(〝ni hao〝);,计算机是识别不了的,需要加一个框架。完整的程序如下:
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/20_2.jpg?sign=1739294571-sUJrIV93ewvJm2Kssp8NE58GL3kb7vUA-0-416ca5bcb4d41117431e8a2652384df5)
这里的
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/20_3.jpg?sign=1739294571-sCptBf82hyAbPlrp1R1YisMGnAQN16kf-0-47ea157fdb2963c2d58bfdd77b385f23)
是所有 C 语言都必须要有的框架,现在你暂时不需要理解它,知道要有这个即可,以后再来详细地讲它的用途。但是有一点,我们今后写的所有类似printf的语句都要写在{}里才有效。
接下来需要让计算机运行我们刚才写的程序。
如果让计算机运行我们写的东西(其实我们写的就是一个C语言程序),需要一个特殊的软件,它叫作“C语言编译器”[1],“C语言编译器”有很多种,这里介绍一种比较简单的软件,叫作“啊哈C”[2]。
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/21_1.jpg?sign=1739294571-t0JUShWypPPxUTtqoW3mIvUFltxTyOkb-0-1610a62e55080f1c840e0ebdf410eed7)
首先你需要到www.ahalei.com页面中下载“啊哈C”。下面就要进入安装步骤啦,安装很简单,一共分7步(见图2-1~图2-7),每一步我都截取了图片,你只需一口气将这7幅图片全部看完应该就可以。
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/21_2.jpg?sign=1739294571-90YCvGAOuO6rW9llqqq3WiQ58Ec7s1Tl-0-cb91ea9de75b5c8f48011dd4082d1c02)
图2-1 安装“啊哈C”
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/21_3.jpg?sign=1739294571-ArWqtSgcIiVudJtP2HcaQwha5yCIIz0o-0-3f284aec2bb8d7f86984e06f93f05a9f)
图2-2 开始安装“啊哈C”
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/22_1.jpg?sign=1739294571-mM2LgNPMHca61Oodw6eApk4pPQkyNoxx-0-5dc13063855c041fb2be2fb34d67d65f)
图2-3 设置“啊哈C”安装目录
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/22_2.jpg?sign=1739294571-hQ5FLnDNxVeFcEN7KMN93UFZVq75C3xl-0-9906f36ffba92bdcaade0c22561b0c8a)
图2-4 创建桌面图标和启动栏图标
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/22_3.jpg?sign=1739294571-q054wr29MEEHhBNyHjfxKF0qfhYQC7Kq-0-442ee276ca1506ef392f975149b0f9f7)
图2-5 确认安装信息
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/23_1.jpg?sign=1739294571-DNDqzuXuuhEK72HIN3zCvlGWCKQYhBTq-0-567af4c89cd578129daf6bd6c180b7c5)
图2-6 安装正在进行
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/23_2.jpg?sign=1739294571-uzqvUEmbB34ZAlsd1bOza7hiXCteeGu3-0-679d6ab898049cf70751633283bf0812)
图2-7 “啊哈C”安装成功
“啊哈C”安装完毕后,便可以看到如图2-8所示的“啊哈C”的界面,同时在你的桌面上也会多一个“啊哈C”图标。
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/23_3.jpg?sign=1739294571-f5e3eNrvlX4lEhbtQsDVYOPqPAinwynV-0-b149118cbca5af6e0256fe990a3eca06)
图2-8 “啊哈C”的界面
“啊哈C”是一个很人性化的软件,你将会发现“啊哈C”已经帮你将C语言代码框架的部分写好了。只需要将
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/24_1.jpg?sign=1739294571-jRK8rUN4Fa5FGlPgUFbrdNLERYLI6Oj1-0-2ad63fb95c28339997e190180893fd5f)
这条语句在“啊哈C”中输入就好,如图2-9所示。
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/24_2.jpg?sign=1739294571-80jSVfB11fwFiKlTfQ3R5BofkfIFtm52-0-f1b88b5fd152fb110ea9336c0a051528)
图2-9 输入printf(〝ni hao〝)
细心的同学可能会发现,“啊哈C”默认的C语言框架,比之前说的C语言框架多了一句话:
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/24_3.jpg?sign=1739294571-QgYuU68iAHezd0jkG8HI3QEwrTaOims2-0-86d86032381fa3132f7b64f22d98c812)
这句话是什么意思呢?稍后我们再揭晓。先将这句话删除,删除后的界面如图2-10所示。
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/24_4.jpg?sign=1739294571-4AonGZFomqztrNOTB7ADIQyIXcUqCwDk-0-408b7168e1eb22644de5f4d633aeccbf)
图2-10 删除system(〝pause〝)
好了,同学们请注意,到了最后一步,需要让代码运行起来。现在只需单击“啊哈C”上的“运行”按钮。
接下来需要为所写的程序起一个名字,我为这个程序起的名字是“nihao”,当然你可以随便起名,中英文都可以。比如你可以称之为“abc”或“我的第一个程序”,或者叫“1”都行,但是你最好别写火星文或者特殊字符,也不能有英文的点号。将程序的名字输入在如图2-11所示的文本框中之后再单击“保存”按钮,接下来就是见证奇迹的时刻。
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/25_2.jpg?sign=1739294571-gntr0gPOxFREqab2VkgZ847DxV89h5Xw-0-bbb194d1dc1ea501a6ba029153e1e9ee)
图2-11 给程序起个名字
如果代码没有写错,那你的“啊哈C”将会弹出一个对话框,提示“恭喜你编译成功”,如图2-12所示。请同学们注意,在输入代码的时候,一定不要用中文输入法,这里所有的符号都是英文的,一般也都是小写。
下面当然就单击“确定”按钮。接下来,请注意:注视你的计算机屏幕,一秒也不要走开,数秒之后,你将会发现计算机的屏幕上有一个“黑影”闪过,如果你没有发现这个“黑影”,请重新单击“运行”按钮,并再次注视你的计算机屏幕。
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/25_3.jpg?sign=1739294571-b6NpPyEt7xvS3xGT9OwY0rLO7ykgVnkj-0-76a9d246494950795c5da22510df041f)
图2-12 编译成功的提示
此时,你可能想问,为什么屏幕上会出现这个“黑影”?我们是要在屏幕上显示“ni hao”才对啊。其实刚才那个“黑影”就是“ni hao”,只不过计算机的运行速度太快了,在屏幕上显示之后,就立即消失了。那应该怎么办呢?这需要让计算机暂停一下。
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/26_1.jpg?sign=1739294571-tWF3QdEM5Pn1ywOluI9lCS82rH2hRA18-0-d0a5fed6c95259b999bcc171acacb8eb)
上面这句话就是之前所删除的,其实它的作用就是让计算机“暂停一下”。将这句话放在printf(〝ni hao〝);后面,完整的代码如下:
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/26_2.jpg?sign=1739294571-D9dq0OU5r4Z2MU6S2TDnZvsYnSlSl78m-0-ce9477a0438b9859389ca616e71f3fa0)
好了,再次单击“运行”按钮吧。如果代码没有错误,你将看到如图2-13所示的界面。
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/26_3.jpg?sign=1739294571-gigTQdzCLP5nuzwoN0ztYpoPtBMqI4f5-0-78240516641c7738e6da8db218ead0a1)
图2-13 运行成功的结果
“请按任意键继续…”是system(〝pause〝);输出的一个提示,此时只需按键盘上的任意一个键,这个小黑窗口就会关闭。
如果想让“ni hao”分两行显示,则只需要将printf(〝ni hao〝);改为printf(〝ni\n hao〝);这里的“\n”表示让光标“换行”。注意,这里的“\”向右下角斜,它在键盘上的位置,通常是在回车键的上方。好,赶快尝试一下吧。运行结果如图2-14所示。
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/26_4.jpg?sign=1739294571-apmDUpZZp4XNoV0U5fjh7DY8uN9EyjxN-0-4ac1ebef4c4c0ceb3e5bf185041a0461)
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/26_5.jpg?sign=1739294571-yzLZoDJPCOtem2onHp9P4ZLjH31Bex00-0-bb54eeef1284b5a67aaf9417c9084797)
图2-14 分行后的运行结果
当然也可以让“请按任意键继续...”在下一行显示,只需将printf(〝ni\nhao〝);改为printf(〝ni\n hao\n〝);即可,去试一试吧。
一起来找茬
下面这段代码是让计算机在屏幕上输出hi。其中有3个错误,快来改正吧!
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/27_2.jpg?sign=1739294571-HTvZUxUdxG3Jot8yti8Cmf8JACYz7W4y-0-82ecfb83b681b795e5d869d9fad195a9)
✈ 更进一步,动手试一试
1.尝试让计算机显示下面这些图形。
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/27_3.jpg?sign=1739294571-QkeHFKchhXxVfX20WVIw6yYA78FL9W8b-0-66f58143cbf9a21b54d944ce66c2df6d)
2.如何让计算机说中文呢?让计算机像下面一样说“早上好”,应该怎么办?
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/27_4.jpg?sign=1739294571-HuFM5bzMFVGkeetxzVzTPvPlbaLXCrCS-0-a1825914734b63f31feded2daf79d9d9)
3.尝试让计算机显示下面这个图形。
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/27_5.jpg?sign=1739294571-8QTV4LOWftrBHCGyTAVY4XOXSJeD7UPo-0-d82d57d4e152676704481ba54b852731)
![](https://epubservercos.yuewen.com/8A66F8/26763822301439606/epubprivate/OEBPS/Images/28_1.jpg?sign=1739294571-AOTiwJ05bzaI4Eq6tfrBXdALfg1mU5VP-0-ce23cc9d3ce4785540b90b80a2b3079c)
✈ 这一节,你学到了什么
如何让计算机开口说话,以及让计算机开口说话的语句是什么?