一,for
i++是先赋值再加一,++i是先加一再赋值
for (计数器赋初值;检查是否达到指定次数;修正计数器值)
重复执行的任务
表达式可以使用逗号进行分割,
1,正常的for循环
int limit = 10;
for(int i = 0 i<limit;i++){
std::count<<i;
}
2,修改步长
int by = 2;
for (int i = 0; i < 100; i = i + by) {
cout << i << endl;
}
3,直接访问字符串,因为字符串内部本来就是基于char/byte数组实现的
string word = "abb";
for (int i = 0; i < word.size(); i++) {
cout << word[i] << endl;
}
4,支持char类型的遍历
string word = "?ate";
for (char ch = 'a'; word != "mate"; ch++) {
cout << word << endl;
word[0] = ch;
}
5,基于范围的循环
double prices[5] = { 4.99,10.99,6.87 };
for (double x:prices)
{
cout << x;
}
如需修改数组中的元素值
double prices[5] = { 4.99,10.99,6.87 };
for (double &x:prices)
{
cout << x * 0.80;
}
支持多语句的表达式
for(int i=0,j<word.length;i<j;i++,j—){
}
关系运算符>,>=,<=,<,==,!=,它的优先级低于算术,高于赋值运算符。
二,while
while循环没有初始化和更新部分,它只有测试条件和循环体。
char name[ArSize];
int i = 0;
while (name[i] != '\0')
{
cout << name[i];
i++;
}
三,do while
该循环,将首先执行循环体,然后再判断测试表达式,决定是否应该继续执行循环,如果条件为false,则循环终止,否则进行下一轮。
int n;
do
{
n++;
} while (n != 7);
它至少执行一次。
循环次数确定时使用for 循环次数不确定时,可以选择while或do while ,如果循环不一定执行时使用while,如果需要至少执行一次时采用do while;