while
循环是一种前测试循环,即在每次循环迭代之前检查循环条件。如果条件为真,则执行循环体;如果条件为假,则跳过循环体。
while (condition) {
// 循环体
// 循环体中的语句会在条件为真时重复执行
}
#include <iostream>
using namespace std;
int main() {
int a = 1, n = 6;
while (a <= n) {
cout << "循环次数: " << a << endl;
a = a + 1; // 等价于 a += 1 或 a++;
}
return 0;
}
在这个示例中,只要 a
小于等于 n
,循环体就会执行。每次循环结束后,a
的值增加 1。
do-while
循环是一种后测试循环,即先执行一次循环体,然后再检查循环条件。如果条件为真,则继续执行循环体;如果条件为假,则结束循环。
do {
// 循环体
// 循环体中的语句至少会执行一次} while (condition);
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int a = 1;
do {
cout << "循环执行中" << endl;
a++;
} while (a <= n);
return 0;
}
在这个示例中,无论 n
的值是多少,循环体至少会执行一次。
#include <iostream>
using namespace std;
int main() {
int a = 5;
// 后++示例
cout << a++ << endl; // 输出 5
cout << a << endl; // 输出 6
int b = 5;
// 前++示例
cout << ++b << endl; // 输出 6
cout << b << endl; // 输出 6
return 0;
}
while(n--)
是一种常见的用法,它会在每次循环迭代之前检查 n
的值是否为真(非零),然后再将 n
的值减 1。当 n
减到 0 时,循环条件变为假,循环结束。
#include <iostream>
using namespace std;
int main() {
int n, t, MAX = 0;
cin >> n;
while (n--) {
cin >> t;
if (t > MAX) MAX = t;
}
cout << "最大值是: " << MAX << endl;
return 0;
}
在这个示例中,程序会读取 n
个整数,并找出其中的最大值。每次循环迭代时,n
的值会减 1,直到 n
变为 0 时循环结束。
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
while (n != 0) {
cout << n % 10 << " ";
n /= 10;
}
cout << endl;
return 0;
}
这个示例通过 while
循环将输入的整数的每一位数字反转输出。每次循环中,使用 n % 10
取出最后一位数字,然后使用 n /= 10
将 n
除以 10 去掉最后一位数字,直到 n
变为 0。
有话要说...