C(十)for循环 --- 黑神话情景

前言:

"踏过三界宝刹,阅过四洲繁华。笑过五蕴痴缠,舍过六根牵挂。怕什么欲念不休,怕什么浪迹天涯。步履不停,便是得救之法。"


国际惯例,开篇先喝碗鸡汤。

今天,杰哥写的 for 循环相关内容👉目录:

  • for循环 的组成、运行流程及其变式
  • 使用for循环的若干注意事项
  • 关键字break 和 continue 在for 循环中的作用
  • for 循环的嵌套
  • 天命人

一、for循环 的组成、运行流程及其变式

1、for循环的组成

表达式1--->初始化

表达式2--->判断

表达式3--->调整

cpp 复制代码
for (表达式1; 表达式2; 表达式3)
{
        语句;
}

场景一:大圣法力积聚,1,2,3,···,9,10。👉

cpp 复制代码
#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(初始化)++

cpp 复制代码
#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;
}

运行结果👉:

cpp 复制代码
5 6 7 8 9 10

++3.2变表达式2(判断)++

cpp 复制代码
#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;
}

运行结果:👉

cpp 复制代码
1 2 3 4 5 6 7 8 9

++3.3变表达式3(调整)++

cpp 复制代码
#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;
}

运行结果:👉

cpp 复制代码
1 3 5 7 9

++3.4表达式移位与删除++

3.4.1(表达式1移位)

cpp 复制代码
#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删除)

cpp 复制代码
#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移位)

cpp 复制代码
#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;
}
cpp 复制代码
2 3 4 5 6 7 8 9 10 11

++3.5三个表达式全变++

场景二:

大圣在打斗过程中,原生命值为100,现以5格血的速度往下掉,直到为0;

cpp 复制代码
#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;
}

运行结果👉

cpp 复制代码
100 95 90 85 80 75 70 65 60 55 50 45 40 35 30 25 20 15 10 5 0

二、使用for循环的若干注意事项

++for循环的括号后面不可以加分号(因为分号可作为空语句,也算语句,那么分号假冒循环体)。++

👉错误示例:

cpp 复制代码
for (表达式1; 表达式2; 表达式3);
{
        语句;
}

++留意是否能够在循环体中改变变量(尤其是控制循环进行的变量)++

👉错误示例:(死循环)

cpp 复制代码
#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(调整部分)的位置开始

如下:

cpp 复制代码
#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;
}

运行结果👉

cpp 复制代码
1 2 3 4 6 7 8 9 10

四、for 循环的嵌套

场景三:

每闯过一关,难度会以下方式增加。

第一关:1 ;第二关:1 * 2 ;第三关 :1 * 2 * 3;······求难度总和,即1!+ 2!+···+10!

cpp 复制代码
#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不放在循环的外面?

运行结果👉

cpp 复制代码
4037913

五、天命人

敢问路在何方?路在脚下。

不是顺从天命,而是逆天改命。

相关推荐
ACP广源盛1392462567312 分钟前
接口适配方案选型|GSV6125@ACP HDMI2.0 转 Type‑C/DP1.4 桥接芯片工程评估
大数据·c语言·开发语言·硬件架构·硬件工程·国产芯片
芯祥联3 小时前
STM32 上跑 MQTT 怎么选?嵌入式 MQTT 客户端 C 语言实现对比
c语言·stm32·单片机·嵌入式硬件·网络协议·开源·broker
Escalating_xu11 小时前
【C 语言】深入理解指针(1·下):指针运算、野指针、assert 与传址实战
java·c语言·开发语言
阿钱真强道12 小时前
20 嵌入式操作系统 | ubus:把自己的程序状态暴露出去
c语言·进程通信·ubus·ubusd·blobmsg
小小龙学IT14 小时前
三菱 PLC MC 协议(SLMP / QnA 兼容 3E 帧)深度解析:从帧结构到 C++/Go 双语言采集实战
c语言·c++·golang
Logic10115 小时前
C语言/数据结构位运算题解:异或XOR找出游戏速通中的“独特初始能量值“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Chen—LSN16 小时前
C语言——⽂件操作(1)
c语言·开发语言·c++·经验分享·笔记·算法·链表
木由里予16 小时前
GDB 使用手册(详细版)
c语言·vscode
Chen—LSN16 小时前
C语言——文件操作(2)
c语言·开发语言·c++·经验分享·笔记·算法·c#
Escalating_xu17 小时前
【C 语言】深入理解指针(2):数组名、数组传参、二级指针与指针数组
java·c语言·开发语言