而本文介绍的是: 控制语句 C语言中控制语句可分为以下三类: - 条件判断语(分支语句):if语句、switch语句;
- 循环执行语句 : do while语句、while语句、for语句;
- 转向语句:break语句、goto语句、continue语句、return语句;
二、循环执行语句 Ⅰ.while循环语句 - while循环语句的语法结构
在已知if语句的基础下,如果想将 “此判断”执行多次 那我们便需要用到 “循环语句” while( 表达式 ) //此处的“表达式”可等价于判断语句的“判断部分”
循环语句; while循环语句执行的流程:
 !!!特别注意 !!! 在执行单语句的时候,可忽略“{ }”去括住单条循环语句; 但在执行多条语句的的时候,我们应当用“{ }”去括住多条循环语句; 【一对“{ }” 所括住的是 一个代码块】 - 理论存在,实践开始:
int main()
{
int i = 1;
while(i<=10) //这部分为控制循环的关键部分
{
printf("%d ", i);
i = i+1;
}
printf("\n");
return 0;
}  综上:控制while循环语句的,本质是 “判断部分” - while语句中的break
break语句---可以使循环达到一定条件后,跳出整个循环,即结束循环继续往下执行程序 int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
break;
printf("%d ", i);
i = i + 1;
}
return 0;
}  总结: break在while循环中的作用: 其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。 所以:while中的break是用于永久终止循环的。 - while语句中的continue
#实例1
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
continue;
printf("%d ", i);
i = i + 1;
}
return 0;
}  所以当执行continue后,就会跳过当前循环,即如上的 “i=i+1”不会执行【相当于i始终停留于i=的阶段】 那后续循环便永远卡在“continue”部分,即 “死循环” #实例2
int main()
{
int i = 1;
while(i<=10)
{
i = i+1;
if(i == 5)
continue;
printf("%d ", i);
}
return 0;
}  实例2于与实例1不同,因为将 “i的自增” 提前了,所以不会造成实例1的死循环的情况 所以 实例2会打印1~11的数字(除了“5”) 总结: continue在while循环中的作用就是: continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接跳转到while语句的判断部分,进行下一次循环的入口判断。 Ⅱ.for循环语句 - for循环语句的语法结构
可以简单地理解为 “三合一的while循环” 【精简版的while循环】 for(表达式1; 表达式2; 表达式3)
循环语句; 其中: 表达式1:为<mark> 初始化部分</mark>,用于<mark>初始化循环变量</mark>的 表达式2:为<mark>条件判断部分</mark>,用于<mark>判断循环时候终止</mark>的 表达式3:为<mark>调整部分</mark>,用于<mark>循环条件的调整</mark>的【如“自增”……】 for循环语句执行的流程:
 Eg: int main()
{
int i = 0;
// i=1 为 初始化部分
// i<=10 为判断部分
// i++ 为 调整部分
for(i=1; i<=10; i++)
{
printf("%d ", i);
}
return 0;
}  现在让我们来对比一下for循环和while循环 int i = 0;
//实现相同的功能,使用while
i=1;//初始化部分
while(i<=10)//判断部分
{
printf("hehe\n");
i = i+1;//调整部分
}
//**********************//
//实现相同的功能,使用for
for(i=1; i<=10; i++)
{
printf("hehe\n");
} 我们便不难发现:<mark>while循环中依然存在循环的三个必须条件</mark>,但是由于风格的问题使得三个部分很<mark>可能偏离较远</mark>,这样查找修改就<mark>不够集中和方便</mark>。所以,<mark>for循环的风格更胜一筹</mark> - for循环中的break和continue
现在for循环中也可以出现break和continue,他们的意义和在while循环中是一样的 但是,也有点例外
 这是因为,i自增的语句被放到for里整合起来,于是下面的continue便不会像while循环一样影响到调整部分 <mark>补充:</mark>for循环中的初始化部分,判断部分,调整部分是可以省略的,但是不建议初学时省略,容易导致问题 [死循环等]。 Ⅲ.do...while()循环语句 - do...while()循环语句的语法结构
do
循环语句;
while(表达式); do循环与前两个循环最大的不同:循环至少执行一次 【但使用的场景有限,所以不是经常使用】 Eg: int main()
{
int i = 10;
do
{
printf("%d\n", i);
}while(i<10);
return 0;
}  即使一开始就不符合判断条件,也先会执行一次,判断条件不符后,再退出循环 - do...while()循环语句中的continue
int main()
{
int i = 10;
do
{
if(5 == i)
continue;
printf("%d\n", i);
i--;
}while(i<10);
return 0;
}  这种情况下便造成死循环了~ 总结 综上,我们已经基本了解了C语言中语句的 “循环执行语句” 啦~ 但这,仅仅是 开端:lollipop: ,后续还会带领大家更加的深入语句的相关知识哦~ :dizzy:如果有错误❌,欢迎指正呀:dizzy: :sparkles:如果觉得收获满满,可以点点赞👍支持一下哟~:sparkles:
 |