那么接下来呢,我们再看一个不太一样的程序。看这个程序,
这个的程序做了一件什么事情呢?要求啊,你用循环来打印字母表中
序号为奇数的前五个字母。也就是说啊,这是一个字母表的话,
我们就需要须要把序号为奇数的前五个字母,全都打印出来。比方说,a,
c, e, g, i, 噢, 把这一些字母打印出来。那当然啦,如果单纯是为了实现
这个功能的话,我们能完全可以写五句Cout的程序。
但是在这儿呢,哦,我们要求用循环来实现一个自动的打印。那么我们来看怎么做。
那既然要实现一个自动的按照某种顺序
和规律,来打印字母,那么我们知道可能要用到循环。
啊,那么这个程序里头确实出现了循环。但现在我们碰到的问题是什么呢?
我们并不知道如何在循环里面自动的去变换字母。
那有没有其它的办法呢?在这一个程序里头,我们就用了这样一个办法。
虽然我没办法自动的去变换,但是我可以把这些字母啊,
事先存储到内层空间里头来, 然后想办法把它们逐个打印出来。
那在这儿呢,我们就写了这样一句程序来 把所有这些字母啊,事先摆放到内存里头。
然后呢,想办法逐个打印出来。那这句程序做了
一个什么事情呢?这句程序啊,定义了一个数组。
所谓的数组啊,就是把一堆数有序的排列起来,
放进一个连续的存储空间中。然后呢,给这个存储空间起一个名字,
这就定义了一个数组。那比方说,我们来分析一下这些程序。
那么这些程序呢,定义了一个名字为a的数组。
这个数组里面呢,有十个元素。
每个元素的数据类型呢,是char型,也就是每个元素都是一个字符。
这就完成了这个数组 的一个定义。那么在定义数组的时候呢,我们同样可以对它进行初始化。
也就是,也就是设置数组里面最初所包含的元素。
怎么设置呢?我们可以用一个大弧号, 啊,把这些元素都括起来。我们在这大弧号里头呢,
把这些元素逐个的列出来。 注意呢,元素之间用豆号分隔开。
通过这种方式,我们就定义并且初始化好了一个数组。
那这样呢, 我们就在内存里边得到了一篇连续的存储空间,把这些元素都放进去。
那么为了便于大家的理解呢,在这儿我特别画了一个图。啊,也就是说当我们执行完这句程序以后,
那么在内存里边就形成了一篇连续的存储空间,每个里面呢,都放了一个字符。
在这儿特别需要须要说明的就是, 那么数组定义好之后呢,里面所有的元素都有相应的一个
编号。噢,比方说, 第一个元素的编号就是数组名加一个方符号再加一个零,就是a[0]。
第二个元素呢,就是a[1]。啊,第三个元素,a[2],
一直到最后的一个元素。在这儿呢,最后一个元素呢,是a[9]。
那么这个编号呢,就是相当于这个元素的一个名字。
比方说,我们想给这个数组里边的第三个元素重新附一个值,
那我们就可以用第三个元素的这个名字来完成。比如说我们可以这样来写。
a方符号2,让它等于一个新的值,比方说让它等于大G。
啊,这样呢我们就可以把编号为a[2]的,这个元素的值换成G。
啊,这就是编号的这个含义。还有一点特别须要注意的就是,
如果你定义一个包含十个元素的一个数组的话,
那么这个数组元素的编号是从零开始的。
也就意味着从零一直到九啊,
它不会出现十。 那么数组元素的编号呢,就是这样来使用的。所以说请大家注意,
当你定一个包含十个元素的一个数组的时候,不要写出来a[10]。
因为a[10]这个元素是不存在的。因为元素的最大编号就到了九,这是关于数组。
那么回到我们的这个程序,定义好了这个数组以后呢,
我们就得到了一篇内存空间, 把这些字母啊,都摆放好了。
那接下来呢,我们就可以用数组元素的编号来打印相应的字母了。
由于这个打印的过程呢,是按照某种规律在反复的做同一件事情,所以我们肯定要用到 for循环。
那么这个for循环呢,我们仍然用我们刚才所定义的这个i来计数。i 从零,
一直到i 小于十。因为它要求打印的是前五个字母,所以说我们让i 小于十。然后呢,
每次做的事情就是要把a[i] 打印出来。
打印完a[i]之后呢,i 要自己给自己加二。
这样呢,打印完第一个元素,我就紧接着去打印第三个元素,然后再打印第五个元素,
再打印第七个元素,再打印第九个元素。Okay, 那这个程序就执行完毕了。
那么程序的执行结果呢,打印输出的字母呢,分别是a, c, e, g, i,啊,
这个结果是正确的。 那么通过这个程序啊,我们可以了解到这样几点重要的东西。
第一个,当你想定义一个数组的时候,你可以模仿这种方式来定义。
啊,当然你除了可以定义一个字符型的,你也可以定义其它类型的数组。
那么定义完一个数组以后呢,可以通过这种方式,来引用数组里的元素,
那是第二点。 那么第三点呢,在一个循环里面,我们不一定
要每次对循环进行加一的操作。我们可以灵活的去控制。
啊,就是这样的一个程序。Okay,在看过了刚才的这些小程序以后呢,
哦,大家就可以模仿着这些程序,写一些自己感兴趣的小程序了。
那么现在大家看到的这个程序呢,就是在刚才猜字母的那个小程序的基础上,做了一个小的改进。
我们先来了解一下,它的基本功能。首先呢,它认为藏起来一个字母G。
但这次不同的是,你不只是能猜一次,你最多可以猜
五次。好,我们来看一下它的运行结果,以便于更好了解程序的功能。
哦,先输出一番提示,猜猜我是哪一个字母啊?最多猜五次噢!
哦,那么你就,接下来你可以输入a,当然是错的。接着猜吧,d,错的,接着猜,
f,接着猜,小写字母g,也接着猜, 最后输入大写字母G,okay,它输出被你猜中了。
我相信啊,大家应该能够了解,这个程序执行的过程了。
Okay,那我们回过头来分析一下这个程序。头一眼看一下这个程序,我们就会发现跟刚才我们给出的
程序呢,有一点很大的不同。就是在这个程序里面,出现了很多绿色的汉字。
那,每一行的汉字呢,都是以双斜线开头的。
啊,我们看得到都是以双斜线开头的。那这种东西是什么呢?
这个是程序的注释。
也就是对程序的语句进行说明的文字。
注释呢,跟程序不同。在你定义这个程序的时候, 编译器完全就会忽略掉这些注释的存在。
啊,它们就会当它不存在。那,注释的作用是什么呢?就如这个名字所言,
注释是用来对程序语句或者程序块的功能,或者相关的
信息进行说明的文字。因为这是第一次大家遇到注释,
我在这儿呢,做一个特别的强调。
写程序有一个非常重要的目的。那我们在实现一个程序的时候, 除了你要实现这个程序的基本功能之外,
还有一个非常重要的目的。那就是一定要保证这个程序的可读性。