在C++语言中,for语句的使用广泛且灵活,不仅可以用于循环次数确定的情况,还适用于循环次数不确定但只给出循环结束条件的情况,它能够替代while语句。
for语句的一般格式为:for(表达式1;表达式2;表达式3) 语句。for语句的执行情况如图所示:
for语句最常用且最容易理解的格式是:for(循环变量初赋值;循环条件;循环变量赋值) 语句 。其中“语句”是循环体,可以是一个简单语句,也可以是用“{ }”括起来的符合语句。我们可以观察以下代码:
#include<iostream>
using namespace std;
int main()
{
int sum=0;
for(i=1;i<=20;i++) sum=sum+i;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int sum,i;
sum=0;
i=1;
while(i<=20)
{
sum=sum+i;
i++;
}
return 0;
}
可以发现,分别用两种语句求和,for语句比while语句结构更简洁,代码量更少。
for语句的用法灵活多变,对此我们将细讲并举例说明。
(1)上文提到了for语句一般结构为for(表达式1;表达式2;表达式3) 语句,在实际运用中,“表达式1” 可省略,但需要在for语句之前给循环变量赋初值。例如:
int i=1;
for(;i<10;i++) sum=sum+i;
需要注意的是,省略表达式1时,后面的分号必须保留。
(2)“表达式2”省略时,循环将无终止地运行下去,因为省略判断条件,程序始认为表达式2始终为 真。例如:
for(i=1; ;i++) sum=sum+i;
(3)“表达式3”也可以省略,但此时需要单独添加代码保证循环正常结束。例如:
for(i=1;i<10;)
{
sum=sum+i;
i++;
}
(4)可以同时省略“表达式1”和“表达式3”,只有“表达式2”,即只给循环条件。例如:
for(;i<20;)
{
sum=sum+i;
i++;
}
这时再与while语句对比:
while(i<20)
{
sum=sum+i;
i++;
}
可以发现完全等同。
(5)表达式类型一般为关系表达式或逻辑表达式,也可以是数值表达式或字符表达式,只要其值为 非零,就执行循环体。
小结:初步了解for语句,我们能感受到其结构的简洁和功能的强大,和while语句相比,除了可以 给出循环条件,还可以赋初值,使循环变量自动增值等,在复杂工程的搭建中有效减轻工 作负担,带来更多便利。
欢迎读者在评论区交流。
关注我,一起学习C++!