C语言王国——选择与循环(2)

目录

三、循环结构

1,while语句

1.1,while的表达式

1.2,执行流程

1.3,范例

2,for语句

2.1,for的表达式

2.2,执行流程

2.3 ,范例

3,do...while语句

3.1,do...while表达式

3.2,执行流程

3. 3,范例

4,break和continue

四,goto语句

五,总结


三、循环结构

上面我们已经介绍了选择语句中的两种,接下来我就来给大家介绍一下循环语句中的三种语句——while、for、do...while...吧

1,while语句

1.1,while的表达式

如下:

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

*和if语句相近,若语句只有一句可去掉大括号。

1.2,执行流程

 首先上来就是执行判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执行循环语句,语句执行完后再继续判断,是否进行下⼀次判断。

1.3,范例

为了让大家更好的理解下面就让我给大家举个例子吧:

打印arr[10]={1,2,3,4,5,6,7,8,9,10}的数组

#include<stdio.h>

int main()
{
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int i = 0;
	while (i < 10)
	{
		printf("%d ", arr[i]);
		i++;
	}
}

2,for语句

2.1,for的表达式

介绍完了while下面我们就来介绍一下for循环,for循环也是三种循环里用的最多的一种,表达式如下:

for(表达式1;表达式2;表达式3)
{
    语句;
}

*若语句只有一句可去掉大括号。

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

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

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

2.2,执行流程

首先执行表达式1 初始化循环变量,接下来就是执行表达式2 的判断部分, 表达式2 的结果如果 ==0,则循环结束; 表达式2 的结果如果!=0则执行循环语句,循环语句执行完后,再去执行表 达式 3 ,调整循环变量,然后再去 表达式2 的地方执行判断, 表达式2 的结果是否为0,决定循环是否继 续。 整个循环的过程中,表达式1初始化部分只被执行1次,剩下的就是表达式2、循环语句、表达式3在循环。

2.3 ,范例

打印arr[10]={1,2,3,4,5,6,7,8,9,10}的数组

#include<stdio.h>

int main()
{
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int i = 0;
	for(i=0;i<10;i++)
	{
		printf("%d ", arr[i]);
	}
}

3,do...while语句

3.1,do...while表达式

do...while在平常代码中使用的频率也是最少的。表达式如下:

do
    语句;
while(表达式);

do...while...语句和while,for不同的一点就是,它是先执行一遍语句再去判断表达式成不成立,为真进行下一次循环,为假则跳出循环。 

3.2,执行流程

在 do while 循环中先执行图上的“语句”,执行完语句,在去执行“判断表达式”,判断表达式的 结果是!=0,则继续循环,执行循环语句;判断表达式的结果==0,则循环结束。所以在 do while 语句中循环体是⾄少执行⼀次的,这是 do while 循环⽐较特殊的地方。

3. 3,范例

打印arr[10]={1,2,3,4,5,6,7,8,9,10}的数组

#include<stdio.h>

int main()
{
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int i = 0;
	do
	{
		printf("%d ", arr[i]);
		i++;
	} while (i < 10);
}

4,break和continue

想必大家也已经看到了我的执行流程图中都有break和continue,那他们有什么用呢?

正所谓有始有终,学会了循环那怎么可以不学学退出循环呢。那break和continue正是退出循环的语句。但他们又各有不同,break是代表着退出整个循环,永久中止循环,所以遇到它的话整个循环语句也就不用看了;而continue是跳过本次循环进行下一次循环,注意它只是停止一次循环哦。但大家使用continue的时候要小心,如果跳过本次循环前,表达式的结果没有变化可能会陷入死循环哦。

四,goto语句

C语言中有一个既bug又任性的存在就是——goto语句。

为什么说它既bug又任性呢。是因为它可以不受限制的在同一个函数内跳转到设置好的标识处。所以使用不当就会导致在函数内部随意跳转,打乱程序的执行代码,所以姜糖建议大家能不用就尽量不要使用;但它也犹如一把双刃剑,也有好的一方面,在多层循环的代码中,如果相快速跳出使用goto会非常方便。如

for(...)
{
    for(...)
    {
        for(...)
        {
            if(//不需要了)
                //...
                goto error;
        }
    }
}
error:

五,总结

选择:if,switch

循环:while,for,do...while...

跳转:goto

C语言的王国博大进深关注姜糖继续带你探索更多乐趣。你的三连就是给姜糖最大的鼓励。谢谢!!

  • 31
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值