栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言基础【循环语句】

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言基础【循环语句】

目录

循环语句

while循环:

while循环的基本语法

while中的break介绍

while中的continue介绍

do-while循环:

do语句的用法

do-while循环中的continue和break

for循环:

for循环的基本语法

for循环与while循环的对比

for循环中的break和continue

for语句的循环控制变量

一些for循环的变形


循环语句

    由于我们在日常生活中,有许多事情是需要反复去做的,比如每天都要学习,每天需要睡觉,而在C语言中,也有这么一类语句供给我们使用,描述这些需要重复去做的事情。

    C语言中的循环语句主要有这么几类:while,do - while,以及for循环.

首先我们介绍while循环:

while循环:

while循环的基本语法:

我们已经了解并掌握了if - else语句

if (条件)

    语句;

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

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

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

那我们怎么做呢?

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

while循环的语法结构:

while(表达式)

        语句;

 while语句的执行流程:

 比如我们要实现打印1-10的数字:

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

 上面的代码已经帮助我们了解了while语句的基本语法.

接下来我们介绍while语句中的break 和 continue

while中的break介绍:
#include
int main()
{
     while (i <= 10)
     {
        if(i == 5)
           break;
        printf("%d ", i);
        i++;
     }

     return 0;
}

在编译器下运行后,我们会发现,这段代码输出了1 2 3 4.而5及5以后的数字都没有被输出,在这里,就是break语句起了作用,当i++,i递增到5时,当再次执行if语句时,此时i == 5为真,程序会执行break语句.

那么此时我们就可以得知break语句在while循环中的作用:

  • 在循环中只要遇到break,就停止后期的所有循环,直接终止循环。
  • while中的break用来终止循环

while中的continue介绍:
#include 
int main()
{
    int i = 1;

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

 而在这里,当我们编译执行这段代码时,会发现,屏幕上也只打印了1,2,3,4.

而且此时程序并没有停止,说明它陷入了死循环,即continue在while语句中的作用:

continue是用于终止本次循环的,也就是本次循环中continue语句后边的代码不会再执行而是直接跳转到while语句的判断部分,进行下一次循环的入口判断.

接下来我们介绍do-while循环:

do-while循环:

do语句的用法:

do语句的基本语法:

do

       循环语句;

while(表达式);

  • do语句的特点:循环至少执行一次,使用的场景有限,所以不经常使用.

 接下来我们看一段代码理解:

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

    return 0;
}

注意:在书写do-while循环时,千万不要忘记while后的分号!

将上段代码在VS2019中运行后结果:

我们可以看到,在屏幕上打印出了数字10,这就说明,虽然while语句括号中条件判断表达式值为假,但依然在屏幕上打印出了10,这就说明,do-while循环中的语句会至少执行一次,无论条件表达式的值为真或假.

do-while循环中的continue和break:

 break在do-while循环中的作用:与在while循环中相同,均为跳出循环.

 continue在do-while语句中的作用:跳过执行本次循环剩下的语句,直接跳到条件判断处.

for循环:

for循环的基本语法:

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

     循环语句;

表达式1:

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

表达式2:

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

表达式3:

              表达式3为调整部分,用于循环条件的调整

执行流程:

在执行循环时,程序将会依次执行1 2 3,然后走到语句4判断,如果表达式为真,则程序继续按照2->3->4->2->...,直到表达式为假,然后跳出循环.

实际问题:

打印数字1-10

#include
int main()
{
     int i = 0;

     //i = 1为初始化  i <= 10为条件判断部分  i++为调整部分
     for(i = 1; i <= 10; i++)
     {
           printf("%d ", i);
     }
     
     return 0;
}

执行程序后,发现屏幕上依次打印出1-10 

for循环与while循环的对比:

现在我们对比一下for循环与while循环:

#include
int main()
{
     //使用while循环
     int i = 0;
     i = 1;

     while(i <= 10)
     {
         printf("hahan");
         i += 1;
     }

     //使用for循环
     for(i = 1; i <= 10; i++)
     {
         printf("hahan");
     }
  
     return 0;
}

可以发现在while循环中依然存在循环的三个条件,但是由于风格的问题使三个条件离的比较远,这样查找和修改就不方便,所以for循环的风格略胜一筹,for循环的使用频率也最高.

for循环中的break和continue:

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

for语句的循环控制变量:
  • 不要在for循环体内修改循环控制变量,避免循环失去控制.
  • 建议for语句中的循环控制变量的取值采用"前闭后开"

如下: 

int i = 0;
for(i = 0; i < 10; i++)
{
     
}

一些for循环的变形:
#include
int main()
{
     //代码1
     for(;;)
     {
          printf("0n");
     }
    
}

for循环中的初始化部分,判断部分,调整部分是可以省略的,但是不建议初学时使用,容易导致问题

注意:在省略掉条件判断语句时,条件判断默认为真.

int i = 0;
int j = 0;

for(i = 0; i < 10; i++)
{
   for(j = 0; j < 10; j++)
      {
          printf("0 ");
      }
}

这段代码实现了for循环的嵌套使用,最终结果为在屏幕上打印出100个数字0

int x, y;

for(x = 0, y = 0; x<4 && y<5; x++, y++)
{
       printf("0 ");
}

这段代码实现了多变量控制for循环

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/352439.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号