C语言基础【循环语句】

本文详细介绍了C语言中的循环语句,包括while、do-while和for循环的基本语法、特点以及break和continue的用法。通过实例解析了循环控制变量的使用,并对比了while和for循环的差异,展示了循环在实际编程中的应用。
摘要由CSDN通过智能技术生成

目录

循环语句

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<stdio.h>
int main()
{
     int i = 0;
     
     while(i <= 10)
     {
        printf("%d", i);
        i++;
     }
     
     return 0;
}

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

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

while中的break介绍:

#include<stdio.h>
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 <stdio.h>
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<stdio.h>
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<stdio.h>
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<stdio.h>
int main()
{
     //使用while循环
     int i = 0;
     i = 1;

     while(i <= 10)
     {
         printf("haha\n");
         i += 1;
     }

     //使用for循环
     for(i = 1; i <= 10; i++)
     {
         printf("haha\n");
     }
  
     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<stdio.h>
int main()
{
     //代码1
     for(;;)
     {
          printf("0\n");
     }
    
}

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循环

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉默.@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值