【C语言初阶】循环语句的具体用法,有这篇博客就够了1

简介: 【C语言初阶】循环语句的具体用法,有这篇博客就够了

一. 循环语句具体解析

什么是循环语句,分别又有哪些?


4a76c26d5b9c4e5dbfcd6412ba019bd6.png

以上图片的例子就叫循环,也就是说满足某个条件就进入循环语句直至该条件不再满足就跳出循环。

循环语句通常分为以下三类:

b4930396ba1646a8870b74f0c9fd03cb.png

接下来我们逐一介绍。

1.while循环

在我们之前的介绍中相信你已经掌握了,if语句:

当条件满足的情况下,if语句后的语句执行,否则不执行。

但是这个语句只会执行一次。

由于我们发现生活中很多的实际的例子是:同一件事情我们需要完成很多次。

那我们怎么做呢?

C语言中给我们引入了: while 语句,可以实现循环。

语法结构

//while 语法结构
while(表达式)
循环语句;

while语句执行流程

8bd5371c56df45178761b4f20379e4fb.png


图中expr表条件判断,如果!=0(为真)就进入循环执行循环中的stmt,执行完或者使用continue跳出该次循环后进入下一次循环继续判断此时是否为真,如果此刻条件==0(为假)或者在上次循环中用break跳出循环,那么此时循环停止,执行循环后的语句。

举一个简单的例子

int main()
{
int i = 1;
while(i<=10)
{
printf("%d ", i);
i = i+1;
}
return 0;
}

上面代码的结果是在屏幕上打印1-10的数,我在这里想让大家注意的地方是:

i = i+1;

在通常情况下我们使用循环语句时,得让它的条件朝着不满足循环条件的方向发生变化,否则就一直跳不出循环语句,陷入死循环。

while语句中的break和continue

了解了while循环的基本用法,我们来聊聊循环语句中会多次出现的break与continue


break

还是引例来说明:

//break 代码实例
#include <stdio.h>
int main()
{
  int i = 1;
  while (i <= 10)
  {
    if (i == 5)
    {
      break;
    }
    printf("%d ", i);
    i = i + 1;
  }
  return 0;
}

这段代码的输入结果是什么?

479d2d2a748245189904823015ffe642.png

当i==5时,就已经通过break跳出该循环了,因此只打印前面四个数

总结:

break在while循环中的作用:

其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。

所以:while中的break是用于永久终止循环的。


continue

//continue 代码实例1
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
if(i == 5)
continue;
printf("%d ", i);
i = i+1;
}
return 0;
}

5c3506b09b194f67a05fef89c88bfd2e.png


虽然从结果上看,打印的依然是1 2 3 4,但是两者现在处于的状态确是截然不同的:

对比两个结果图我们可以发现,用break时,循环已经停止了,而使用continue时,光标仍然在闪烁说明此时循环压根没停止,陷入了死循环。

continue的作用是跳过此次循环continue下面的部分直接进入下次循环,由于i=i+1在continue下面未被执行,此时i还是等于5满足循环条件并且一直不会变化,这时程序就进入了死循环。

总结:

continue在while循环中的作用就是:

continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,

而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。


2.for循环

for循环也是我们常用的一种循环语句

语法

for(表达式1; 表达式2; 表达式3)

循环语句;


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

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

表达式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;
}

0ac15e4213b54fb989ae5489cd6b13f1.png


for循环的执行流程

d092385d96204fbe884db0c676acdfd8.png

图中expr1表示初始化变量,expr2表示判断循环条件,expr3表示调整变量,stmt表示f执行or中的代码

我们来对比以下for循环与while循环:

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

通过两者的对比我们可以发现:

在while循环中依然存在循环的三个必须条件,但是由于风格的问题使得三个部分很可能偏离较远,这样查找修改就不够集中和方便。所以,for循环的风格更胜一筹;for循环使用的频率也最高。

目录
相关文章
|
2月前
|
C语言
初识C语言2——分支语句和循环语句
初识C语言2——分支语句和循环语句
78 5
|
20天前
|
IDE 编译器 开发工具
【C语言】全面系统讲解 `#pragma` 指令:从基本用法到高级应用
在本文中,我们系统地讲解了常见的 `#pragma` 指令,包括其基本用法、编译器支持情况、示例代码以及与传统方法的对比。`#pragma` 指令是一个强大的工具,可以帮助开发者精细控制编译器的行为,优化代码性能,避免错误,并确保跨平台兼容性。然而,使用这些指令时需要特别注意编译器的支持情况,因为并非所有的 `#pragma` 指令都能在所有编译器中得到支持。
93 41
【C语言】全面系统讲解 `#pragma` 指令:从基本用法到高级应用
|
3月前
|
C语言
C语言判断逻辑的高阶用法
在C语言中,高级的判断逻辑技巧能显著提升代码的可读性、灵活性和效率。本文介绍了六种常见方法:1) 函数指针,如回调机制;2) 逻辑运算符组合,实现复杂条件判断;3) 宏定义简化逻辑;4) 结构体与联合体组织复杂数据;5) 递归与分治法处理树形结构;6) 状态机管理状态转换。通过这些方法,可以更高效地管理和实现复杂的逻辑判断,使代码更加清晰易懂。
242 88
|
3月前
|
安全 C语言
C语言循环的使用注意点
在C语言中,合理使用循环对于编写高效、安全的代码至关重要。以下是几点建议:确保循环条件正确以避免无限循环;每次迭代时正确更新循环变量;恰当使用`break`和`continue`控制执行流程;注意嵌套循环中的变量作用域;简化循环体内逻辑;根据需求选择合适的循环类型;注意数据类型以避免溢出;保持良好的缩进和注释习惯;减少重复计算以提升性能;确保循环终止条件明确。遵循这些建议,可以提高代码质量和可维护性。
241 88
|
2月前
|
C语言
【c语言】循环语句
循环结构是C语言中用于简化重复操作的重要工具,主要包括while循环、do-while循环和for循环。while循环是最基本的形式,通过不断检查条件来决定是否继续执行循环体。do-while循环则先执行循环体,再检查条件,至少执行一次。for循环逻辑更复杂,但使用频率最高,适合初始化、条件判断和更新变量的集中管理。此外,循环中还可以使用break和continue语句来控制循环的提前终止或跳过当前迭代。最后,循环可以嵌套使用,解决更复杂的问题,如查找特定范围内的素数。
53 6
|
2月前
|
Serverless C语言
C语言控制语句:分支、循环和转向
C语言控制语句:分支、循环和转向
|
2月前
|
算法 编译器 C语言
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
|
2月前
|
C语言
教你快速理解学习C语言的循环与分支
教你快速理解学习C语言的循环与分支
20 0
|
2月前
|
小程序 C语言
初识C语言:走近循环
初识C语言:走近循环
|
3月前
|
C语言
【C语言基础考研向】08判断语句与循环语句
本文介绍了C语言中的关键编程概念:首先解析了关系表达式与逻辑表达式的优先级及计算过程;接着详细说明了`if-else`语句的使用方法及其多分支和嵌套应用;然后讲解了`while`循环与`for`循环的语法和注意事项;最后介绍了`continue`和`break`语句在控制循环中的作用和示例代码。