
第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语言程序),需要一个特殊的软件,它叫作“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语言代码框架的部分写好了。只需要将

这条语句在“啊哈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〝);即可,去试一试吧。
一起来找茬
下面这段代码是让计算机在屏幕上输出hi。其中有3个错误,快来改正吧!

✈ 更进一步,动手试一试
1.尝试让计算机显示下面这些图形。

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

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


✈ 这一节,你学到了什么
如何让计算机开口说话,以及让计算机开口说话的语句是什么?