爱上C语言:分支与循环(循环篇)

简介: 爱上C语言:分支与循环(循环篇)

🧐什么是语句?

对于语句我的理解就是:对于计算机的指令

C语言的语句共有五类:

  • 空语句
  • 表达式语句
  • 控制语句
  • 函数调用语句
  • 复合语句

而今天咱们要聊的就是控制语句,接着往下看👇

🔎 控制语句

控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语言共有9种控制语句。

分为以下三类:

  • 条件判断语句也叫分支语句:if语句、switch语句
  • 循环执行语句:for语句、while语句、do while语句
  • 转向语句:break语句、continue语句、return语句、go to语句

博主的上一篇博客介绍了分支语句,这篇重点讲解循环执行语句且穿插着转向语句


🚀 while循环

取得成功不仅需要选择,同样需要重复,我们选择了编程,同样得大量复的练习
而C语言中就提供了分支语句去选择,循环执行语句去重复

✈️while的语法结构

while(表达式)//条件判断
{
  循环语句;
}

来让我我们试试这个新玩意👇

#include<stdio.h>
int main()
{
  int sum = 0;
  while(sum < 10)
  {
    printf("阿辉不一般\n");
    sum++;
  }
  return 0;
}

❤️简单讲解一下,先判断sum<10的真假,显然sum初始化为0,sum<10为真进入循环打印阿辉不一般,同时sum++,循环10次后sum=10跳出循环,屏幕上也打印了10个阿辉不一般

✈️构成循环的条件

构成循环,一般需要三个条件:

1.循环变量初始化

2.循环的条件判断

3.循环变量的调整

这三个条件影响了循环的进行,一个不慎可能会造成死循环或者没能达到预期效果

✈️while中的break和continue

❤️咱直接上代码

#include<stdio.h>
int main()
{
  int sum = 0;
  while(sum < 10)
  {
      sum++;
    if(sum == 5)
    {
      break;
    }
    printf("%d ",sum)
  }
}

屏幕上仅仅打印了1 2 3 4,这是因为当sum为5的时候执行break语句

而break语句会直接跳出循环终止循环

👇咱们再看看continue

#include<stdio.h>
int main()
{
  int sum = 0;
  while(sum < 10)
  {
      sum++;
    if(sum == 5)
    {
      continue;
    }
    printf("%d ",sum);
  }
}

break不同的是,continue打印了1 2 3 4 6 7 8 9 10跳过了5没打印

continue会跳过本次循环continue后面的语句,直接进行下一次循环的判断


🚀do while循环

✈️do while的语法结构

do
{
  循环体;
}while(表达式);

👇流程图奉上

int main()
{
  int i = 10;
  do
  {
    printf("%d\n", i);
  } while (i < 10);
  return 0;
}

do while循环while循环堪称一样,唯一的区别就在于不论如何do while的循环体都会执行一遍

breakcontinuedo while中和while的用法都是一样的


🚀for循环

C语言中已经有while循环,为什么还要for循环呢?下面让我们一探究竟👇

✈️for循环的语法结构

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

上述的表达式分别是什么意思呢

  • 表达式1:初始化部分,给循环变量的初始化
  • 表达式2:条件判断部分,判断循环的终止
  • 表达式3:调整部分,调整循环变量

流程图展示👇

下面我们直接上手实操一波👊

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

上述代码i先初始化为零,i<10为真进入循环打印i,然后i++

直到i=10停止循环,屏幕上打印 0 1 2 3 4 5 6 7 8 9

while相比for循环初始化部分、条件判断部分调整部分更加集中,用起来更加便利,同时for循环的使用频率也是更高的

但也不是说while就比for差,for的模式固定,while则更加自由,两者各有千秋

✈️for循环中的break和continue

for循环中同样可以使用break和continue,他们的意义和在while循环中是一样的

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

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

✈️对于for循环的一些见解

  • for循环的循环体内不要轻易改变循环变量,很容易造成死循环
  • for循环的初始化部分、条件判断部分以及调整部分都是可以省略的,也就是for循环可以这么写for( ; ; ),初学者不建议省略这些部分,容易出错

例:

#include<stdio.h>
int main()
{
  int i = 0;
  int j = 0;
  for (; i < 5; i++)
  {
    for (; j < 5; j++)
    {
      printf("5 ");
    }
  }
  return 0;
}

上面这个代码太了,我一开始以为会打印25个5但是仅仅打印了5个5

因为当i为0时内层循环循环一遍j的值变成了5,而内循环没有初始化j,内循环(也就是第二层循环)就进不去了

相关文章
|
4天前
|
C语言
【C语言基础】:分支与循环
【C语言基础】:分支与循环
|
12天前
|
C语言
c语言循环题目
c语言循环题目
|
13天前
|
C语言
C语言控制流程详解:分支与循环语句
C语言控制流程详解:分支与循环语句
11 0
|
18天前
|
算法 C语言 索引
C语言中的for循环:深入探索与实用技巧
C语言中的for循环:深入探索与实用技巧
15 1
|
18天前
|
C语言
C语言中如何避免循环死循环
C语言中如何避免循环死循环
14 1
|
18天前
|
C语言
c语言循环设计程序结构
c语言循环设计程序结构
17 0
|
20天前
|
存储 C语言
C语言for循环详解
C语言for循环详解
|
20天前
|
C语言
C语言中的循环控制结构与循环语句详解
C语言中的循环控制结构与循环语句详解
19 0
|
20天前
|
C语言
C语言中的条件控制循环:深入解析与实战应用
C语言中的条件控制循环:深入解析与实战应用
27 1
|
20天前
|
C语言
C语言条件控制循环的深入解析
C语言条件控制循环的深入解析
21 0