首页 理论教育C语言程序设计基础第3版:掌握for循环

C语言程序设计基础第3版:掌握for循环

【摘要】:for循环控制结构的执行过程如图4.3所示。②C语言的for循环控制结构不仅提供在其控制部分的exp3中修改循环控制变量的值,而且还允许在for循环的循环体中存在能改变循环控制条件的语句,使用时需特别注意。图4.3for控制结构的执行过程③无论exp1和exp3的取值如何,只要exp2是一个非0值常量表达式,则构成了死循环。

for语句构成的循环是C语言中提供的使用最为灵活、适应范围最广的循环结构,它不仅可以用于循环次数已确定的情况,而且也可以用于循环次数不确定但能给出循环结束条件的循环,for循环结构的一般形式为:

其中,括号内的3个表达式称为循环控制表达式,exp1的作用是为循环控制变量赋初值或者为循环体中的其他数据对象赋初值,exp2的作用是作为条件用于控制循环的执行,exp3的主要作用是对循环控制变量进行修改,3个表达式之间用分号分隔。

for循环结构的执行过程是:首先计算表达式exp1的值对循环控制变量进行初始化,如果有需要也同时对循环体中的其他数据对象进行初始化;然后计算作为控制条件使用的表达式exp2的值并根据exp2计算的结果决定循环是否进行,当exp2值为非0(真)时则执行循环体Loop-Body一次;执行完循环体后,计算表达式exp3的值以修改循环控制变量;然后再次计算表达式exp2的值以确定是否再次执行循环体;反复执行上述过程直到某一次表达式exp2的值为0(假)时为止。for循环控制结构的执行过程如图4.3所示。使用for循环结构时需要注意以下几点:

①由于整个结构的执行过程是先判断、后执行,因而循环体有可能一次都不执行。

②C语言的for循环控制结构不仅提供在其控制部分的exp3中修改循环控制变量的值,而且还允许在for循环的循环体中存在能改变循环控制条件的语句,使用时需特别注意。

图4.3 for控制结构的执行过程

③无论exp1和exp3的取值如何,只要exp2是一个非0值常量表达式,则构成了死循环。例如:

④循环结构的循环体可以是一条语句、一个复合语句、空语句等任意合法的C语句。

⑤根据程序功能的需要,循环控制部分的3个表达式都可以是逗号表达式,这也是逗号表达式最主要的用法之一。

⑥根据程序功能的需要,循环控制部分的3个表达式中可以缺省一个、两个、三个,但作为分隔符使用的分号不能缺省。如果控制部分的3个表达式全部省略,则是死循环的另外一种表达形式:(www.chuimin.cn)

【例4.3】 编写程序实现功能:从键盘输入一个大于2的正整数,判断其是否为素数。

所谓素数,就是只能被1和自身整除的自然数。根据素数的定义,判断一个正整数n是否为素数最简单的方法就是:用2到n-1之间的每一个整数去除n,若其间有一个能被n整除,则n不是素数;若2到n-1之间的所有整数都不能被n整除,则n为素数。

/*Name:ex0403.c*/#include<stdio.h>