引论
循环结构的本质是通过循环语句控制程序重复进行某一任务的一种代码结构,循环结构中需要设置判断条件来控制循环的开始与结束,同时需要更新条件来制造循环出口,否则会造成死循环。合理利用循环结构可以帮助我们多次重复实现同一功能,避免代码的冗杂,增加我们编写代码的效率。
思维导图:
三大循环语句介绍
while语句
格式:
while(表达式)//表达式值为真则进入循环,为假则跳出循环
{
语句;
}
while();//当while语句后跟;将会变成死循环。
当我们使用循环语句时都需要设置一个”开关“,当开关打开时进入循环,反之则跳出循环。while(表达式)中的表达式便充当开关的职责,若我们想要跳出循环便是要更新表达式的值让他为假,如若不更新表达式的值一直为真那么便会写出死循环啦!每次进入while语句都会执行while语句中代码块。while语句适用于循环次数不清楚的问题。
题目实战
while语句
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d",&n);
int i = 0;//创建开关
while(i<n)
{
printf("Happy new year!Good luck!\n");
i++;//更新循环条件
}
return 0;
}
do while语句
格式:
do
{
代码块;
}while(表达式);
do while语句是一个基于while语句的循环语句,与while语句相比,do while语句是先执行一次代码体在进行后续的判断,如果表达式为真则继续执行,反之跳出循环.do while语句的最大不同点是代码体执行次数会比表达式执行次数相同,而其他循环语句则是表达式执行次数比代码体多一次。
另外平常使用中只有在特定场景才会用上do while语句,所以该语句相比其他循环语句重要性差了许多,使用频率也较低。因为一般do while语句能实现的while语句也能实现,重叠度太高了。
(题目实战环节就略过啦,因为适合do while语句特殊情景的题目太难找啦!!!QAQ)
for语句
格式:
for(表达式1;表达式2;表达式3)//对于for语句三个表达式都可以分别独立出来,但是;号不能少
{
代码体;
}
//表达式1作用是设置开关
//表达式2的作用是控制循环的进入与跳出(判断作用)
//表达式3的作用是更新控制条件(更新开关)
for循环作为最后一个循环语句自然也是老大哥级别的角色,for语句囊括了while语句使用需要的三个要素化做三个表达式,这大大方便了我们代码的编写,可以将三要素都设置在括号中方便我们对条件的控制与监视。但是for循环也是存在缺点,for循环比较适用循环次数的问题。
题目实战:
for语句
#include <stdio.h>
int main()
{
long long n = 0;
scanf("%d",&n);
long long count = 0;//计数器
for(long long i = 1;i<=n;i++)//三要素
{
count = count + i;//求和
}
printf("%lld",count);
return 0;
}
嵌套
for语句嵌套
题目实战
#include <stdio.h>
int main()
{
for(int i = 1;i<=9;i++)//外层控制行
{
for(int j = 1;j<=i;j++)//内层控制列
{
printf("%d*%d=%d ",j,i,j*i);
}
printf("\n");
}
return 0;
}
当我们受用嵌套循环的时候,我们需要记住一个口诀:“外层执行一次,内层执行一周”,同时我们可以知道外层控制行,内层控制列。
总结:今天我们学习了循环语句及其嵌套,循环语句之间其实没有特别大的功能差异,都是重复执行某一特定任务,主要是受用情景的不同,在不同的范围选择相适应的循环语句可以帮助我们更好重复实现单一功能。