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

devtools/2024/10/9 5:15:28/

前言:

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

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

今天,杰哥写的 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

 五、天命人

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

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


http://www.ppmy.cn/devtools/121091.html

相关文章

关于武汉芯景科技有限公司的IIC电平转换芯片XJ9509开发指南(兼容PCa9509)

一、芯片引脚介绍 1.芯片引脚 2.引脚描述 二、系统结构图 三、功能描述 1.VCCA1.35V,VCCB5V,A1输入&#xff0c;B1输出 2.VCCA1.35V,VCCB5V,B1输入&#xff0c;A1输出 3.VCCA1.35V,VCCB5V,A2输入&#xff0c;B2输出 4.VCCA1.35V,VCCB5V,B2输入&#xff0c;A2输出

在C#中使用Redis实现高效消息队列

使用Redis实现C#中的消息队列 Redis是一种开源的内存数据结构存储系统,因其高性能和灵活性被广泛用于缓存、数据库和消息队列等场景。本文将详细介绍如何在C#中使用Redis实现一个简单的消息队列,涵盖环境准备、代码实现和使用示例。 1. 环境准备 1.1 安装Redis 首先,确保…

【CKA】一、基于角色的访问控制-RBAC

1、基于角色的访问控制-RBAC 1. 考题内容&#xff1a; 2. 答题思路&#xff1a; 这道题就三条命令&#xff0c;建议直接背熟就行。 也可以查看帮助 kubectl create clusterrole -h kubectl create serviceaccount -h kubectl create rolebinding -h 注意&#xff1a; 1、资…

MongoDB的查询/超详细

1.查询的基本格式 查询参数1集合的所有数据. 参数1为您要查询的集合名称 //查询所有 db.参数1.find() 例子 查询student集合下的所有数据 db.student.find() 2.带条件的查询 查询满足参数2&#xff1a;“参数3”这样key&#xff1a;“velu”形式的数据 参数1&#xff1a;目…

【SpringCloud】多机部署, 负载均衡-LoadBalance

多机部署, 负载均衡-LoadBalance 1. 负载均衡介绍1.1 问题描述1.2 什么是负载均衡1.3 负载均衡的⼀些实现服务端负载均衡客⼾端负载均衡 2. Spring Cloud LoadBalancer 1. 负载均衡介绍 1.1 问题描述 观察上个章节远程调⽤的代码 根据应⽤名称获取了服务实例列表从列表中选择…

C语言日志类库 zlog 使用指南(第四章 Syslog模式)

第四章 Syslog模式 在zlog中&#xff0c;有三个重要概念&#xff1a;分类&#xff08;Category&#xff09;、规则&#xff08;Rule&#xff09;和格式&#xff08;Format&#xff09;。 4.1 分类、规则和格式 分类&#xff08;Category&#xff09;&#xff1a;用于指定不同…

Leetcode: 0081-0090题速览

Leetcode: 0081-0090题速览 本文材料来自于LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer&#xff08;第 2 版&#xff09;》、《程序员面试金典&#xff08;第 6 版&#xff09;》题解 遵从开源协议为知识共享 版权归属-相同方式…

mysql学习教程,从入门到精通,SQL 表的创建(33)

1、SQL 表的创建 在SQL中&#xff0c;创建表的基本语法是使用CREATE TABLE语句。以下是一个基本的CREATE TABLE语法模板&#xff0c;以及对其各个部分的解释&#xff1a; CREATE TABLE 表名 (列名1 数据类型 [约束条件] [默认值],列名2 数据类型 [约束条件] [默认值],...[表级…