【C语言】看一眼就让人醍醐灌顶的循环语句

🔥🔥 欢迎来到小林的博客!!
🛰️博客主页:✈️小林爱敲代码
🛰️专栏:✈️C语言快速入门
🛰️欢迎关注:👍点赞🙌收藏✍️留言

【C语言】看一眼就让人醍醐灌顶的循环语句

这篇文章给大家介绍三大循环语句,以及break语句和continue语句的用法,给正在学习C语言的朋友们一点帮助。你们的支持是对我最大的鼓励🌺🌺

每日一句: 每件事到最后一定会变成一件好事,只要你能坚持到最后。

大纲:

【C语言】看一眼就让人醍醐灌顶的循环语句

目录

; 💖6. 循环语句

在生活中,我们经常需要进行一些重复的操作。比如在操场跑步时,每一圈就是一个循环。而程序里也有很多重复的操作,如果我们要输出1-100之间的每个数,如果把它们全打出来,那是非常麻烦的,所以我们可以使用循环语句。

💓6.2 while循环

🌺6.2.1 while循环的使用

while循环的使用格式: while(循环条件) {循环体;}
括号里面的是循环条件,而花括号里面,是要执行的内容。

代码:

#include
int main()
{
    int a = 0;
    while (a < 10)
    {
        printf("%d ", a);
    }
    return 0;
}

这个代码可以执行,但运行出来会一直在屏幕打印0。根本原因是因为 a的值没有发生变化,导致 每次循环条件都是满足的,因此会死循环。要避免这种条件,我们必须要让循环条件在每次循环后更接近假。

#include
int main()
{
    int a = 0;
    while (a < 10)
    {
        printf("%d ", a);
        a++;
    }
    return 0;
}

而这样,每次循环结束后,a 都会自增一次,在循环10次后,a 就会等于10。此时 a < 10的条件不再满足,while循环判断条件为假。因此循环结束。

【C语言】看一眼就让人醍醐灌顶的循环语句

🌺6.2.2 while循环的执行流程

while循环的执行流程是 &#x5148;&#x5224;&#x65AD; &#x5224;&#x65AD;&#x4E3A;&#x771F;&#xFF0C;&#x6267;&#x884C;&#x3002;&#x4E3A;&#x5047;&#xFF0C;&#x9000;&#x51FA;&#x5FAA;&#x73AF;&#x3002;

【C语言】看一眼就让人醍醐灌顶的循环语句
也就是说,如果循环条件不为假,那么循环会一直进行下去,直到循环条件为假才会停下来。循环内容执行结束后,会重新进行条件判断。

1.进行条件判断,条件为真执行步骤2,为假执行步骤4
2.执行循环体内容
3.循环体内容执行完毕,跳到步骤1
4.退出循环

【C语言】看一眼就让人醍醐灌顶的循环语句

; 💓6.3 for 循环

for 循环和 while循环的执行流程并无太大区别。只是语法上有一些差异。

🌺6.3.1 for循环的使用

for循环的使用格式: for(&#x53D8;&#x91CF;&#x521D;&#x59CB;&#x5316;;&#x5FAA;&#x73AF;&#x6761;&#x4EF6;;&#x6761;&#x4EF6;&#x53D8;&#x5316;) {&#x5FAA;&#x73AF;&#x4F53;;}
如果不理解的请先看以下for循环的代码。

代码:

#include
int main()
{
    for (int i = 0; i < 10; i++)
    {
            printf("%d ", i);
    }

    return 0;
}

变量初始化: int i = 0 ,就是初始化了一个变量i

循环条件: i < 10 意思是只要 i 小于 10 就循环

条件变化: i++ ,i每次自增,i离10就更近了一步,就意味离循环结束更近一步,也就是循环条件发生变化。

🌺6.3.2 for循环的执行流程

for循环的执行流程需要注意以下几点:

1.整个循环中变量只会初始化一次。
2.条件变化在循环体结束之后进行。

【C语言】看一眼就让人醍醐灌顶的循环语句

【C语言】看一眼就让人醍醐灌顶的循环语句

; 💓6.4 do while循环

do while循环和while循环只有一个区别,那就是do while 是先执行,再判断,而while 是先判断,再执行。

🌺6.4.1 do while循环的使用

我们刚刚说过,do while 循环是先执行,再判断的。这就意味着,无论如何,do while都至少会执行一次。第一次执行完后再进行条件判断,判断是否执行下一次。

#include
int main()
{
    int a = 100;

    do
    {

        printf("%d ", a);
    } while (a < 1);

    return 0;
}

因为 a = 100,所以 while(a < 1)这个条件不会成立,但是这个程序依然会打印一次a,因为是先执行,后判断的。

【C语言】看一眼就让人醍醐灌顶的循环语句

🌺6.4.2 do while循环的执行流程

1.先执行循环体
2.条件判断,为真继续执行循环体,为假退出循环。

【C语言】看一眼就让人醍醐灌顶的循环语句

; 💓6.5 break语句

break是一个关键字,主要应用于2个场景
1.switch分支语句
2.循环语句

而在循环语句里,break的作用只有一个,那就是结束循环。

但是要注意的是,break只会跳出当前循环,在循环嵌套的情况下,它不会结束外层循环。

单层循环的情况:

#include
int main()
{
    for (int i = 0; i < 100; i++)
    {
        if (i > 10)
        {
            break;
        }
        printf("%d ", i);
    }

    return 0;
}

我们在里面加了一个if判断,如果 i大于10,就break跳出循环。

【C语言】看一眼就让人醍醐灌顶的循环语句
我们可以看到当i=10的时候,循环就结束了,是因为满足了 i >10这个条件,执行了break语句。

break语句在while循环里也同样适用。

#include
int main()
{
    int i = 0;
    while (i < 100)
    {
        if (i > 10)
        {
            break;
        }
        printf("%d ", i);
        i++;
    }

    return 0;
}

【C语言】看一眼就让人醍醐灌顶的循环语句
在do while语句也同样试用,这里就不演示了。

💓6.6 continue语句

continue语句和break语句同样是关键字。continue语句只能用在循环里面,continue语句的功能是结束本次循环,开始下一次循环。

我们来看看以下这一段代码

#include
int main()
{
    for (int i = 0; i < 10; i++)
    {
        if (i == 5)
        {
            continue;
        }
        printf("%d ", i);
    }
    return 0;
}

当i == 5 时,我们执行continue语句,让我们看看continue语句的效果。

【C语言】看一眼就让人醍醐灌顶的循环语句
我们会发现,5 没有打印出来,这是因为当i等于5的时候,continue语句直接结束了本次循环,开始了下一次循环,所以当 i = 5 时,continue下面的语句没有被执行。

如果我们把打印语句放在continue的上面呢?

#include
int main()
{
    for (int i = 0; i < 10; i++)
    {
        printf("%d ", i);
        if (i == 5)
        {
            continue;
        }
    }
    return 0;
}

那么 5 依旧会被打印出来,因为打印语句在continue的前面,它先被执行了,当执行到continue时,才会结束本次循环开始下一次循环。也就是说只有continue之后的语句,才不会被执行。

【C语言】看一眼就让人醍醐灌顶的循环语句

但是在while循环中使用continue,需要注意!条件的变化语句不能放在continue之后,否则会死循环!

例如下面这一段代码:

#include

int main()
{
    int a = 0;
    while (a < 10)
    {
        printf("%d ", a);
        if (a == 5)
        {
            continue;
        }
        a++;
    }
    return 0;
}

我们可以看到,a++在continue之后,那么a++这条语句就不会被执行,那么程序就会死循环。

【C语言】看一眼就让人醍醐灌顶的循环语句

正确的做法是把a++放在continue之前。

#include
int main()
{
    int a = 0;
    while (a < 10)
    {
        printf("%d ", a);
        a++;

        if (a == 5)
        {
            continue;
        }
    }
    return 0;
}

【C语言】看一眼就让人醍醐灌顶的循环语句

这样 避免了这个问题,所以在while语句里使用continue需要格外注意。for循环则不需要担心这个问题,因为条件变化是在循环体执行结束后才执行的。

💓6.7 循环嵌套

当然,循环之间也可以嵌套。就是在一个循环里面再套一个循环。

循环嵌套的代码 :

#include
int main()
{
    for(int i = 0 ; i < 5;i++)
    {
        for (int j = 0; j < 5; j++)
        {
            printf("i = %d j = %d\n", i, j);
        }
    }
    return 0;
}

运行结果

【C语言】看一眼就让人醍醐灌顶的循环语句

也就是外层循环每执行一次,都会把内层循环整个执行一遍。所以 printf()执行的次数是 5 * 5,也就是执行了25次。

结言🥳:

💦💦如果有写的不好或者错误的地方,希望大家指证出来,我会不断的改正自己的错误。💯💯如果感觉写的还可以,可以点赞三连一波哦~🍸🍸后续会持续为大家更新大纲上的内容,以及数据结构,C++,Linux操作系统等方面的知识,本人会坚持持续更新。

🌺🌺你们的支持是我最大的动力,希望在往后的日子里,我们大家一起进步!!!🌺🌺

Original: https://blog.csdn.net/Lin5200000/article/details/128383658
Author: 小林爱敲代码
Title: 【C语言】看一眼就让人醍醐灌顶的循环语句

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/786246/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • scrapy 两类item_scrapy item的详细讲解

    首先要明确要获取的目标内容然后编写items 文件:定义Item非常简单,只需要继承scrapy.Item类,并将所有字段都定义为scrapy.Field类型即可 示例: impo…

    Python 2023年10月3日
    046
  • 派生类中扩展属性

    对于在父类中存在的属性,如果要在其派生类中继续扩展属性 可以这样实现 1 class Valley: 2 def __init__(self): 3 self._name = No…

    Python 2023年10月31日
    050
  • python read_csv chunk_Python chunk读取超大文件

    16GB小水存已经不能适应动辄4GB、8GB的数据文件了。 查询到pandas的read_csv()提供了chunk分块读取能力。 官方示例 这是一张原始的table In [18…

    Python 2023年8月9日
    060
  • SpringBoot自定义注解+异步+观察者模式实现业务日志保存

    一、前言 我们在企业级的开发中,必不可少的是对日志的记录,实现有很多种方式,常见的就是基于 AOP+&#x6CE8;&#x89E3;进行保存,但是考虑到程序的流畅和…

    Python 2023年10月17日
    077
  • python中国地图代码 上色_python绘制中国地图

    import geopandas import pandas as pd import geopandas as gp import matplotlib.pyplot as pl…

    Python 2023年8月20日
    075
  • Python ❀ 函数

    ​​1、函数定义​​ ​​1.1 向函数传递参数​​ ​​1.2 实参与形参​​ ​​2、传递实参​​ ​​2.1 位置实参​​ ​​2.2 关键字实参​​ ​​2.3 默认参数​…

    Python 2023年5月25日
    050
  • Spark学习总结

    第1章 Spark 概述 1.1 Spark是什么 Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。主要用于数据计算,经常被认为是Hadoop框架的升级版。 1…

    Python 2023年11月8日
    051
  • 谈谈吓坏马斯克的 ChatGPT 与沸腾的 Web3 AI 赛道

    这是白话区块链的第 1836 期原创作者 | 木沐出品|白话区块链(ID:hellobtc) 近段时间, 人工智能领域的黑马产品ChatGPT亮相成为备受关注的全球科技界大事件之一…

    Python 2023年11月4日
    036
  • 面向对象介绍

    1.什么是面向对象和面向过程编程思想 面向过程: 1.核心是’过程’二字2.过程的含义是将程序流程化3.过程是流水线,用来分步骤解决问题的 程序=数据+功能…

    Python 2023年11月1日
    039
  • Python音频处理基础知识,右手就行

    Original: https://www.cnblogs.com/123456feng/p/16190316.htmlAuthor: 蚂蚁ailingTitle: Python音…

    Python 2023年11月3日
    037
  • pyecharts 结合 Pandas (mtcars)

    pyecharts 结合 Pandas 本例用来展示 Pandas 读取四周的温度信息,使用随机生成的数据源,开发者使用 pyecharts 的 Bar 模块,画出四周的温度预测柱…

    Python 2023年8月19日
    047
  • django – ajax发送json格式请求

    一、业务场景如下 很简单,哥就想实现一个登录,你去实现吧,那提到这个,我们会想到以下几点 1、前台,我要做一个登录业面2、然后发送一个ajax请求3、用户名密码一定是个表单,表单提…

    Python 2023年8月5日
    063
  • 研发效能之环境管理

    “谁把我的环境给重新部署了?”“我的环境里边的数据怎么不对了?”“谁能帮我把线上的配置同步一下到线下?” 环…

    Python 2023年10月22日
    039
  • Vue实现拖拽穿梭框功能四种方式

    一、使用原生js实现拖拽 点击打开视频讲解更加详细 Lazyload .drag { background-color: skyblue; position: absolute; …

    Python 2023年10月20日
    050
  • 机器学习划分,为有监督学习、无监督学习、强化学习。

    人工智能核心技术:机器学习总览 机器学习作为 人工智能的核心,与 计算机视觉、自然语言处理、语音处理和知识图谱密切关联 机器学习是实现人工智能的核心方法,专门研究计算机如何模拟/实…

    Python 2023年10月8日
    046
  • 数据分析与可视化

    使用适当的分析方法对采集和整理后的数据加以详细研究,提取有用的信息和形成概括总结的过程。 &#x63D0;&#x793A;&#xFF1A;&#x8F…

    Python 2023年8月25日
    045
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球