在C语言中,for语句的使用最为灵活,它完全可以取代while语句。它的一般形式为
它的执行过程如下。
1)先执行表达式1。
2)求解表达式2,若其值为真(非0),则执行第3步;若其值为假(0),则转到第5步执行。
3)执行for后面的第一条语句,然后执行表达式3。
4)转回上面第2步继续执行。
5)循环结束,执行for语句下面的其他语句。
其执行过程如图4-12所示。
图4-12 for语句流程图
for语句对于初学者而言可能看上去复杂一些,表达式比较多,但是在实际应用中for语句中的3个表达式不是随便书写的,往往用3个表达式表示单个变量的循环范围。for语句最常用的应用形式也是最容易理解的形式如下。
●循环变量赋初值总是一个赋值语句,它用来给循环控制变量赋初值。
●循环条件是一个条件表达式,它决定什么时候退出循环。
●循环变量增量定义循环控制变量每循环一次后按什么方式变化。
这3个部分之间必须用“;”分开。例如:
以上两行的执行过程是,先给变量i赋初值1(设sum初值是0),然后判断i是否小于或等于100,若是则执行语句“sum=sum+i”,之后i自增1。再重新判断i是否小于或等于100,直到条件为假,即i>100时,结束循环。这段代码的功能是求1+2+3+…+99+100的和。由于对循环变量的操作都写在for后的()内部,所以此循环的次数就很容易算出来,如本例中i的值变化依次是1、2、…、99、100,这说明此循环的循环次数是100次。由此可见用for语句可以很方便地表达循环次数已知的循环结构。建议读者必须掌握这种标准的for语句用法。如果改用while语句表达,语句如下。(www.daowen.com)
看上去明显没有for语句表达的简洁。实际上,对于for循环中语句的一般形式,就等价于如下的while循环形式。
for语句使用注意事项。
●在for语句的书写规则中,for循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条件)”和“表达式3(循环变量增量)”都是可选项,即可写可不写,不写时表示执行空语句,但“;”不能省略。
●for循环可以很灵活地使用,但是不建议灵活使用for循环,即for循环的3个表达式最好都是对于同一循环变量的操作和判断,不要省略任何部分。这样虽然书写时好像麻烦一点儿,但是对于程序的可靠性和可读性是大有裨益的。
对于何时使用for和while来完成循环语句,没有什么强制性规定,一般而言当循环次数已知时建议使用for语句。当循环变量增量无明显规律时建议用while语句。
下面通过改写例4-16的代码来学习for语句的使用方法。
【例4-17】把例4-16中用while实现的延时代码用for语句改写。所用硬件电路图为图4-10。
电路图在光盘位置:“\Example\Chapter4\S042\sch\led8key1.dsn”。
程序分析
●阅读例4-16中的代码可知,用while实现的延时代码是以下部分。
●题意要求用for语句改写,这样就必须知道循环变量是什么,循环的初始值和结束条件是什么,循环变量的变化规律是什么和循环体的内容是什么。以上代码很简单,一看就能分析出循环变量是i,初始值是0,结束条件是i<100000,循环变量i的变化规律是每次加1,循环体就什么也不做了。改用for语句表达如下。
或者
通过以上代码读者可以发现,用for语句实现循环能使循环的代码很清晰,容易看出循环次数。如果读者熟记了for语句的执行过程,那么用for语句写成的循环程序可读性会更高。所以建议读者多做几个for语句的练习来彻底掌握for语句的基本用法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。