组织程序是处理数据的另一个方面,让程序员按正确的顺序执行各个步骤。
循环就是其中一个特性。循环能重复执行行为,让程序更有趣、更强大。
5.1 循环简介
/* shoes1.c -- converts a shoe size to inches */
#include <stdio.h>
#define ADJUST 7.31 // one kind of symbolic constant
int main(void)
{
const double SCALE = 0.333; // another kind of symbolic constant
double shoe, foot;
shoe = 9.0;
foot = SCALE * shoe + ADJUST;
printf("Shoe size (men's) foot length\n");
printf("%10.1f %15.2f inches\n", shoe, foot);
return 0;
}
/* 输出:
*/
应该让计算机做一些重复计算的工作。毕竟,需要重复计算是使用计算机的主要原因。C提供多种方法做重复计算,这里简单介绍一种---while循环。
/* shoes2.c -- calculates foot lengths for several sizes */
#include <stdio.h>
#define ADJUST 7.31 // one kind of symbolic constant
int main(void)
{
const double SCALE = 0.333; // another kind of symbolic constant
double shoe, foot;
printf("Shoe size (men's) foot length\n");
shoe = 3.0;
while (shoe < 18.5) /* starting the while loop */
{ /* start of block */
foot = SCALE * shoe + ADJUST;
printf("%10.1f %15.2f inches\n", shoe, foot);
shoe = shoe + 1.0;
} /* end of block */
printf("If the shoe fits, wear it.\n");
return 0;
}
/* 输出:
*/
当程序第1次到达while循环时,会检查圆括号中的条件是否为真。
符号<的意思是小于。
执行完shoe = shoe + 1.0;此时shoe为4.0。
此时,程序因为这条语句下面是右花括号(})需要返回while入口部分检查条件,代码使用一对花括号({})来标出while循环的范围。花括号之间的内容就是要被重复执行的内容。花括号以及被花括号括起来的部分倍称为块(block)。
当while语句括号里面的表达式为假时,控制转到紧跟while循环后面的第1条语句。
可以很方便地修改程序用于其他转换。
通过while循环能便捷灵活地控制程序。