1. 什么是循环?
代码的重复执行,就叫循环。
2. 循环的分类:
无限循环: 程序设计中尽量避免无限循环;
有限循环:
3. 循环构成:
3.1 循环体语句
3.2 循环条件
4. 循环结构的实现:
4.1 当型循环的实现:while语句、for语句
1) while语句
语法格式:
while(循环条件)
{
循环语句.. ;
...
}
注意事项: while循环,循环体一定要有让循环条件更新的语句,使得循环要能够正常终止.
2) for 循环
语法格式:
for(表达式1;表达式2;表达式3)
{
循环语句..;
}
for 语句是在语法规则上,降低因为忘记循环条件更新操作,而引起的产生无限循环的几率。
***注意: for语句往往应用于循环次数事先可以确定的场景。
表达式1: 用于循环变量初始化:
表达式2: 用于循环条件的指定:
表达式3: 用于循环条件的更新:
循环实现的3要素:
1. 循环变量初始化;
2. 循环条件
3. 循环变量变量
4.2 直到型循环的实现:
1) do- while语句
语法格式:
do
{
循环语句... ;
...
} while(循环条件);
注意: do-while 一般情况下可以和 while 语句相互替代,但如果初始循环条件不成立
或初始条件无法确认成立与否的情况下,不能替换,此次推荐使用while 语句.
2) goto 语句
语法格式: goto 标签(label);
标签: 标明目标代码位置,是一个不加 "" 的字符串;
例如:
int main(void)
{
int s = 0;
int i = 1;
loop:
s += i;
i++;
if(i <= 100)
goto loop;
printf("100之内自然数之和为:%d\n",s);
return 0;
}
5. 循环结构的典型应用场景及基础算法模型:
典型应用场景: 求累加和,累乘,均值,最值,元素遍历...
基础算法模型:
1. 累加和
1) 定义一个变量,并赋初值为0;
2) 用该变量累加(+=) 每一个数据项;
3) 当访问完每一个数据项,此时该变量的取值就是累加和的结果;
2. 累乘
1) 定义一个变量,并赋初值为1;
2) 用该变量累乘(*=) 每一个数据项;
3) 当访问完每一个数据项,此时该变量的取值就是累乘的结果;
3. 最值:
1) 定义一个变量,并赋初值为第一个数据项;
2) 从第二个数据项开始,一次与该变量进行比较,如果大于/小于该变量,
则将当前数据项的数据赋值给该变量,
3) 当访问完每一个数据项,此时该变量的取值就是求最值的结果;
6. 循环的嵌套
循环的嵌套: 在一个循环结构的内部又存在一个完整的循环结构
for while do-while 可以相互嵌套;
7. 循环控制:
7.1 break 语句:
break 语句用于提前结束整个循环;
7.2 continue 语句:
continue语句不会结束整个循环,而是跳过本次循环尚未执行的语句,进入下一次循环;