MST

星途 面试题库

面试题:C++中do - while循环与while循环的区别及应用场景

请详细阐述C++中do - while循环和while循环在执行逻辑上的区别,并分别举例说明它们适用的典型场景。同时,编写一段代码,使用do - while循环计算1到100之间所有能被3整除的数的和,再用while循环实现相同功能。
32.1万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
  1. 执行逻辑区别
    • while循环:先判断条件表达式,若条件为真,则执行循环体;若条件一开始就为假,则循环体一次都不会执行。
    • do - while循环:先执行一次循环体,然后再判断条件表达式。无论条件表达式一开始是否为真,循环体至少会执行一次。
  2. 典型场景
    • while循环:适用于循环次数不确定,且可能不需要执行循环体的场景。例如,在读取文件时,不确定文件中有多少行数据,但只有当文件未结束(条件判断)时才继续读取下一行。
    • do - while循环:适用于需要先执行某些操作,然后再根据条件决定是否继续执行的场景。比如,用户登录系统时,至少需要进行一次用户名和密码的输入尝试,然后根据验证结果决定是否继续尝试。
  3. 代码实现
    • 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;
}
  • while循环
#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;
}