- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
13_for语句和用for语句构成的循环结构
5.3 for语句和用for语句构成的循环结构 5.3.1 for语句构成的循环结构 for语句的一般形式为: for(表达式1;表达式2;表达式3) 循环语句; 以下是几点说明: 1.表达式1一般为赋值表达式,用于进入循环之前给循环变量赋初值。 2.表达式2一般为关系表达式或逻辑表达式,用于执行循环的条件判定,它与while、do while循环中的表达式作用完全相同。 3.表达式3一般为赋值表达式或自增、自减表达式,用于修改循环变量的值。 for循环结构是几乎所有高级语言都提供的循环控制结构。但C语言中的for语句使用最为灵活,它不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,因而它完全可以代替while语句和do while语句。 ※重点提示:表达式1、表达式2、表达式3都必须为for语句规定的合法的表达式。 for语句的执行过程是:① 先计算表达式1的值。② 再计算表达式2的值,若其值为真,则执行循环体一次;否则跳转第⑤步。③ 然后计算表达式3的值。④ 转回上面第②步。⑤ 结束循环,执行for语句下面一个语句。 图5.2 for语句的执行流程图 ※重点提示:在整个for语句中,表达式1只计算一次,表达式2和表达式3则可能计算多次。循环体可能多次执行,也可能一次都不执行。 5.3.3 有关for语句的说明 (1)for语句的一般形式中的“表达式1”可以省略,即: for(;表达式2;表达式3) 循环语句; 但注意省略表达式1时,其后的分号不能省略。此时,应在for语句之前给循环变量赋初值。 (2)如果省略表达式2,即: for(表达式1;;表达式3) 循环语句; 则表示表达式2的值始终为真,循环将无终止地进行下去。例如: for(i=1;;i++) printf(%d,i); 将无限循环输出1,2,3,4,5,6,…… (5)同时省略表达式1、表达式2和表达式3,即: for(;;) 循环语句; 相当于赋循环变量的初值,循环控制条件始终为真,不修改循环变量,故循环将无终止地进行下去。 (6)在for语句中,表达式1和表达式3不仅可以使用简单表达式,也可以使用逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。在逗号表达式内按自左至右求解,整个表达式的值为其中最右边的表达式的值。例如: for(i=1;i=100;i++,sum=sum+i) 相当于 for(i=1;i=100;i++) sum=sum+i; (7)在for语句中,表达式一般为关系表达式或逻辑表达式,但也可以是其他表达式(如字符表达式、数值表达式)。 (8)for语句的循环语句可以是空语句。空语句用来实现延时,即在程序执行中等待一定的时间。如下为延时程序的例子: for(i=1;i=1000;i++); 注意以上语句最后的分号不能省略,它代表一个空语句。 例如:用for循环结构来计算1+2+3+…+100。 main() { int i,sum=0; for(i=1;i=100;i++) sum+=i; printf(%d\n,sum); } 程序运行结果为: 5050 可以看出,此例的结果前两例是完全相同的。显然,用for语句简单、方便。 ※重点提示:for语句中的表达式可以部分或全部省略,但两个分号不能省略,且三个表达式均省略时,循环将会无限制执行,而形成死循环。因此,编写程序时,在for后面的一对圆括号内,应只含有能对循环进行控制的表达式,其它的操作尽量放在循环体内完成。 * 本次课要点: 5.3 for语句和用for语句构成的循环结构 5.3.2 for循环执行过程 (3)如果省略表达式3,即: for(表达式1;表达式2;) 循环语句; 此时,也将产生一个无穷循环。因此,程序设计者应另外设法保证循环能正常结束,可以将循环变量的修改部分(即表达式3)放在循环语句中控制。例如: for(i=1;i=100;) { sum+=i; i++; } 上述for语句中没有表达式3,而是将表达式3(i++)放在循环语句中,作用相同,都能使用循环正常结束。注意表达式2后面的分号不能省略。 (4)也可以同时省略表达式1和表达式3,即: for(;表达式2;) 循环语句; 也即省略了循环的初值和循环变量的修改部分,此时完全等价于while语句。 *
文档评论(0)