【C语言】循环语句

简介: 【C语言】循环语句在C语言当中,使用 [for] 语句也可以控制一个循环。并且在每一次循环时修改循环变量。在循环语句当中;[for] 语句是最具有灵活性的,它完全可以替代 [while] 语句。不仅可以用于循环次数已经确定的情况,而且还能

🪁Ⅰ前言

在C语言当中,使用 [for] 语句也可以控制一个循环。并且在每一次循环时修改循环变量。在循环语句当中;[for] 语句是最具有灵活性的,它完全可以替代 [while] 语句。不仅可以用于循环次数已经确定的情况,而且还能用于循环次数当中不确定的情况。

🍬for语句的使用

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

         语句块;

先执行"表达式1",并且程序只会执行①次"表达式1"。注:"表达式1"仅在第一次循环时执行,以后都不会再执行,可以认为这是一个初始化语句!

接着程序判断条件"表达式2"的结果是否为"真",为"真"时,程序就执行语句块的内容。注:"表达式2" 一般是一个关系表达式,决定了是否还要继续下次循环,称为"循环条件"。

语句块执行完的话,接下来会执行"表达式3"! 注:"表达式3" 很多情况下是一个带有自增或自减操作的表达式,以使循环条件逐渐变得"不成立"。

然后重复 第二步骤 和 第三步骤,直到 "表达式2" 判断条件不成立就退出循环!

[for]语句最简单的应用形式也是最容易理解的形式如下 :

for(循环变量赋初值;循环条件;循环变量增量) 语句

循环变量赋初值总是一个赋值语句, 它用来给循环控制变量赋初值;

循环条件是一个关系表达式,它用来决定什么时候退出循环;

循环变量增量,定义循环控制变量每循环一次后按什么方式变化;

🍬计算1加到100的代码之和

如下示例代码所示:

​#include<stdio.h>
int main(void)
{
  int i = 0;
  int sum = 0;
  for (i = 1; i <= 100; i++)
  {
    sum = sum + i;
  }
  printf("sum = %d\n",sum);
  return 0;
}

运行结果显示:5050

🍬程序思路

执行到 [for] 语句时,先给 i 赋初值1,判断 i<=100 是否成立;因为此时 i=1,i<=100 成立,所以执行循环体。循环体执行结束后(sum的值为1),再计算 i++。

第二次循环时,i 的值为2,i<=100 成立,继续执行循环体。循环体执行结束后(sum的值为3),再计算 i++。

重复执行步骤 2,直到第101次循环,此时 i 的值为101,i<=100 不成立,所以结束循环。

🧨说明注意

每条 [for] 语句包含 3 个用分号隔开的表达式。这 3 个表达式用一对圆括号括起来,其后紧跟循环语句或语句块。

省略表达式1的时候,其后的分号是不能省略的。

有些程序当中省略表达式2(循环条件)的话,可能会导致程序发生死循环!

所谓的"死循环"就是:循环条件永远成立,循环会一直进行下去,永不结束。死循环对程序的危害很大,一定要避免。

省略表达式3的话(自增自减),就不会再修改表达式2的循环变量了,除非你在语句块中加上了自增自减运算符!                                            

🪁Ⅱ前言

在生活当中我们会去重复循环的去做某件事情,而在我们C语言当中也有语句和我们生活当中是相互类似重复着一件事情,例如:我们每天都要学习,每天都要吃饭以及还要每天都要去睡觉!从前面的知识点我们可以知道:程序在运行中可以通过判断、检验条件做出选择。此处,程序还必须能够重复,也就是反复执行一段指令,直到满足某个条件为止。而这篇博客就是要介绍一个关键字也是循环语句 [while] 语句。

只要给定的条件为真,C 语言中的[while]循环语句会重复执行一个目标语句!

🍬while语句

使用 [while] 语句可以执行循环结构,其一般形式如下:

while(表达式)

{

       语句块;

}

[while] 语句首先去检验一个条件,也就是括号当中的表达式!

当表达式的值为"真"(非'0'即为真),就执行紧跟其后面语句的语句块。每执行一次循环,程序都会回到 [while] 语句处,重新检验条件是否满足。

如果一开始条件就并不满足,则跳过循环体当中的语句,直接执行后面的程序代码。

如果第一次检验时候条件就满足的话,那么在第一次或其后的循环过程中,必须要有使条件为"假"的操作,不然程序会无法终止,陷入到死循环当中。

我们通常将"表达式" 称为 循环条件,把"语句块"称为循环体,整个循环的过程就是不停判断循环条件、并执行循环体代码的过程。

🍬用[while]循环计算1~100值

如下代码所示:

#include <stdio.h>
int main()
{
    int i=1, sum=0;
    while(i<=100)
    {
        sum+=i;//sum = sum + i;
        i++;
    }
    printf("%d\n",sum);
    return 0;
}

运行结果:5050

🍬代码分析

程序运行到 [while] 时,因为 i = 1,i <=100 成立(表达式为"真"),所以会执行循环体;执行结束后 i 的值变为 2,sum 的值变为 1。

接下来会继续判断 i<=100是否成立,因为此时 i=2,i<=100 成立,所以继续执行循环体;执行结束后 i 的值变为 3,sum 的值变为 3。

重复执行步骤 2。

当循环进行到第100次,i 的值变为 101,sum 的值变为5050;因为此时 i<=100 不再成立,所以就退出循环,不再执行循环体,转而执行[while]循环后面的代码。

[while] 循环的整体思路是这样的:设置一个带有变量的循环条件,也即一个带有变量的表达式;在循环体中额外添加一条语句,让它能够改变循环条件中变量的值。这样,随着循环的不断执行,循环条件中变量的值也会不断变化,终有一个时刻,循环条件不再成立,整个循环就结束了。

🍬循环条件不包含变量

循环条件成立时的话,while 循环会一直执行下去,永不结束,成为“死循环” 。

#include <stdio.h>
int main(void)
{
    while(1)
    {
        printf("hello word!\n");
    }
    return 0;
}
  • 运行结果:一直在打印 "hello word!"直到用户强制关闭!

循环条件不成立的话,while 循环就一次也不会执行。

#include <stdio.h>
int main(void)
{
    while(0)
    {
        printf("hello word!\n");
    }
    return 0;
}
  • 运行结果:跳出[while]循环什么也不会输出!

🍬统计键盘输入字符

代码示例如下:

#include<stdio.h>
int main(void)
{
    int count = 0; // count 用于Excel中对给定数据集合或者单元格区域中数据的个数进行计数
  printf("请输入一行字符:");
  while (getchar() != '\n') // 它从标准输入里读取数字 while进行循环
  {
    count++;
  }
  printf("你总共输入了%d个字符!\n", count);
  return 0;
}

本例程序中的循环条件为 getchar()!=“\n”,其意义是,只要从键盘输入的字符不是回车就继续循环。循环体 count++;完成对输入字符个数计数。

🪁Ⅲ前言

在C语言当中除了我们前面所介绍过的循环语句还有一种是 [do while] 那么它跟前面的循环语句当中有什么不同之处呢?

有些情况下,不论你的条件是否满足,循环的过程中至少会执行一次,这个时候就可以采用 [do...while] 循环语句。不像 [for] 和 [while] 循环,它们是在循环头部测试循环条件。在 C 语言中,[do...while] 循环是在循环的尾部检查它的条件。

🍬do...while 语句

C 语言中 [do...while] 循环的语法:

do

   循环体语句;

while(表达式);

[do...while] 语句最少执行一次,这就是它与 [while] 循环语句的最大区别!

首先执行①次循环体语句当中的内容,然后判断表达式,当表达式的值为"真"时候,返回重新执行循环体语句。执行循环体内容,直到表达式判断为假时为值,此时循环语句结束!

🍬说明

[while] 语句和[do...while] 语句的区别就在于,[while] 语句每次循环之前检验条件,[do...while] 语句每次循环之后检验条件。这也可以从两种循环结构的代码上看出来,[while] 结构中的 [while] 语句出现在循环体的前面,[do...while] 结构中的 [while] 循环体出现在后面。

🧨注意

在使用 do...while 语句的时候,条件要放在 [while] 关键字后面的中括号,最后必须加上①个分号,这是许多初学者容易忘的!

🍬用do-while计算1加到100的值

代码示例如下:

#include <stdio.h>
int main(void)
{
    int i=1,sum=0;
    while(i<=100)
    {
        sum = sum + i;
        i++;
    }
    printf("%d\n",sum);
    return 0;
}

运行结果如下:5050

🍬代码示例分析

程序运行到 while 时,因为 i=1,i<=100 成立,所以会执行循环体;执行结束后 i 的值变为 2,sum 的值变为 1。

接下来会继续判断 i<=100是否成立,因为此时 i=2,i<=100 成立,所以继续执行循环体;执行结束后 i 的值变为 3,sum 的值变为3。

重复执行步骤 2。

当循环进行到第100次,i 的值变为 101,sum 的值变为5050;因为此时 i<=100 不再成立,所以就退出循环,不再执行循环体,转而执行while循环后面的代码。

while 循环的整体思路是这样的:设置一个带有变量的循环条件,也即一个带有变量的表达式;在循环体中额外添加一条语句,让它能够改变循环条件中变量的值。这样,随着循环的不断执行,循环条件中变量的值也会不断变化,终有一个时刻,循环条件不再成立,整个循环就结束了。

目录
相关文章
|
1月前
|
C语言
初识C语言2——分支语句和循环语句
初识C语言2——分支语句和循环语句
68 5
|
4月前
|
C语言
【C语言】循环语句
C语言中循环语句的相关知识点
54 2
【C语言】循环语句
|
2月前
|
安全 C语言
C语言循环的使用注意点
在C语言中,合理使用循环对于编写高效、安全的代码至关重要。以下是几点建议:确保循环条件正确以避免无限循环;每次迭代时正确更新循环变量;恰当使用`break`和`continue`控制执行流程;注意嵌套循环中的变量作用域;简化循环体内逻辑;根据需求选择合适的循环类型;注意数据类型以避免溢出;保持良好的缩进和注释习惯;减少重复计算以提升性能;确保循环终止条件明确。遵循这些建议,可以提高代码质量和可维护性。
211 88
|
27天前
|
C语言
【c语言】循环语句
循环结构是C语言中用于简化重复操作的重要工具,主要包括while循环、do-while循环和for循环。while循环是最基本的形式,通过不断检查条件来决定是否继续执行循环体。do-while循环则先执行循环体,再检查条件,至少执行一次。for循环逻辑更复杂,但使用频率最高,适合初始化、条件判断和更新变量的集中管理。此外,循环中还可以使用break和continue语句来控制循环的提前终止或跳过当前迭代。最后,循环可以嵌套使用,解决更复杂的问题,如查找特定范围内的素数。
34 6
|
1月前
|
Serverless C语言
C语言控制语句:分支、循环和转向
C语言控制语句:分支、循环和转向
|
1月前
|
算法 编译器 C语言
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
|
1月前
|
C语言
教你快速理解学习C语言的循环与分支
教你快速理解学习C语言的循环与分支
15 0
|
1月前
|
小程序 C语言
初识C语言:走近循环
初识C语言:走近循环
|
2月前
|
C语言
【C语言基础考研向】08判断语句与循环语句
本文介绍了C语言中的关键编程概念:首先解析了关系表达式与逻辑表达式的优先级及计算过程;接着详细说明了`if-else`语句的使用方法及其多分支和嵌套应用;然后讲解了`while`循环与`for`循环的语法和注意事项;最后介绍了`continue`和`break`语句在控制循环中的作用和示例代码。
|
1月前
|
编译器 C语言 C++
【C语言】循环语句(语句使用建议)
【C语言】循环语句(语句使用建议)