C语言中的for语句使用最为灵活,也是最常用的语句,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句。
for语句一般形式:
其中:
表达式1:给循环变量赋初值,一般是赋值表达式,指定循环的起点,也允许在for语句外给循环变量赋初值,此时可以省略该表达式。
表达式2:给出循环的条件,决定循环的继续或结束,一般为关系表达式或逻辑表达式。
表达式3:通常用来修改循环变量的值,控制变量每循环一次后按什么方式变化,从而改变表达式2的真假性,一般是赋值语句。
语句:被反复执行的语句。必须是单独的一条语句,如果需要多条语句,要用一对花括号构造成一条复合语句。
for语句中的表达式和循环体语句的执行过程(图4-5)。
步骤一,执行“表达式1”。
步骤二,执行“表达式2”,若其值为非零(真),转去执行步骤三;若其值为零(假),转去执行步骤五。
步骤三,执行一次循环体。
步骤四,执行“表达式3”,转去执行步骤二。
步骤五,结束循环,执行for循环之后的语句。
循环变量赋初值总是一个赋值语句,它用来给循环控制变量赋初值;循环条件是一个关系表达式,它决定什么时候退出循环;循环变量增量,定义循环控制变量每循环一次后按什么方式变化。
图4-5 for循环流程
【例4-4】用for语句求1到100的和。
实际上,for语句是可以省略的。for语句中的表达式1、表达式2、表达式3和循环体部分都可以省略,形式如下:
1.省略表达式1
若在for语句之前已给循环变量赋初值,则for语句中表达式1可以省略,但其后的分号不可省略。(www.xing528.com)
例如,例4-3可改为:
2.省略表达式2
当表达式2省略时,将不判断循环条件,即认为循环条件始终为真,循环将无终止地进行下去,且其后的分号不可省略。
例如:
3.省略表达式3
表达式3一般为循环变量的变化,所以当循环变量的变化在循环体内完成时,可以省略表达式3。
例如,例4-3可改为:
4.同时省略表达式1、表达式2、表达式3
此时为无条件进入循环,类似while(真),要求在循环体中必须有强制退出循环的语句,否则为无限循环,且for后一对圆括号中的两个分号不可省略。
例如,例4-3可改为:
5.省略循环体
当for语句的循环体放于表达式3中时,循环体部分可以省略。
例如,例4-3可改为:
从上面内容可知,C语言中的for语句书写灵活,功能性较强。在for后的一对圆括号中,允许出现各种形式的与循环控制无关的表达式,虽然这在语法上是合法的,但这样会降低程序的可读性。建议初学者编程时,在for循环后面的一对圆括号内,只含有能对循环控制的表达式,其他的操作尽量放在循环体中去完成。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。