目录
前言
上一篇文章介绍了分支语句,本篇文章来介绍循环语句:
三、循环语句
上一篇文章我们了解了if语句可以用来进行选择,但是只能执行一次,
当我们遇到多次选择时,难道有多少次选择就编写多少if语句吗?
答案肯定是不是这样的。这个时候就要运用到循环语句了,
3.1while循环
while语句的语法结构。:
while(表达式)
循环语句;
#include<stdio.h>
int main()
{
int i = 1;
while (i <= 100)
{
if (1 == i % 2)
{
printf("%d ", i);
}
i++;
}
return 0;
}
这样我们就可以直接得出结果,当i==101时,不符合while语句表达式,所以自动跳过while语句。
3.1.1while语句中的break和continue
下面直接上代码,看看它们两个的区别
//break 在while循环
#include<stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (5 == i)
break;
printf("%d ", i);
i++;
}
return 0;
}
//continue 在while循环
#include<stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (5 == i)
continue;
printf("%d ", i);
i++;
}
return 0;
}
break运行结果
continue运行结果
我们可以看到 break是直接将下面的代码跳过,并结束循环。
continue则是跳过下面的代码,重新进入循环。(因为此处i==5,所以进入死循环)
当我们将i++;前置时
#include<stdio.h>
int main()
{
int i = 0;
while (i <= 10)
{
i++;
if (5 == i)
continue;
printf("%d ", i);
}
return 0;
}
运行结果:
3.2 for循环
当我们学会了while循环发现,它还是不够简单,这时侯for循环出现了。
for循环的语法结构
for(表达式1; 表达式2; 表达式3)
循环语句;
表达式1
表达式
1
为
初始化部分
,用于初始化循环变量的。
表达式
2
表达式
2
为
条件判断部分
,用于判断循环时候终止。
表达式
3
表达式
3
为
调整部分
,用于循环条件的调整。
下面用一个案例来实际了解一下
//打印1~10的数字
#include<stdio.h>
int main()
{ //i = 1是初始化循环变量
int i = 1; //i <= 10 是循环判断部分,当i > 10时,循环终止。
for (i = 1; i <= 10; i++) //i++;调整部分
{
printf("%d\n", i);
}
return 0;
}
对比一下for循环和while循环
#include<stdio.h>
int main()
{
int i = 0; //初识化变量
while (i <= 10) //循环判断部分
{
printf("%d\n", i);
i++; //循环调整部分
}
return 0;
}
可以看到for循环和while循环的三个必须条件是相同的,但while循环的三个条件相对分散。容易出错,所以for循环常用一些。
3.2.2 break和continue在for循环中
//代码1
#include <stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
if (i == 5)
break;
printf("%d ", i);
}
return 0;
}
//代码2
#include <stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
if (i == 5)
continue;
printf("%d ", i);
}
return 0;
}
break和continue与在while循环中的意义是一样的,结果有点差异,
continue的运行不会进入死循环。
![](https://img-blog.csdnimg.cn/5c66cac7e54d47dab9db9a3cb1f6703a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATHp3X2dvb2Q=,size_10,color_FFFFFF,t_70,g_se,x_16)
3.2.3for循环变量的变种
#include <stdio.h>
int main()
{
//代码1
for (;;)
{
printf("hehe\n");
}
//for循环中的初始化部分,判断部分,调整部分是可以省略的,但是不建议初学时省略,容易导致问题
//代码2
int i = 0;
int j = 0;
//这里打印多少个hehe?
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++) //打印100个hehe
{
printf("hehe\n");
}
}
//代码3
int i = 0;
int j = 0;
//如果省略掉初始化部分,这里打印多少个hehe?
for (; i < 10; i++)
{
for (; j < 10; j++) //打印10个hehe,因为当j>10时,第二个for循环就不执行了
{
printf("hehe\n");
}
}
//代码4-使用多余一个变量控制循环
int x, y;
for (x = 0, y = 0; x < 2 && y < 5; ++x, y++)
{
printf("hehe\n");
}
return 0;
}
3.3do while ()循环
do while循环语法结构
do
循环语句;
while(表达式);
我们来看一下,下面案例
#include <stdio.h>
int main()
{
int i = 10;
do
{
printf("%d\n", i);
} while (i < 10);
return 0;
}
运行结果
可以看到任然运行出了结果。
这就是do while循环的特点:至少运行一次。
因此它的使用场景有限,所以不是经常使用。
总结
以上就是循环语句的基础内容了,谢谢大家,求三连。