C语言分支循环

前言: 

1.循环语句是什么?

2.while循环语句:

2.1.while循环的语法以及使用

2.2.while循环中的break语句

2.3.while循环中的continue语句

 3.for循环

3.1.for循环的语法以及使用

 3.2.对比while循环以及for循环

3.3.for循环中的break语句和continue语句

3.4.for循环的一些变种

总结

                 

前言:
c语言中有三种循环语句:while循环、do while循环、for循环,下面我会一一介绍它们的用法和它们各自的特点。

1.循环语句是什么?
学会循环语句我们首先搞明白什么是循环语句。循环语句是用于重复执行某条语句(循环体)的语句,它包含三个部分,分别是初始化部分、判断部分和调整循环部分。C语言提供了3中循环语句,分别为while语句,do while语句和for语句。

举个例子:

只要坚持买彩票和学习我们终会走上人生巅峰,当然这也是我举得不是那么不恰当的例子,图片中的黑线就是我们一直循环的部分,红线蓝线就是终止循环的条件。一个完整的循环语句不仅要有循环判断条件表达式,还要有循环语句。

2.while循环语句:

2.1.while循环的语法以及使用

while循环的语法结构类似选择语句中的if语句。
if(表达式)
    {语句;}
 
//while循环的语法
while(表达式)
{
    循环语句;
}
        


        
注意:当while循环的表达式为真时,程序进入循环体内执行循环体内的语句。

了解了语法结构,下面我来书写一个简单的小程序,通过while循环来打印1-10数字。运行代码如下:

#include<stdio.h>
 
int main()
{
    int n = 1; //创建一个临时变量来存放打印的值
    //当表达式为真时才进入循环
    while (n <= 10)
    {
        printf("%d ", n);    
        n++;//调整循环的部分
    }
    return 0;
}


倘若没有调整循环的语句(n++),每次都是n=1进入while循环,程序会变成死循环,如下图所示:

while循环中一定要注意在循环体内调整循环的次数。

2.2.while循环中的break语句
在之前的switch语句学习中,我们知道break语句在选择语句是有打破该次语句的意思。在while循环内也是一样,当程序运行到break语句后会结束该次循环。下面我还是以上面代码为例加入break语句。

#include<stdio.h>
 
int main()
{
	int n = 1; //创建一个临时变量来存放打印的值
	//当表达式为真时才进入循环
    while (n <= 10)
	{
        if (n == 4)
            break;
		printf("%d ", n);    
        n++;//调整循环的部分
	}
	return 0;
}


 这时为什么屏幕上输出的是1 2 3呢?因为当n=3时n++后,程序进入循环,if(n == 4)语句为真,程序走到break语句的代码行,执行break语句后循环结束,所以屏幕上只会输出1 2 3.

break语句在while循环的作用:

在while循环中,只要遇到break就停止后期的所有的循环,直接终止循环。 所以:while中的break是用于永久终止循环的。

        

2.3.while循环中的continue语句
首先我给大家出一道题目

int main()
{
    int i = 1;
    while (i <= 10)
    {
        if (i == 5)
            continue;
        printf("%d ", i);
        i = i + 1;
    }
    return 0;
}
请问当程序运行时,屏幕上输出的数字什么呢?

1 2 3 4 

1 2 3 4 5

1 2 3 4 5 6 7 8 9 10

1 2 3 4 6 7 8 9 10

continue在while循环中的作用:

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

所以上面的程序当i++的值为5时,if(i == 5)为真,执行continue语句,本次循环结束返回while循环表达式进行判断。此时i依旧=5,又进入if( i ==5)语句中,再次执行continue语句。程序死循环了,所以屏幕上输出的是1 2 3 4



3.1.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++)
    {
        printf("%d ", i);
    }
 
    return 0;
}


下面是运行的结果:


     3.2.对比while循环以及for循环   
#include<stdio.h>
 
int main()
{
	int i = 0;
      //初始化部分;判断部分;调整循环部分
	for (i = 1; i <= 10; i++)
	{
		printf("%d ", i);
	}
	return 0;
}
 
 
int main()
{
	int n = 1; //初始化部分
	
    while (n <= 10)//判断部分
	{
		printf("%d ", n);    
        n++;//调整循环的部分
	}
	return 0;
}

通过对比我们发现,由于语法问题while循环的三个部分的位置彼此之间并不想连,不方便集中管理和修改。for循环的三个部分相连,语法风格更胜一筹,这就是为什么for循环是最常用的循环语句。

3.3.for循环中的break语句和continue语句
还是和上面while循环代码一样

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


代码运行结果:

break语句在while循环和for循环中的效果是一样的,都是终止其所在循环语句

continue语句在for循环中的代码以及与运行结果:

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

    这里我们可以看到,程序运行结束后并没有像while循环那样进入死循环,而是在屏幕上输出了1 2 3 4 6 7 8 9 10 这九个数。因为当i++ 后i = 5时,进入循环部分后,if(i == 5)为真,执行continue语句,然后不执行continue语句后面的部分,程序又回到 i++,然后程序直到 i <= 10 为假结束循环。所以当continue放在调整循环次数语句后面时,容易造成程序的错误

3.4.for循环的一些变种
史上最简单for循环
int main()
{
	
	for (;;)
	{
		printf("haha\n");
	}
	return 0;
}

for循环的初始化部分、判断部分、调整部分都是可以省略的,但是不建议随意省略,容易造成程序的错误

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值