前言:
"踏过三界宝刹,阅过四洲繁华。笑过五蕴痴缠,舍过六根牵挂。怕什么欲念不休,怕什么浪迹天涯。步履不停,便是得救之法。"
国际惯例,开篇先喝碗鸡汤。
今天,杰哥写的 for 循环相关内容?目录:
for循环 的组成、运行流程及其变式使用for循环的若干注意事项关键字break 和 continue 在for 循环中的作用for 循环的嵌套天命人一、for循环 的组成、运行流程及其变式
1、for循环的组成
表达式1--->初始化
表达式2--->判断
表达式3--->调整
for (表达式1; 表达式2; 表达式3){ 语句;}
场景一:大圣法力积聚,1,2,3,···,9,10。?
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){int i = 0;for (i = 1; i <= 10; i++){printf("%d ", i);}return 0;}
2、for循环的运行流程
emmm 字丑勿喷 ,哈哈。
3、for循环的变式
3.1变表达式1(初始化)
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){int i = 0;for (i = 5; i <= 10; i++){printf("%d ", i);}return 0;}
运行结果?:
5 6 7 8 9 10
3.2变表达式2(判断)
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){int i = 0;for (i = 1; i <= 9; i++){printf("%d ", i);}return 0;}
运行结果:?
1 2 3 4 5 6 7 8 9
3.3变表达式3(调整)
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){int i = 0;for (i = 1; i <= 10; i += 2){printf("%d ", i);}return 0;}
运行结果:?
1 3 5 7 9
3.4表达式移位与删除
3.4.1(表达式1移位)
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){int i = 1;for (; i <= 10; i++){printf("%d ", i);}return 0;}
3.4.2(死循环)(表达式2删除)
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){int i = 0;for (i = 1; ; i++){printf("%d ", i);}return 0;}
3.4.3(表达式3移位)
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){int i = 0;for (i = 1; i <= 10; ){ i++;printf("%d ", i);}return 0;}
2 3 4 5 6 7 8 9 10 11
3.5三个表达式全变
场景二:
大圣在打斗过程中,原生命值为100,现以5格血的速度往下掉,直到为0;
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){int i = 0;for (i = 100; i >= 0; i -= 5){printf("%d ", i);}return 0;}
运行结果?
100 95 90 85 80 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0
二、使用for循环的若干注意事项
for循环的括号后面不可以加分号(因为分号可作为空语句,也算语句,那么分号假冒循环体)。
?错误示例:
for (表达式1; 表达式2; 表达式3);{ 语句;}
留意是否能够在循环体中改变变量(尤其是控制循环进行的变量)
?错误示例:(死循环)
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){int i = 0;for (i = 1; i <= 10; i++){printf("%d ", i);i = 1;}return 0;}
三、关键字break 和 continue 在for 循环中的作用
1、break
———遇到break直接跳出整个循环
2、continue
———遇到continue跳出本次循环中continue后面的部分,又回到表达式3(调整部分)的位置开始
如下:
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){int i = 0;for (i = 1; i <= 10; i++){if (5 == i){continue;}printf("%d ", i);}return 0;}
运行结果?
1 2 3 4 6 7 8 9 10
四、for 循环的嵌套
场景三:
每闯过一关,难度会以下方式增加。
第一关:1 ;第二关:1 * 2 ;第三关 :1 * 2 * 3;······求难度总和,即1!+ 2!+···+10!
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){int sum = 0;int i = 0;for (i = 1; i <= 10; i++){int r = 1;int j = 0;for (j = 1; j <= i; j++){r *= j;}sum += r;}printf("%d", sum);return 0;}
思考???
为什么int sum = 0不放在循环的里面?为什么int r = 1不放在循环的外面?运行结果?
4037913
五、天命人
敢问路在何方?路在脚下。
不是顺从天命,而是逆天改命。