结构:
while (表达式){
语句1;
语句2;
...
}
只要控制表达式为 true,while 循环就会反复地执行语句。
while 表达式是顶部驱动(top-driven)的循环:即先判断循环条件(也就是控制表达式)。如果为 true,就执行循环体,然后再次判断控制表达式。如果控制表达式为 false,该循环结束。
例1:使用while循环计算自然数1-10的和。
#include<iostream>
using namespace std;
int main()
{
int i = 1;
int sum = 0;
while(i <= 10){
sum += i;
i++;
}
cout << "1-10的和为" << sum << endl;
return 0;
}
和 while 一样,for 循环也是一个顶部驱动的循环
for([表达式1];[表达式2];[表达式3]){
语句1;
语句2;
...
}
在一个常规的 for 循环中,在循环体顶部,下述三个动作需要执行:
Note:
事实上,每个 for 循环都可以被改写成 while 循环,反之亦然。
将例1改写为for循环:
#include<iostream>
using namespace std;
int main()
{
int i;
int sum = 0;
for(i = 1; i <= 10; i++){
sum += i;
}
cout << "1-10的和为" << sum << endl;
return 0;
}
do{
语句1;
语句2;
...
} while(表达式);
注意:与 while 和 for 循环不同的是,do...while 循环会确保循环体语句至少执行一次。即在控制表达式被第一次计算之前,循环体语句会首先被执行一次。
将例1改写为do while循环:
#include<iostream>
using namespace std;
int main()
{
int i = 1;
int sum = 0;
do{
sum += i;
i++;
} while(i <= 10);
cout << "1-10的和为" << sum << endl;
return 0;
}
break 可以用来从循环体中跳出循环体,即提前结束循环.
注意:
例1(改):当i循环到5时,使用break跳出循环
#include<iostream>
using namespace std;
int main()
{
int i;
int sum = 0;
for(i = 1; i <= 10; i++){
sum += i;
if(i == 5){
break;
}
}
cout << "1-10的和为" << sum << endl;
return 0;
}
运行结果为:1-10的和为15.
证明break语句使得循环提前结束
用来结束本次循环(即跳过循环体中尚未执行的部分),接着执行循环是否执行的判断.
例2:输出100以内的能被3整除的数
#include<iostream>
using namespace std;
int main()
{
int i;
for(i = 1; i <= 100; i++)
{
if(i % 3 == 0){
cout << i << '\t';
continue;
}
if(i % 3 != 0)
continue;
cout << i << '\t';//由于continue语句,该句不会被执行
}
return 0;
}
goto语句也称为无条件转移语句,其一般格式如下:
goto 语句标号;
其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。
goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。
但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。
以上为我总结的C++上循环结构的基本内容,如有错误,敬请指正。
原文:https://www.cnblogs.com/meituanqishoualin/p/11516186.html