while循环
while循环:只要满足条件为真,while循环会重复执行一条语句,直到满足某种特定的条件为止
while (条件) {
//需要重复执行的语句
}
当条件不成立(假)时,while里面的语句不执行
while循环的停止
while循环虽然会重复执行花括号内的语句,但是执行完一次以后,while都会检查一次条件,所以我们可以通过控制条件的真假来停止while循环:
int age = 1;
while (age < 7) {
cout << "你才" << age << "岁,还不够学龄" << endl;
age++;
}
//输出
你才1岁,还不够学龄
你才2岁,还不够学龄
你才3岁,还不够学龄
你才4岁,还不够学龄
你才5岁,还不够学龄
你才6岁,还不够学龄
在第6次循环以后,age的值变为7,不满足while循环的条件,所以循环停止。
使用增量运算控制循环次数
增量和减量运算可以用来控制while循环的次数,例如:
int num = 0;
while (num < 8) {
cout << "num的值是: " << num << endl;
num++;
}
/* 输出
num的值是: 0
num的值是: 1
num的值是: 2
num的值是: 3
num的值是: 4
num的值是: 5
num的值是: 6
num的值是: 7
*/
num++等同于num = num + 1
使用循环多次获取用户输入
循环语句除了可以控制输出以外,还能多次获取用户输入:
int num = 1;
int number;
while (num <= 5) {
cin >> number;
num++;
}
以上代码可以获取5次用户输入,每次的输入值都保存在number变量中。
for循环
for循环的作用跟while是一样的,用于多次执行一些需要重复执行的代码,如果要说区别,for循环可以在定义的时候初始化循环变量,并且可以更直观的控制循环变量的修改,提高了代码的可读性
for (变量定义;循环条件;变量变化) {
//需要重复执行的代码
}
还是上面的例子,使用循环控制,统计用户5次输入的总和,这次我们使用for循环
int number;
int total = 0;
for(int i=0;i<5;i++){
cin >> number;
total += number;
}
在for循环中,先执行变量定义i=0
然后判断是否满足循环条件i<5,满足则执行花括号里面的代码,不满足则结束循环
花括号的循环体执行结束以后,会执行变量自增即i++
不知道你没有注意到,变量定义只执行了1次,在循环开始之前,循环条件每次执行之前都会判断,变量变化每次循环代码结束以后会执行
循环次数的控制
回到上面的例子,在每次循环结束以后,我们执行了i++使i自增,那循环变量的变化只能使用自增吗?我们来看下面的示例:
for (int i = 0; i < 50; i+=10) {
cout << i << endl;
}
/*输出
0
10
20
30
40
*/
通过控制台的输出,我们可以直观看到,i每次的变化是增加10,所以,for循环中,对循环变量的控制,是可以自定义的
do-while循环
除了while循环和for循环以外,C++还提供了do-while循环。
与while循环和for循环不同,do-while循环先执行循环,再判断循环条件,也就是说,do-while循环能保证循环至少执行一次。
do {
//需要重复执行的代码
} while (循环条件);
do-while循环实例
使用do-while循环,输出小于5的自然数
int a = 1;
do {
cout << a << endl;
a++;
} while(a < 5);
/* 输出
1
2
3
4
*/
无限循环
无限循环,又称为死循环,因为循环执行判断条件恒为真,所以循环会无限循环地执行下去:
int i = 0;
do {
cout << i << endl;
i++;
} while (i > 0);
i恒大于0,所以会一直输出i的值。
除非特殊需求,不然我们应该尽量避免这种情况的发生
文章评论