- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法2: 首先,置累加变量sum=0; 第一步:sum=sum+1; 第二步:sum=sum+2; 第三步:sum=sum+3; …… 第一百步:sum=sum+100; 算法3: 换个思路来考虑:首先设置一个累计器sum,其初值为0,利用sum += n来计算(n依次取1、2、……、100),只要处理以下步骤即可: 第一步:置累计变量sum的初值为0,即sum=0; 第二步:置加数变量n的初值为1;即n=1; 第三步:执行sum += n; 第四步:n增加1,即n=n+1; 第五步:当n小于等于100时,转到第三步执行;当增到101时,停止计算。此时,sum的值就是1~100的累计和。 2. for语句的执行过程如下: (1)先求解表达式1; (2)求解表达式2,若为0(假),则结束循环,并转到(5); (3)若表达式2为非0(真),则执行循环体,然后求解表达式3; (4)转回(2); (5)执行for语句下面的一个语句。 常见的跳转语句有三种:break语句、continue语句与goto语句。其中,前两种语句不允许用户自己指定跳转到哪里,而是必须按照相应的原则跳转,而后一种语句可以由用户事先指定欲跳转到的位置,按照用户的需要进行跳转。 for ( ; ; ) { … for ( ; ; ) { … if (i==1) break; … } a+=1; //… } 除此之外,for语句还充分表现了其灵活性: 1. 表达式1可以省略。此时应在for语句之前给循环变量赋值。若省略表达式1,其后的分号不能省略。 如:求和运算: i=1; for(; i=100; i++) //分号不能省略 sum+=i; 2. 表达式2可以省略。即不判断继续条件,循环无终止进行下去。也就是认为表达式2始终为真。此时,需要在循环体中有跳出循环的控制语句。 例如,求和运算: for(i=1; ; i++) { sum+=i; if(i100) break; } 等价于 for(i=1; 1; i++) { if(i100) break; sum+=i; } 3. 表达式3可以省略。但此时程序员应另外设法让循环变量递进变化,以保证循环能正常结束。 例如:求和运算: for(i=1;i=100;) //分号不能省略 sum+=i++; //同时改变循环变量 4. 表达式1和表达式3可同时省略。 例如:求和运算: i=1; for(; i=100;) sum+=i++; 5. 三个表达式都可省略。即不设初值,不判断条件(认为表达式2为真),循环变量不增值,无终止执行循环体。 例如:求和运算 i=1; for(; ;) { if(i100) break; sum+=i++; } 6. 表达式1,表达式2,表达式3都可以为任何表达式。 例如:求和运算中表达式1为逗号表达式。 for(sum=0,i=1;i=100;i++) sum+=i; 7. 表达式1可以是循环变量定义。C语言的变量定义可以在任何语句的位置,for循环中也不例外。 例如:求和运算 for(int i=1;i=100;i++) sum+=i; main() { int i, n; long s=1; printf(Input n: ); scanf(%d, n); for(i=1; i=n; i++) s *= i; printf(%d ! = %ld\n, n, s); } 例1: 求n的阶乘n!(n!=1*2*……*n) 程序如下: 例2:计算正整数n所有因子(1和n除外)之和。 #includestdio.h main() { int n; int i; int sum=0; printf(“Enter n:”); scanf(“%d”,n); for(i=2; in; i++) if(n%i= =0) sum+=i; printf(“Result is:%d”,sum); } 5.5 循环结构
文档评论(0)