带你玩转C语言中三种循环

在C语言中,循环是非常重要的。

C语言中提供了三种循环:while循环,for循环,do-while循环

1.while循环

while语句的语法结构和if十分类似。

1.1 while语句与if语句的对比

结构对比:

if(表达式)
    语句;




while(表达式)
    语句;      //如果想有多条语句,要加大括号{}

两者对比:

#include <stdio.h>

int main()
{
    if(1)
    {
        printf("hehe\n");//为真进入,打印一次hehe
    }
    return 0;
}
#include <stdio.h>

int main()
{
    while(1)//非零为真,一直打印hehe,进入死循环
    {
        printf("hehe\n");
    }
    return 0;
}

这就是两者的区别,if满足条件进入后,只运行一次,而while满足条件进入后,一直重复,直至不满足条件后,跳出while循环。

1.2 while循环的执行流程

 首先执行判断表达式,如果为假(表达式的值为0),不进入循环,循环直接结束;

如果为真(表达式的值不为0),进入循环,执行循环语句,语句执行完后再次执行判断表达式,判断是否为真,直至判断为假跳出循环。若恒为真,则进入死循环。

1.3 while循环的实践

在屏幕中打印1~10。

#include <stdio.h>

int main()
{
    int i=1;
    while(i<=10)//判断表达式
    {
        printf("%d \n",i);
        i++;
    }
    return 0;
}

运行结果:

2.for循环(相对来说最常用)

2.1 for循环的语法形式

for(表达式1;表达式2;表达式3)
    语句;//如果有多条语句,要使用大括号{}

表达式1:循环变量的初始化;

表达式2:循环结束条件的判断

表达式3:循环变量的调整

2.2 for循环的执行流程 

 

 首先表达式1初始化循环变量,然后执行表达式2进行判断,如果为假(==0)则不进入循环,结束;如果为真(!=0)则进入循环,执行循环语句,循环语句执行完后,再执行表达式3对循环变量进行调整,然后再进行表达式2进行判断,决定循环是否继续。

整个循环的过程中,表达式1初始化部分只被执行1次,剩下的就是表达式2、循环语句、表达式3在循环。

 2.3 for循环的实践

 在屏幕中打印1~10。

#include <stdio.h>

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

运行结果:

3 do-while循环 

3.1 do-while的语法形式 

在循环结构中,do-while循环是用最少。

do
{
    语句;
}while(表达式);

while和for循环都是先先判断,为真才执行判断表达式,为假就跳出循环;

 而do-while循环是先进入循环语句,再执行while的判断表达式,为真就进入下一次循环,为假就跳出循环,do-while循环至少执行一次。

 3.2 do-while的执行流程

 

 首先执行循环语句,然后执行判断表达式,为真(!=0)则继续循环,为假(==0)就跳出循环,do-while循环至少执行一次,这也是它的特殊之处。

3.3 do-while循环的实践

在屏幕上打印1~10 。

#include <stdio.h>

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

运行结果:

小知识 

goto语句 

在C语言中有一个特别的语法, 就是goto语句,goto语句可以实现在同一个函数中跳转到设置的地方中。

例如:

#include <stdio.h>

int main()
{
	printf("haha\n");
	goto next;
	printf("hehe\n");
next:
	printf("heihei\n");
	;
	return 0;
}

打印完haha后,执行goto语句到next处,跳过了打印hehe,直接打印heihei。

执行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值