目录
1.while循环
2.for循环
3.do-while循环
4.break和continue语句
5.循环的嵌套
6.goto语句
while循环
上文说switch语句和if的表达形式一点相似,那么while跟if几乎可以说"一模一样"了。它们的差别便是是否有循环,也就是说,if语句是执行一次,而while是执行多次的。
咋们自己通过代码来get,代码如下:
```c
//if语句
#include <stdio.h>
int main()
{
if (1)
printf("hehe\n");
return 0;
}
//while循环
#include <stdio.h>
int main()
{
while (1)
printf("hehe\n");
return 0;
}
运行结果表明也是如此,if语句只有一条hehe;而while循环有无限条hehe,进入了死循环。
讲到这里,相信大家都get到循环的意味了吧。
细心的小伙伴应该也注意到while和if后面跟着个1了吧!那个便是表示表达式为真的方式哦!记住记住,表达式为真,才可以执行后面的语句。不理解的可以看我的前一期博客哦!
下面我利用循环来打印1-10的值吧,让你们体会到循环的作用
#include <stdio.h>
int main()
{
int i = 0;
while (i <= 10)
{
printf("%d\n", i);
i = i + 1;
}
return 0;
}
相信大家都get到循环的作用了吧,它可以省去很多需要重复打的代码,可以减轻打代码的负担。但作用不仅于此,还有很多作用需要大家去挖掘。
for循环
for循环是三种循环中最为常用的,for循环的语法形式如下:
for(表达式1;表达式2;表达式3)
语句;
例如:
for(i=0;i<10;i++)
语句
表达式1是用于循环变量的初始化
表达式2是用于循环结束条件的判断
表达式3是用于循环变量的调整
其执行流程为:
先给变量初始化 (i=0),然后进行判断是否达到结束条件(i<10),若i>=10则满足结束条件(表达式为假),直接结束循环;若i<10,未满足结束条件(表达式为真),则执行语句;最后调整变量(i++)
例子如下:
#include <stdio.h>
int main()
{
int i = 0;
for (i = 0; i < 10; i++)
{
printf("%d ", i);
}
return 0;
}
我们可以观察到,其实while循环也有那三个表达式,但比较分散。
因此,for循环对于修改条件的处理时会更加的方便,这也是大家为什么喜欢用for循环的原因。
do while循环
#include <stdio.h>
int main()
{
int i = 1;
do
{
printf("%d ", i);
i = i + 1;
} while (i <= 10);
return 0;
}
do 便是先去做,先执行完语句之后,再去判断表达式的真假值,若为真,则继续循环;反之,则结束循环。
break和continue语句
1.break是永久终止循环,而continue是跳过本次循环其后边的代码,在for和while循环中也有差异。
//while循环
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
break;
printf("%d", i);
i = i + 1;
}
return 0;
}
输出的值为 1 2 3 4,然后结束循环了
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
continue;
printf("%d", i);
i = i + 1;
}
return 0;
}
输出的值也为1 2 3 4,但光标一直在闪,进入了死循环。
//for循环
int main()
{
int i = 1;
for(i=1;i<= 10;i++)
{
if (i == 5)
break;
printf("%d", i);
}
return 0;
}
输出的值为1 2 3 4 ,循环结束。
#include <stdio.h>
int main()
{
int i = 1;
for(i=1;i<= 10;i++)
{
if (i == 5)
continue;
printf("%d", i);
}
return 0;
}
输出的结果为1234678910
循环的嵌套
for循环的嵌套我就用99乘法表来展示一下吧!
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int i = 0;
int j = 0;
for (i = 1; i < 10; i++)
{
for (j = 1; j <=i; j++)
{
printf("%d*%d=%-d\t", i, j, i*j );
}
printf("\n");
}
return 0;
}
goto语句
goto语句可以实现在同一个函数内跳转到设置好的标号处,例如:
#include <stdio.h>
int main()
{
printf("haha\n");
goto wxiangchifan;
printf("hehe\n");
wxiangchifan:
printf("好饿\n");
return 0;
}
输出的结果是
haha
好饿
那到底这语句有什么大作用呢?我们看一个例子:
我们·要想提前退出循环,我们可以使用上文提到的break,但这个要一层一层的弄,非常麻烦。而我们又了goto语句,我们便可以快速地跳出循环。
这次的分享就到这里啦,我们下期见。
作者的创作不易,希望能得到一个赞来鼓励一下,哈哈哈!
如果有什么疏漏或者错误,还请斧正~