for循环跟while一样,也是来实现循环操作。循环执行也是重复执行某一段代码。那么它的语法是这样的:
// Syntax
for (init-clause; cond-expression; iteration-expression)
loop-statement
for循环后面跟着三个表达式,第一个是初始化,第二个是条件,第三个是迭代表达式。第二行就是要重复的代码。
那么我来看这个例子。
int sum = 0;
// for(int i = 0; i < 10; i+=2) //也可以这样写
for(int i = 0; i < 10; i++)
{
sum += i;
cout << "Line " << i << endl;
}
cout << "sum = " << sum << endl;
这个例子要求0到10的整数累加起来是多少,就是一个累加操作。
- 首先我们初始化
sum
为零; int i=0
:初始化操作,可以定义一些变量;i<10:条件,i++是迭代表达式。
循环前都要测试一下条件是否成立,成立就循环,然后再次测试。那么每一次循环体结束之后,迭代表达式就会被执行一次。
所以上述代码从0开始,每次加1,然后这样循环,每个循环体中sum+=1
,就是把当前的这个整数值累加,顺便打印出来。当i=10,循环结束,然后把sum打印出来。这个我们来看这个例子,这就是sum等于0si等于0到10 10时不包含在里面的。
for循环与while循环转换。
for循环中的i的作用域只在for循环中,而while循环的i的作用域是比较大的。i变量的作用域不同,其余作用是相同的。
for循环的死循环
for(;;)
{
// some statements
cout << "endless loop!" << endl;
}
while(true)
{
// some statements
cout << "endless loop!" << endl;
}
死循环的应用场景:有的时候一些设备或者系统会启动整个程序的流程,不停的循环循环,检测用户或者传感器的输入,他重新只做这一件事,那么你可以用四句话,但一般来说非常少见。
for
循环里面也可以用break,可以用continue。和while中的用法完全相同。