- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
for(i=1;i=100;i++)sum=sum+i;这里,循环条件由变量i设定,变量i称为“循环变量”。这是for语句的典型用法:已知循环次数。(本例100次)。“表达式1”,循环初始条件(i=1)。“表达式2”,循环条件(i=100)。“表达式3”,修改循环条件(i++)。下面是一个for语句的例子:for(i=1;i10;i++) printf(“nowiis%d\n”,i);从上面的例子,我们可以看出for语句中3个表达式的作用。表达式1用于初始化,而且仅执行一次。通常使用赋值表达式指定循环变量的初始值。表达式2描述循环条件,用于控制循环的结束。通常使用关系表达式或逻辑表达式。每次执行循环体前都要对表达式2进行判断。表达式3在每次循环体执行后被执行,用于修改循环变量的值。通常使用赋值表达式或自增/自减表达式。【例】求整数1~100的累加和,使用for语句实现。#includestdio.hintmain(){ inti,sum=0; for(i=1;i=100;i++) sum=sum+i; printf(sum=%d\n,sum);return0;}for语句和while语句关系紧密。除了极少数情况,for循环总可以等价替换为while循环: 表达式1; while(表达式2){ 语句 表达式3; }表达式1是在循环开始执行前,只执行一次的初始化步骤。表达式2控制用于控制循环的终止(循环持续执行,只要表达式2的值非零)。表达式3是在每次循环的最后被执行的一个操作。for语句惯用法for语句对于向上加或向下减共有n次的情况:从0向上加到n–1:for(i=0;in;i++)…从1向上加到n: for(i=1;i=n;i++)…从n-1向下减到0:for(i=n-1;i=0;i--)…从n向下减到1: for(i=n;i0;i--)…常见语句错误:在控制表达式中用(大于)代替(反之亦然)。在控制表达式中使用==代替,=,,或=。编写的控制表达式用i=n代替in,会产生“循环次数差一次”错误。【例4-14】求Fibonacci数列的前40项。每行输出4项。Fibonacci数列的定义为:/*程序4-17*/#includestdio.hvoidmain(){longt1,t2,t3;inti;t1=t2=1;printf(%10ld%10ld,t1,t2);for(i=3;i=40;i++){t3=t1+t2;printf(%10ld,t3);if(i%4==0)printf(\n);t1=t2;t2=t3;}}C语言允许省略任意或全部表达式。(1)如果省略表达式1,那么需要在for语句之前完成变量的初始化。i=1;for(;i=100;i++)sum=sum+i;注意,此时表达式1后面的分号必须保留。(2)如果省略表达式3,那么需要在循环体中包含使循环条件最终变为假的操作。for(i=1;i=100;){sum=sum+i;i++;}(3)如果同时省略表达式1和表达式3,此时的for语句和while语句完全相同。for(;i=100;){sum=sum+i;i++;}(4)如果省略表达式2,那么表达式2默认为真值,此时循环条件始终成立,我们应该通过其它方式使for语句终止。例如使用break语句。通过在for语句的表达式1或表达式3中使用逗号表达式,我们可以同时对多个变量进行初始化或同时使多个变量自增/自减。#includestdio.hintmain(){ inti,sum; for(sum=0,i=1;i=100;i++) sum=sum+i; printf(sum=%d\n,sum);return0;}第四章循环结构循环语句也叫重复语句。循环体——被重复执行的部分。循环条件——控制表达式C语言提供了3种跳转语句break语句continue语句goto语句C语言提供了3种循环语句while语句do语句for语句4.1循环结构while语句格式:while(表
文档评论(0)