for循环
1)格式
for(初始化;判断条件;增值变化){
循环体;
}
2)执行顺序
3)例子
e.g. 计算1~100的和
for (int i=1; i<=100; i++) { s=s+i; }注意:
for 语句的三个部分中,任何一个部分都可以省略。其中,若省略了判断条件,相当于判断条件永远为真
while循环
1)格式
while(运行条件){
循环体;
}
2)执行顺序
3)例子
e.g.一位中学生发现一个奇妙的定理,请角谷教授证明,而教授无能为力,于是产生了角谷猜想。猜想的内容:任给一个自然数,若为偶数则除以2,若为奇数则乘3加1,得到一个新的自然数后按上面的法则继续演算。若干次后得到的结果必为1。请编写代码验证该猜想:求经过多少次运算可得到自然数1。
1)停止条件:结果得到1
2)由停止条件可知运行条件为:结果不为1
3)循环体:
若为偶数,则除以2
若为奇数,则乘3加1
4)由:得到一个新的自然数后按上面的法则继续演算,
可知:计算后的结果给回到原变量
5)题目要求计算运算次数,那么有一个变量要表示计算的次数,次数从0开始
int a,s=0; cin>>a; while (a!=1) { if(a%2==0) a=a/2; else a=a*3+1; s++; }do-while语句
1)格式
do{
循环体;
}while(运行条件);
2)执行顺序
3)例子
e.g.把输入的数加起来,直到输入的数是0就结束输入。
int a=0, sum=0; do { sum+=a; cin>>a; } while(a! =0);三者循环的区别
三种语句可以彼此代替,但一般来说,语句的选用遵守以下原则:
- 循环过程中有个固定的增加步骤(最常见的是枚举)时,使用 for 语句;
- 只确定循环的终止条件时,使用 while 语句;
- 使用 while 语句时,若要先执行循环体再进行判断,使用 do...while 语句。一般很少用到,常用场景是用户输入。
break 与 continue 语句
break 语句的作用是退出循环。
continue 语句的作用是跳过循环体的余下部分。