从今天起,开始循环结构
循环,循环,如下例:
从前有座山,山里有座庙,庙里有个和尚讲故事:“从前有座山,山里有座庙,庙里有个和尚讲故事:‘从前有座山,山里有座庙,庙里有个和尚讲故事……’”
像一些用条件选择难以表示的代码,总可以看到循环
有1~100这100个数,判断其中的哪些是偶数,依次输出
条件选择:
if(1%2==0)printf("1 ");
if(2%2==0)printf("2 ");
if(3%2==0)printf("3 ");
if(4%2==0)printf("4 ");
……
实在是太麻烦了,于是,c++的开发者就创造了循环
while
如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环。
#include<bits/stdc++.h>
using namespace std;
int main(){
for(;;){
printf("This loop will run forever.\n");
}
return 0;
}
也就是这样
#include<bits/stdc++.h>
using namespace std;
int main(){
while(1){
printf("This loop will run forever.\n");
}
return 0;
}
while(条件){//若为真,继续循环
……
}
for
何为for循环,见下:
for(定义循环计数变量及其初始值;循环结束条件;每次循环后循环计数变量改变){
……
}
三部分可以省略一些部分。比如省略第二部分,因为没有结束条件,你的循环将一直运行下去,俗称死循环。
循环计数变量可以定义成全局变量(循环外),也可以定义成局部变量(括号内)
for(int i=1;i<=n;i++){
……
}
循环计数变量一般叫做i,j,k……以上是最基础的循环(一次循环)。
有了for循环,刚才的设问就简单起来
for(int i=1;i<=100;i++){
if(i%2==0){
printf("%d ",i);
}
}
或者这样写
int i=1;
for(;;){
if(i>100)break;
if(i%2==0){
printf("%d ",i);
}
i++;
}
break与continue
在for循环中,break与continue分别的功能
break:直接跳出循环
continue:跳过当前循环,进行下一次循环
例如:
for(int i=1;i<=n;i++){
if(i%2==0)continue;
if(i>k)break;
}