第六章:for循环结构


本章目标

  1. 掌握什么是循环及循环的特点
  2. 掌握for循环的语法
  3. 熟练使用for循环

讲解内容

1、生活中的循环

  1. 分析生活中循环的特点:
    1. 循环条件
    2. 循环操作体

2、为什么要使用循环

  1. 问题:在控制台输出100次“好好学习,天天向上!”,如何实现?

    分析:

    1. 代码写100次输出内容
    2. 如果1000,10000次或更多呢?
  2. 使用循环来实现

    1
    2
    3
    for(var i=0;i<10000;i++){
    Console.WriteLine("好好学习,天天向上");//可以输出10000条
    }

3、C#支持不同类型的循环:

  • for - 循环代码块一定的次数
  • foreach - 循环遍历对象的属性
  • while - 当指定的条件为 true 时循环指定的代码块
  • do/while - 同样当指定的条件为 true 时循环指定的代码块

4、for循环

  1. 语法:

    1
    2
    3
    4
    for (语句 1; 语句 2; 语句 3)
    {
    被执行的代码块
    }

    说明:

    语句 1 :初始化语句,(通常是一个变量 )开始前执行,一般情况是做初始化,在某些情况下初始化语句可以省略,只保留后面的分号即可;

    语句 2 定义运行循环(代码块)的条件,如果为 true,则执行循环主体,如果为假,则跳出 for 循环,执行 for 循环以外的代码;

    语句 3 在循环(代码块)已被执行之后执行,一般是变量迭代。循环主体执行完成后,更新迭代器的值(增加或减少),然后再进行条件判断,如果为真则再次执行循环主体,重复执行此步骤,直至判断条件为假,跳出循环

    for 循环的执行流程如下图所示:

    img

  2. 实例:用for循环输出1-5

    1
    2
    3
    for(int i=1;i<=5;i++){
    Console.WriteLine(i);
    }

    分析:

    1. int i=1;此为初始化变量,也就是说i从1开始。
    2. i<=5;为循环满足的条件,当条件为true,则执行循环体内容,不满足循环结束
    3. Console.WriteLine(i);当条件为true才会执行,也就是第二步为true,才会执行。
    4. i++;迭代,每执行一次循环操作体,则i++,然后再进行第二步判断

5、for循环代码阅读

  1. 表达式1,可以不写,也可以写N个

    1
    2
    3
    4
    5
    6
    7
    8
    9
    方式一:省略初始化
    int i=0;
    for(;i<5;i++){//将初始化省略,但是必须要有分号
    Console.WriteLine(i);
    }
    方式二:初始化多个
    for(int i=0,j=5;i<5;i++,j--){ //多个初始化用逗号隔开,迭代也可以是多个
    Console.WriteLine(i+"+"+j+"="+(i+j));
    }
  2. 条件表达式也可以省略,但会出现死循环

    1
    2
    3
    for(int i=0;;i++){//省略了条件,程序会出现死循环
    Console.WriteLine(i);
    }
  3. 所有表达式都可以省略,同样会出现死循环,因为没有条件

    1
    2
    3
    for(;;){

    }

6、案例

  1. 求1~100之间不能被3整除的数之和
1
2
3
4
5
6
7
int sum=0;//求和的变量
for(int i=1;i<100;i++){
if(sum%3!=0){//不能被3整除
sum+=i;//累加求和
}
}
Console.WriteLine("和:"+sum);

7、总结

  1. C#中for循环的特点:

    先判断,再执行

  2. C#中for循环应用场景:

    一般情况是处理,循环次数固定的情况

课后作业

上机1:求 1到10 之间的奇数乘积

上机2:求 30 到60 之间的偶数和的5倍

上机3:将求1到n之间的每个数乘以3后加1输出

上机4:从100每次递减5输出直至5

上机5:1至50中是7的倍数的数值之和

上机6:循环录入Java课的学生成绩,统计分数大于等于80分的学生比例