章六 循环控制-用for语句实现循环

6.5 用for 语句实现循环

牢记:
1、for 语句的一般形式

  • for(表达式1,表达式2,表达式3)语句
  • for(循环变量赋初始值;循环条件;循环变量增值)语句
  • for(i = 1; i <= 100; i++) sum=sum+i;
    注:
    ① 上部分是语句形式,下部分是每一表达式对应的内容含义
    ② 括号以及括号中的分号要用英文半角
    ③ 3个表达式按从左往右顺序执行,如果表达式 2 判断是假(值为 0),则不执行表达式 3,程序结束循环,执行 for 后面的语句。
    ④ 表达式 1 仅求解一次

附上for循环语句流程图:


for循环语句流程图.jpg

又注:
从流程图中可直观地看出,表达式2求值只有两种结果:①非0(真)② 0 (假)
若表达式2为假,直接跳出循环。

例题:for循环求和\sum_{i=1}^{100}n

#include <stdio.h>
void main()
{
int i = 1, sum=0;
for(i = 1;i<=100; i++)sum=sum+i;  //语句只有一句,不需要用花括号括起来
printf("%d\n",sum);
}

上述程序的变式:
掌握核心问题:表达式1,2,3均可省略,但分号必须保留
仍然以\sum_{i=1}^{100}n为例:

  • 省略表达式 1 后的解决方法,在程序开头先定义好变量。
#include <stdio.h>
void main()
{
int i = 1,sum=0;
for(;i<=100;i++)sum=sum+i;
printf("%d\n",sum);
}
  • 如果表达式 2 空缺,程序会判定为真,一直循环下去。
#include <stdio.h>
void main()
{
int i , sum=0;
for( i = 1;;i++)sum =sum+i;  //表达式2永远为真,程序一直循环
printf("%d\n",sum);
}
  • 表达式3空缺,可以在循环体中添加循环结束的条件。
#include <stdio.h>
void main()
{
int i , sum = 0;
for( i = 1;i<=100;)
    {
        sum=sum+i;
        i++;
    }
printf("%d\n",sum);
}

总结:

  • 无论哪种形式,i , sum 这些变量都要定义好,设好初始值。
  • 牢记表达式2是判断条件,1,3表达式的位置还可以加入与循环无关的表达式,不影响循环的正常进行。
  • 表达式可以是关系表达式(i<=100),也可以是逻辑表达式(a<b&&x<y),再次强调:只要表达式 2 的值非0,循环体就会执行。
    (附注:&& 表示 与 ,即同时满足非0/真,表达式的值才为真)

另外,还有for 循环的一些特殊应用:


for循环语句的特殊应用01.jpg

for循环语句的特殊应用02.jpg

(备注:这个题目理解还不够透彻,以后可以回头看)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容