C语言分支和循环语句—for

UVC协议在STM32H7上的移植实战案例 手把手带你把UVC协议移植到STM32H7平台,重点解决USB高速枚举、视频流控制与YUV数据打包等关键问题。基于HAL库实现符合UVC 1.5规范的即插即用摄像头功能,让嵌入式设备轻松变身标准UVC视频源。 阅读详情

前情提要

我们重新来看这串代码

#include <stdio.h>
int main()
{
 int i = 1;//初始化
 while(i<=10)//判断部分
 {
 printf("%d ", i);
 i = i+1;//调整部分
 }
 return 0;
}

上面三个部分任何一个部分发生变化就会影响程序的本身,那么,有没有一种简单的写法呢?


我们已经知道了while循环,但是我们为什么还要一个for循环呢? 首先来看看for循环的语法:

for(表达式1; 表达式2; 表达式3)
 循环语句;
​

表达式1 表达式1为初始化部分,用于初始化循环变量的。

表达式2 表达式2为条件判断部分,用于判断循环时候终止。

表达式3 表达式3为调整部分,用于循环条件的调整。

实际的问题:

使用for循环 在屏幕上打印1-10的数字。

#include <stdio.h>
int main()
{
 int i = 0;
 //for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/)
 for(i=1; i<=10; i++)
 {
 printf("%d ", i);
 }
 return 0;
}

现在我们对比一下for循环和while循环。

int i = 0;
//实现相同的功能,使用while
i=1;//初始化部分
while(i<=10)//判断部分
{
 printf("hehe\n");
 i = i+1;//调整部分
}
//实现相同的功能,使用while
for(i=1; i<=10; i++)
{
 printf("hehe\n");
}

可以发现在while循环中依然存在循环的三个必须条件,但是由于风格的问题使得三个部分很可能偏离较 远,这样 查找修改就不够集中和方便。

所以,for循环的风格更胜一筹;for循环使用的频率也最高。

break和continue

我们发现在for循环中也可以出现break和continue,他们的意义和在while循环中是一样的。 但是还是有些差异:

//代码1
#include <stdio.h>
int main()
{
    int i = 0;
    for(i=1; i<=10; i++)
    {
        if(i == 5)
        break;
        printf("%d ",i);
    }
 return 0;
}
​
//这里还是直接跳出循环
​
//代码2
#include <stdio.h>
int main()
{
    int i = 0;
    for(i=1; i<=10; i++)
    {
        if(i == 5)
        continue;
        printf("%d ",i);
    }
    return 0;
}
​
//这里是跳过本次循环,但是i还是能够继续往上加,并不是一到5就终止了,这一点和while不一样

for语句的循环控制变量

建议:

  1. 不可在for 循环体内修改循环变量,防止 for 循环失去控制。

    1. 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。

int i = 0;
//前闭后开的写法
for(i=0; i<10; i++)
{}
​
//两边都是闭区间
for(i=0; i<=9; i++)
{}

一些for循环的变种

#include <stdio.h>
int main()
{
 //代码1
 for(;;)
 {
 printf("hehe\n");
 }
    //for循环中的初始化部分,判断部分,调整部分是可以省略的,但是不建议初学时省略,容易导致问
题。
    
    //代码2
    int i = 0;
    int j = 0;
    //这里打印多少个hehe?
    for(i=0; i<10; i++)
   {
        for(j=0; j<10; j++)
       {
 printf("hehe\n");
       }
   }
    
    //代码3
    int i = 0;
    int j = 0;
    //如果省略掉初始化部分,这里打印多少个hehe?
    for(; i<10; i++)
   {
        for(; j<10; j++)
       {
 printf("hehe\n");
       }
   }
    
 //代码4-使用多余一个变量控制循环
 int x, y;
    for (x = 0, y = 0; x<2 && y<5; ++x, y++)
   {
        printf("hehe\n");
   }
 return 0;
}

那接下来一起看一道笔试题

//请问循环要循环多少次?
#include <stdio.h>
int main()
{
 int i = 0;
 int k = 0;
 for(i =0,k=0; k=0; i++,k++)
        k++;
 return 0;
}
​

很简单,在判断部分的代码为k = 0,所以for循环对于判断的内容永远会认为是假的(0),所以这个循环会一直执行下去


感谢您的观看!

用 ADT 连接 SAP S/4HANA Public Cloud 开发租户的完整落地指南 摘要:在SAP S/4HANA公有云中进行ABAP开发时,必须使用Development Tenant(客户端080)而非Customizing Tenant(客户端100)连接ADT工具。开发用户需具备SAP_BR_DEVELOPER角色且写权限不受限,开发对象应创建在结构包的子包中。连接前需确认正确的ABAP服务URL(通常为Launchpad URL去掉"/ui"),并通过运行控制台程序验证全链路功能。典型开发场景如通过BAdI实现业务校验时,需遵循Clean Core原则在指定包 阅读详情

相关推荐

Windows 11 部署 Docker Desktop:从 WSL 报错到服务配置的完整排障实录

本文详细记录了在Windows 11上部署Docker Desktop时遇到的WSL报错问题及完整解决方案。从Hyper-V配置、BIOS设置到系统服务检查,提供了一系列实用命令和排查步骤,帮助开发者快速解决'Unexpecter WSL error'等常见问题,实现Docker与WSL2的稳定运行。

weixin_30687051的博客 122

for(int i = 0;i < 10;i++);用法

这意味着该循环将执行10次(每次i增加),但不会有任何内容被执行(没有输出或操作),这通常不是我们想要的。,并将其初始化为 0。这个变量通常用作计数器。): 在每次循环开始前,会检查这个条件。): 这部分代码在每次循环结束时执行,会将。小于 10,则执行循环体内的代码;在 C、C++ 等语言中,大于或等于 10,则结束循环。): 这里声明了一个整型变量。

D1557329860的博客 871

工业异常检测评价指标(I-AUROC、PRO等)

模型评价指标:TPR、FPR、Recall、ROC、AUC、AUROC、IoU、PRO、AUPRO等

qq_1532145264的博客 7437

循环语句 for循环

循环语句 for循环

xiaoduan0202的博客 763

修复zookeeper未授权访问漏洞

【代码】修复zookeeper未授权访问漏洞。

qq_28392947的博客 4068

SRRC型号核准的模块豁免规则解析——如何利用完整型模块简化设备认证流程

本文详细解析了SRRC型号核准中模块豁免规则的应用,重点介绍了完整型模块的技术定义、豁免条件及实际应用场景。通过合理利用完整型模块,企业可显著简化设备认证流程,缩短上市周期并降低成本。文章还提供了模块选型指南和常见问题解决方案,帮助工程师高效应对SRRC认证挑战。

weixin_29306011的博客 934

用c:forEach实现for(int i=0 ; i < 10 ; i++)

for(int i=0 ; i System.out.println(i); } 和上面同理 ${i} =============================== List list = new ArrayList(); for(String str

5323

前沿探索:基于强化学习的目标检测与跟踪技术及论文解析

前沿探索:基于强化学习的目标检测与跟踪技术及论文解析 ,人工智能,计算机视觉,大模型,AI,本文聚焦基于强化学习的目标检测与跟踪技术,先介绍相关技术基础,包括目标检测、跟踪及强化学习的算法等。接着阐述强化学习在目标检测与跟踪中的应用思路、框架及典型算法,解析三篇相关论文的背景、方法、实验结果。还探讨了该技术面临的样本效率、奖励函数设计等挑战,以及结合迁移学习等的未来发展方向,为该领域研究提供参考。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 11万+

C语言分支循环语句(分支语句if、else if、else、switch与循环语句for、while、do while)

本文介绍了分支语句if、else if、else、switch与循环语句for、while、do while

2401_84149931的博客 1251

【DRAM存储器四十六】LPDDR5介绍--基本操作之行操作、读、写

简述LPDDR5的行操作和读写时序

highman110的博客 764

一套适合 ABAP 初级和中级开发人员,从入门到提高的 ABAP 学习教程

曾几何时,ABAP 就是 SAP 的代名词。ABAP 这门编程语言造就了 SAP 名噪一时的 R/3 产品,同时也是如今 SAP 旗舰级产品,SAP S/4HANA 底层的实现语言。 ABAP 不仅代表着 SAP 这家公司在企业级管理软件市场辉煌的过去,ABAP 自身也在不断地进化着。SAP 不仅在本地部署(On-Premise)领域继续保持着自己绝对的统治地位,而且在云应用领域(Software-as-a-Service, 简称 SaaS), 也推出了自己的解决方案,比如 SAP S/4HANA Clo

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5929

C语言中的分支语句和循环语句(if语句、switch语句、while循环、for循环、do...while循环、goto语句)

C语言中if语句、switch语句、while循环、for循环、do...while循环、goto语句简介和基本运用

m0_64616721的博客 3159

【WRF-Urban数据集】 WRF 模型城市冠层参数 GloUCP 的使用

【数据集】 WRF 模型城市冠层参数 GloUCP 的使用

WW、forever的博客 483

C语言——switch case分支语句、while循环、for循环、do while循环

case后面的值,是switch()中的变量可能出现的值,switch···case的本质是对变量值进行判断,满足哪一个常量表达式,就自动执行该常量表达式后面的语句块,遇到break退出switch···case语句,如果所有的常量表达式都和变量的值不等,执行default后面的语句。在循环条件成立的情况下,do···while循环和while以及for循环执行结果相同;在循环条件不成立的情况下,do···while一定会在执行一次。}while(条件);(可以是常量比较的结果,不能是变量比较的结果)

WYF_111501的博客 1128

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

一篇文章讲明白C语言分支语句(if 语句,switch 语句)和循环语句(while循环,for循环,do while循环)

输入n=1,由case1输入,此时m=3,没break,case2继续执行,n=2,进入第二个switch语句,此时由第二个switch语句的case2进去,m=4,n=3,继续执行case4,m=5,跳出,所以打印的结果应该为5 3。输出的应该是2 3 4 6 7 8 9 10 11,首先i++,从2开始输出,当i=5时,跳过printf("%d ",i),继续进入判断,5

a002345001的博客 996

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【C语言】分支与循环if,switch,while,for等语句

分支语句if语句、switch语句;循环语句do while语句、while语句、for语句;转向语句break语句、goto语句、continue语句、return语句。

炸掉地球的博客 853

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

[包教包会]C语言:详解分支语句(if , switch , goto)和循环语句(while , for , do while)

不累子手把手教会你 C 语言中的分支语句和循环语句!!!

Blaze_dL的博客 1276

C语言分支循环语句(if...else,switch,while,do while,for语句)

新手小白C语言分支结构循环语句快速入门,三种循环语句该怎么选择?break和contiune有什么区别?该怎么使用?

xz17200637446的博客 2152

C 语言:分支语句(if/switch)+ 循环语句(for/while)

例:输入 0-100 的整数成绩,按规则输出等级(90-100→A、80-89→B、70-79→C、60-69→D、<60→不及格);专门替代多层 if...else if,处理「一个变量匹配多个固定值」的场景(如选菜单、数字分类、字符匹配)「先判断后执行」的循环结构:先初始化控制变量,判断条件为真则执行循环体,直到条件为假退出。多分支 else if:多选一,先满足先执行,兜底用 else。任意输入两数,较小的一个数的值赋值给第一个数,并输出。两个 if:顺序执行,多条件可同时满足;

2402_83411144的博客 676

C语言基础——(4)for循环语句、if 分支语句

数据类型的转换 如果一个表达式里的数字类型不同就必须首先把这些数字转换成同一个类型然后再进行计算。 这个转换过程就叫做隐式类型转换,完全由计算机完成。隐式类型转换过程中一定把占地小的类型转换成占地大的类型。如果不同数字的类型占空间大小一样就把整数类型转换成浮点类型,把有符号类型转换成无符号类型。 C语言中可以临时给数字任意指定类型,这叫做强制类型转换: 强制类型转换的格式如下: (cha...

跑不了的你的博客 6204

《C 语言分支和循环详解:if/else if/switch 与 for/while/do while 语句全解析》

C语言中的分支和循环语句,包括if-else、switch等分支结构以及for、while、do-while三种循环语句。通过多个实例展示了如何运用这些基础语法进行条件判断和重复操作,如判断奇偶性、年龄分段、素数查找等。特别强调了break和continue的作用,以及三目运算符的使用技巧。文章还对比了while和do-while的执行顺序差异,并提供了二分查找等进阶应用示例。。

月夜的风吹雨的博客 1187

【C语言】Section2_分支语句if-else,switch ; 循环语句while,for,do while ;goto语句

一、分支语句 1、if-else 分支语句 2、switch 分支语句-用于存在很多分支时 二、循环语句 1、while循环 2、for循环 3、do while循环 [练习题]

L_Blooming的博客 817

C语言基础2:分支语句和循环语句(if、else、switch、while、for、goto、EOF、猜数字、关机小程序)

文章目录第二章:分支语句和循环语句1.C语言语句概述2.分支语句2. 1 if 语句2.1.1 if的单语句2.1.2 if的 if else 语句2.1.3 if的 else if 语句2.1.4 悬空else语句2.1.5 if 书写形式的对比2. 2 switch 语句 第二章:分支语句和循环语句 1.C语言语句概述 C语言是一门结构化的程序设计语言 1、顺序结构 2、选择结构 3、循环结构 什么是语句? 表达式语句 函数调用语句 控制语句 复合语句 空语句 本周后面介绍的是控制语句。 控制语句用

LIHAO的博客 1947

C语言的分支和循环语句

C语言的分支和循环语句介绍

aaa114514aaaa的博客 1593

[简明C语言]分支和循环P_4:循环 - for语句

for语句

m0_58991879的博客 2463

『C语言入门』分支和循环语句

本文介绍了编程中的关键概念:分支和循环语句。分支用于根据条件选择不同路径,循环允许重复执行任务。我们探讨了它们的基本用法、陷阱以及如何合理结合,以提高代码质量和效率。掌握这些概念将增强你的编程能力。

2301_79480904的博客 2444
上一篇: C语言分支和循环语句—while
下一篇: C语言分支和循环语句—do while
J.Pei
J.Pei 2023年全国大学生物联网设计竞赛国奖获得者 2023年全国大学生物联网设计竞赛国奖获得者
博客等级 码龄4年 809粉丝 70原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

J.Pei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值