- 执行逻辑区别:
- while循环:先判断条件表达式,若条件为真,则执行循环体;若条件一开始就为假,则循环体一次都不会执行。
- do - while循环:先执行一次循环体,然后再判断条件表达式。无论条件表达式一开始是否为真,循环体至少会执行一次。
- 典型场景:
- while循环:适用于循环次数不确定,且可能不需要执行循环体的场景。例如,在读取文件时,不确定文件中有多少行数据,但只有当文件未结束(条件判断)时才继续读取下一行。
- do - while循环:适用于需要先执行某些操作,然后再根据条件决定是否继续执行的场景。比如,用户登录系统时,至少需要进行一次用户名和密码的输入尝试,然后根据验证结果决定是否继续尝试。
- 代码实现:
#include <iostream>
int main() {
int sum = 0;
int i = 1;
do {
if (i % 3 == 0) {
sum += i;
}
i++;
} while (i <= 100);
std::cout << "1到100之间能被3整除的数的和(do - while): " << sum << std::endl;
return 0;
}
#include <iostream>
int main() {
int sum = 0;
int i = 1;
while (i <= 100) {
if (i % 3 == 0) {
sum += i;
}
i++;
}
std::cout << "1到100之间能被3整除的数的和(while): " << sum << std::endl;
return 0;
}