C语言之对结构的认知(下)

上一篇,我们介绍了 顺序结构 选择结构 ,这篇我们来介绍 循环结构 。(没有看过上篇的朋友可以去我主页找一下上篇。)

三.循环结构

C语言中,循环结构主要运用的有两种,while循环for循环 。循环结构就像它的名字一样,使程序不停的循环运行。

1.while循环

1.1.while循环的基本结构

while循环 的形式和if语句是很相似的,具体形似如下:

while( 判断 )
{
    语句
}

判断小括号中的语句是否为真,如果为真执行大括号中的语句,反之不执行。是不是和if语句很相似?

1.2.while循环的实践

我们来进行一个简单的 while循环 的使用。

输出:1~10之间的数

#include <stdio.h>

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

1.3.do~while循环的基本结构

do~while循环 的运用和 while循环 稍有不同,它的基本形式如下:

do{
    语句
}while( 判断 );

从它的基本形式,我们就不难看出,do~while循环 先进行一次循环语句的运行,再判断()中的语句是否为真,若为真,继续循环,反之退出循环。

1.4.do~while循环的实践

输出1~10之间的数:

#include <stdio.h>

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

	return 0;
}

do~while循环 主要用于循环至少执行一次的情况下,它使用的次数相对来说是比较少的。

2.for循环

for循环 由于自身形式表达更为清晰,在编程中使用最多。

2.1.for循环的基本形式

for(语句1; 语句2; 语句3)
{
    循环语句
}
  • 语句1:初始化循环变量。
  • 语句2:用于循环结束条件的判断。
  • 语句3:用于循环变量的调整。

 2.2.for循环的用法

下面我们通过一个简单的 for循环 的应用来了解for循环的用法。

#include <stdio.h>

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

首先,利用语句1初始化变量 i = 1,然后判断 i 是否 <=10,若为真,执行循环语句,随后对 i 进行+1操作,再次判断 i 是否 <=10,若为真,继续执行循环语句,随后对 i 进行+1操作,这样反复运行,直到 i <= 10 的条件不成立,结束循环。整个循环的过程中,语句1初始化部分只被执⾏1次,剩下的就是语句2、循环语句、语句3在循环。

当然,语句1、2、3都是可以空出来的,但是 for循环 的基本形式必须保留。

比如,这串代码你还可以这么写:

#include <stdio.h>

int main()
{
	int i = 1;
	for ( ; ; )
	{
		if (i == 11)
			break;
		printf("%d ", i);
		i++;
	}
	return 0;
}

2.3.for循环的实践与理解

同样的,我们利用 for循环 输出1~10之间的整数:

#include <stdio.h>

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

	return 0;
}

 3.while循环,do~while循环,for循环的对比

#include <stdio.h>

int main()
{
    int i = 1; //变量的初始化
    do
    {
        printf("%d ", i);
        i = i + 1;    //变量值的改变
    } while (i <= 10);      //判断

    return 0;
}

#include <stdio.h>

int main()
{
    int i = 1;  //变量的初始化
    while (i <= 10)  //判断
    {
        printf("%d ", i);
        i = i + 1;  //变量值的改变
    }
    return 0;
}

 

#include <stdio.h>

int main()
{
    int i = 0;
    for (i = 1; i <= 10; i++)  //(初始化; 判断; 改变值的大小)
    {
        printf("%d ", i);
    }

    return 0;
}

由此观之,无论是for循环while循环do~while循环都有,变量初始化,判断,变量值的更改三部分。而 for循环 中这三个值的位置都很固定,更利于对代码的理解和维护,故 for循环 很受大家的欢迎。

单单从代码的执行方式来看,for 循环 和 while 循环 有类似之处,都先进行判断,如果为真,再执行代码。do~while循环 则是先直接进⼊循环体,执⾏循环语句,然后再执⾏ while 后的判断表达式,表 达式为真,就会进⾏下⼀次,表达式为假,则不再继续循环。

简而言之,while循环,先判断,后循环;do~while循环,先循环,后判断

4.循环中continue和break的作用

4.1.continue的作用

我们知道,continue 的译为:继续。那么在循环中它就是这个作用。

同样,我们举例来说明:

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

运行一下:

我们发现,在循环中,当 i 的值为 5 时,程序执行了 continue 语句,使循环跳过了 5 这个值,不输出它,继续后面的循环。就好比击鼓传花,传到第五个人时,第四个人直接把花球给第六个人,跳过第五个人,第六个人继续将花球传下去。所以,未来当某个条件发⽣的时候,本次循环⽆需再执⾏后续某些操作的时候,就可以使⽤ continue 来实现。

4.2.break的作用

循环中的 breakswitch 中的 break 作用是一样的。

同样,我们举例来说明:

#include <stdio.h>

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

运行,输出的结果为:

可以看到,当 i == 5 时,程序运行了 break 语句,使循环直接结束。就像击鼓传花,花球传到第四个人时,直接停止了。所以 break 的作⽤是永久的终⽌循环,未来我们在某个条件发⽣时,不想再继续循环的时候,就可以 使⽤ break 来完成。

四.结语

这两篇博客就是我对C语言中结构的简单认知,如果有什么不合适的地方,欢迎留言更正。让我们一起向资深程序员进发吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值