在C++中除了while循环外还存在一种常用的循环:for循环,如下:
#include <iostream>
using namespace std;
int main(){
int i;
for (i = 0; i < 3; i+=1){
cout << "hello world" << endl;
}
return 0;
}
在上述示例中,可以发现for后的小括号中存在两个分号,而用两个分号隔开的三个语句较为眼熟,将其与while循环做对比
#include <iostream>
using namespace std;
int main(){
int i;
i = 0;
while (i < 10){
cout << "hello world" << endl;
i+=1;
}
return 0;
}
不难发现,在for循环后的小括号中
i = 0; //初始化
i < 10; //条件判断
i += 1; //每次循环最后执行的操作
到此处就不难发现,for更像是将while循环所需要的操作集中在了一起,whlie循环想要正常工作且不陷入死循环此三者不可少,for循环作为循环也是如此。
因此,for循环在工作时会首先执行第一个分号前的句子,然后再执行第一个分号后面的句子判断是否满足条件,然后执行大括号内部的所有语句,没执行完成一次后就会再执行第二个分后后面的句子
也可以通过类比的方法来理解,如下:
int i;
i = 0;
while (i < 10){
//...
i += 1;
}
int i;
for (i = 0; i < 10; i += 1){
//...
}
for循环后的小括号内部句子可以省略,但是分号不可以省略
通过for循环和while循环,就可以将之前了解过的数组进行输出,在实际应用时,数组的输出大多时候也是通过循环来实现的,如下:
#include <iostream>
using namespace std;
int main(){
int num[12] = {0};
int i;
for (i = 0; i < 12; i+=1){
num[i] = i + 1;
cout << num[i] << " ";
}
cout << endl;
return 0;
}
在上面的代码中,首先将数组num初始化,{0}表示将数组中第一个元素初始化为0,其余的就会有系统自动初始化为0,因此,在此步中,数组num中的所有元素都会被初始化为0
紧接着,在for循环中从num[0]开始,直到num[11],每个变量都会被赋上相对应的值,然后将其输出。