Skip to main content

第8章 循环结构

三类循环:forwhiledo‑while;配合breakcontinue控制循环。

8.1 for循环(适合已知循环次数)

for(初始化;条件;更新){
循环体;
}

执行流程:

  1. 初始化(只跑1次
  2. 判断条件;条件为真执行循环体;假退出循环
  3. 执行更新表达式;回到步骤2

示例输出1‑5:

for(int i=1;i<=5;i++)
{
cout<<i<<" ";
}

三个部分都可以省略,但是两个分号必须写for(;;)无限死循环。

8.2 while循环(先判断,后执行)

适合不知道循环次数,知道终止条件。

while(条件表达式)
{
循环体;
}

循环体内一定要修改条件相关变量,否则死循环。 示例1‑10求和:

int sum=0,i=1;
while(i<=10)
{
sum +=i;
i++;
}

8.3 do‑while循环(先执行一次,后判断)

**循环体至少执行1次!**末尾分号不可丢。

do{
循环体;
}while(条件);

示例,强制用户输入正数:

int num;
do{
printf("输入正整数:");
scanf("%d",&num);
}while(num <=0);

8.4 循环控制 break、continue

  1. break:立刻终止当前这一层循环,跳出循环。
//找到1‑10第一个3的倍数
for(int i=1;i<=10;i++){
if(i%3 ==0){
cout<<i;
break;
}
}
  1. continue:跳过本次循环剩下语句,直接进入下一轮条件判断,循环不会终止。
//输出1‑10奇数
for(int i=1;i<=10;i++){
if(i%2 ==0){
continue;
}
cout<<i<<" ";
}

区别:break结束整个循环;continue只跳过本轮。