预计阅读本页时间:-
程序清单5.1显示了一个示例程序,该程序做了一点算术运算来计算穿9码鞋(男人的)的脚用英寸表示的长度。为了增强您对循环的理解,程序的第一版演示了不使用循环编程的局限性。
程序清单5.1 shoes1.c程序
广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元
这是一个使用了乘法和加法的程序。该程序假设您穿9码的鞋,然后告诉您用英寸表示您的脚是多长。您说“但是我可以手工解决这个问题,并且比敲程序还要快。”说的很对。只进行一只鞋的尺码计算的程序是在浪费时间和精力。您可以通过将程序写为一个交互式程序来使程序更加有用,但是这仍未利用计算机的潜能。
您需要的是某种让计算机为连续的鞋尺码做重复计算的方法。毕竟做重复运算才是使用计算机做算术的主要原因。C提供了几种方法来做重复计算,我们在这里简单介绍一种。该方法是所谓的while循环,它能使您更有趣地利用运算符。程序清单5.2给出了改进后的计算鞋尺码的程序。
程序清单5.2 shoes2.c程序
下面是shoes2.c的输出,其中有删节:
(顺便提一下,用于此转换的常量是在对鞋店的暗地访问时取得的。鞋子的尺码是针对男士鞋的尺码。那些对女士鞋的尺码感兴趣的人将不得不亲自去鞋店了。另外,该程序也做了不太现实的假设,假设鞋的尺码有一个合理的统一的系统)。解释一下while循环是如何工作的。当程序第一次到达while语句时,检查圆括号内的条件是否为真。在这个例子里,条件表达式是下面的式子:
符号<的意思是“小于”。变量shoe被初始化为3.0,它当然小于18.5。所以,条件为真,程序继续执行下一个语句,将该尺码转换为英寸。然后程序打印结果。下一个语句将shoe增加1.0,使shoe变成4.0:
此时,程序返回while部分去检查条件。为什么在这点呢?因为后面是一个结束花括号(}),而代码使用一对花括号({ })来标出while循环的范围。在两个花括号之间的语句是被重复执行的语句。花括号和在花括号里的程序部分被称为一个代码块(block)。现在回到程序中。值4小于18.5,所以跟在while后的被括起来的全部命令(代码块)将被重复执行(在计算机术语中,称程序“循环”执行这些语句)。这个重复过程一直继续,直到shoe的值达到19.0。
因为此时19.0不再小于18.5,所以,下面的条件现在就变成了假:
因而控制转到紧跟着while循环的第一个语句。在此例中,转到最后的printf( )语句。
您可以很容易地修改该程序用来做其他转换。例如,将SCALE变成1.8,将ADJUST变成32.0,您就有了一个将摄氏温度变成华氏温度的程序。将SCALE变成0.6214,将ADJUST变成0,就可以将公里转化为英里。如果您做了这些改变,还应该更改打印的消息以防止引起迷惑。
While循环提供了灵活方便的控制程序的方法。现在,我们讨论可以在程序中使用的各种基本运算符。