我们说满足一定条件时,执行if语句或者switch语句之后的语句;否则不会执行,只能执行一次。在日常生活中,有些事情是需要反复做的,所以C语句为此引入了loop语句。所以今天我会继续和大家分享C语言循环家族。
目录
C语言循环系列while for loop dowwhile loop
C语言循环家族
家族成员包括while语句、for语句和do.while语句。这些成员可以实现循环,但各有特点。今天就让我带领大家认识一下他们吧!
while循环
while语句的基本格式:
While(表情)
{
循环语句;
}
While语句执行过程:
理解while语句:
当1表达式为false (0为false)时,不执行while语句中的内容。
2当表达式为真(非0)时,将循环执行while循环语句的内容,直到表达式为假,并跳出循环。
3当break语句出现在while循环语句中时,break语句的作用是结束所有循环。
4当continue语句出现在while循环语句中时,continue语句的作用就是结束这个循环。
理解代码,同时:
如果我们想在屏幕上打印1~10,我们可以使用循环。
#define _CRT_SECURE_NO_WARNINGS
# includestdio.h
//打印1~10
int main()
{
int I=1;
while (i=10)
{
printf('%d ',I);
我;
}
返回0;
}
while循环中有一个中断:
# includestdio.h
int main()
{
int I=1;
while (i=10)
{
如果(i==5)
{
打破;
}
printf('%d ',I);
我;
}
返回0;
}
从这段代码中我们可以看到,程序进入while循环时,会在i==5时进入if语句,然后执行break。从上面我们可以知道,break的作用是停止所有的循环。然后,屏幕上从1到4的打印将停止。
当循环出现时继续:
# includestdio.h
int main()
{
int I=1;
while (i=10)
{
如果(i==5)
{
继续;
}
printf('%d ',I);
我;
}
返回0;
}
我们分析这段代码可以发现,break被continue代替,屏幕也打印出1~4,但不同的是第二个程序完成了,而第三个程序没有完成,进入了一个死循环。为什么会这样呢?我们知道continue的作用是结束这个循环(也就是continue之后的语句没有被执行),然后I会一直等于5,进入不断跳过下面语句的if中的无限循环。
for循环
C语言中有while循环为什么还需要for循环?可以带着这个问题继续往下看。
for语句的基本格式:
For(表达式1;表情2;3)表达
{
循环语句;
}
表达式1:是初始化部分,用来初始化循环变量。
表达式2:是条件判断部分,用来判断循环何时终止。
表达式3:是调整部分,用来调整循环条件。
for语句执行的过程:
程序到for语句时,首先到表达式1初始化循环变量,然后到表达式2判断初始循环变量是否满足循环条件。如果不满足循环条件,就会跳出循环。如果是,它将在循环中执行该语句。执行完后会来到表达式3调整循环条件,指向表达式2判断,直到不满足循环条件跳出循环。
用for打印1~10:
# includestdio.h
int main()
{
int I=1;
for(I=1;i=10我)
{
printf('%d ',I);
}
返回0;
}
使用以下代码理解for循环中的break和continue。
# includestdio.h
int main()
{
int I=1;
for(I=1;i=10我)
{
如果(i==5)
{
打破;
}
printf('%d ',I);
}
返回0;
}
# includestdio.h
int main()
{
int I=1;
for(I=1;i=10我)
{
如果(i==5)
{
继续;
}
printf('%d ',I);
}
返回0;
}
可以看到break和continue在循环中的作用是一样的,但是不同的循环语句可能会有不同的循环效果。
对for语句的一些建议:
1不要修改for循环中的循环变量,以防止for循环失去控制。
建议将for语句的循环控制变量的值写成“先关后开的区间”。
int I=0;
//关闭前写F,然后打开
或者(I=0;i10我){}
//两边都是封闭区间
for(I=0;I=9;我){}
这里是拓展部分,可以详细体验。
for语句的变体:
#包含stdio.h
int main()
{
//代码1
for(;)
{
printf('呵呵\ n ');
}
//for循环中的初始化部分、判断部分、调整部分可以省略,但对于初学者不建议省略,容易出问题。
问题。
//代码2
int I=0;
int j=0;
//这里印了多少个hehe?
for(I=0;i10我)
{
for(j=0;j10j)
{
printf('呵呵\ n ');
}
}
//代码3
int I=0;
int j=0;
//如果省略初始化部分,这里打印多少个hehe?
for(;i10我)
{
for(;j10j)
{
printf('呵呵\ n ');
}
}
//代码4-使用多个变量来控制循环
int x,y;
for (x=0,y=0;x2 y5x,y)
{
printf('呵呵\ n ');
}
返回0;
}
代码1:无限循环打印呵呵
代码二:打印100呵呵
代码3:打印10呵呵
代码4:打印2呵呵
看到这里,你知道为什么会出现for语句吗?
我相信你一定找到了while循环仍然存在的三个必要条件。但由于样式问题,三个部分很可能会相互背离,因此查找和修改起来并不集中和方便。所以for循环的风格更好;回收的频率也是最高的。
dowhile循环
在这里,我就开门见山的给大家讲一下do的特点.while循环:循环至少执行一次,使用的场景有限,所以不常用。
do语句的语法:
做
{
循环语句;
}while(表情);
do语句的执行过程:
从执行图来看,程序在这里至少执行一次循环中的语句。这里需要注意的是,先执行的语句是用来判断循环条件的。
do语句中的Break and continue:
# includestdio.h
int main()
{
int I=1;
做
{
如果(i==5)
{
打破;
}
printf('%d ',I);
我;
} while(I=10);
返回0;
}
# includestdio.h
int main()
{
int I=1;
做
{
我;
如果(i==5)
{
继续;
}
printf('%d ',I);
} while(I=10);
返回0;
}
只要记住break是停止循环,continue是跳过这个循环之后的语句。
关于C语言循环句的超详细讲解这篇文章到此为止。关于C语言循环语句的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。