爱上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,内循环(也就是第二层循环)就进不去了

相关文章
|
1月前
|
C语言
【C语言】循环语句
C语言中循环语句的相关知识点
24 2
【C语言】循环语句
|
22小时前
|
C语言
【C语言篇】分支语句详解(超详细)
在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要顺序是满⾜实际需求的就可以。 不过我们通常是把 default ⼦句放在最后处理的。
|
22小时前
|
机器学习/深度学习 C语言
【C语言篇】循环语句详解(超详细)
while 和 for 这两种循环都是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳出循环.
|
11天前
|
C语言
C语言的循环语句
C语言的循环语句
23 6
|
11天前
|
C语言
C语言分支语句
C语言分支语句
13 4
|
2月前
|
C语言
C语言循环与分支
C语言循环与分支
31 5
|
2月前
|
存储 算法 C语言
二分查找算法的概念、原理、效率以及使用C语言循环和数组的简单实现
二分查找算法的概念、原理、效率以及使用C语言循环和数组的简单实现
|
1月前
|
Linux C语言
【编程小实验】C语言实现:无限循环写入文本文件,支持Ctrl+C中断与数据追加(附完整源码)
在Linux中,文件I/O(输入/输出)是程序与文件进行交互的基本方式,包括读取文件内容和向文件写入数据。这通常通过标准的C库函数来实现,下面是一些基本的文件读写操作和代码示例。
|
2月前
|
Java 程序员 Linux
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
29 0
|
2月前
|
C语言
C语言---正方形图案--循环
C语言---正方形图案--循环