C++青少年简明教程:While和Do-while循环语句

C++青少年简明教程:While和Do-while循环语句

C++的while和do-while语句都是循环控制语句,用于重复执行一段代码。while语句在循环开始前检查循环条件,而do-while语句在循环结束后检查循环条件。

使用while循环时,如果需要在每次迭代前都检查条件,可以选择while。
使用do-while循环时,如果需要确保循环体至少执行一次,可以选择do-while。

while语句

语法格式:

while(判断表达式)

    循环体

执行流程图:

当判断表达式(条件)为真时执行循环体;当条件为假时,程序流将循环语句后的语句。循环体是语句或语句块。

使用while循环计算1到10的累加和:

#include<iostream>
using namespace std;

int main(){
	int n = 10;
	int sum = 0;
	int i = 1;
	
	while (i <= n) {
	   sum += i;
	   i++;
	}
	
	cout << "1到" << n << "的累加和为:" << sum << endl;
}

其中sum += i; 的意思是将i的值加到sum中,相当于 sum = sum + i;

i++ 的意思是将i的值加1,相当于 i = i + 1;

首先,定义了三个变量:n、sum和i。n的值为10,sum初始化为0,i初始化为1。

然后,使用while循环计算累加和。循环条件是i小于等于n,即只要i的值不大于n,就继续循环。循环体内的语句是累加i到sum中,然后将i的值加1,以便下一次循环累加下一个数。循环结束后,sum中就存储了1到n之间所有整数的和。

前面“if选择语句”一节给出判断一个年份是否为闰年程序,每次运行只能判断一个年份,如何判断多次呢?

如果您想要程序能够多次判断不同的年份是否为闰年,您可以使用一个循环结构,如while循环或for循环,来重复获取用户输入并判断。下面是一个使用while循环的示例代码:

#include <iostream>  
using namespace std;
 
int main() {  
    int year;  
    bool keepRunning = true; // 标志位,用于控制循环是否继续  
  
    while (keepRunning) {  
        cout << "请输入一个年份(输入数字0退出): ";  
        cin >> year;  
  
        // 如果用户输入0,则退出循环  
        if (year == 0) {  
            keepRunning = false;  
        } else {  
            // 判断是否为闰年  
            if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {  
                cout << year << " 是闰年." << endl;  
            } else {  
                cout << year << " 不是闰年." << endl;  
            }  
        }  
    }  
  
    return 0;  
}

Do-while语句

语法格式:

Do

循环体

while(判断表达式);

执行流程图:

条件表达式出现在循环的尾部,所以循环体会在条件被测试之前就执行了一次,也就是这个语句的循环体中的语句会被至少执行一次。

如果条件为真,就会执行循环体,这个过程会不断重复,直到给定条件变为假为止。

使用Do-while语句计算1到10的累加和:

int sum = 0, i = 1, n = 10;
do {
    sum += i;
    i++;
} while (i <= n);

cout << "1到" << n << "的整数之和为:" << sum << endl;

while语句在进入循环体之前检查条件,如果条件一开始就为假,则循环体一次也不会执行。当希望在进入循环体之前检查条件时,使用while循环。

do-while语句先执行一次循环体,然后再检查条件,这确保了循环体至少执行一次。当希望至少执行一次循环体,然后再检查条件时,使用do-while循环。

while和do-while循环可以单独嵌套,也可以相互嵌套。

下面是一个示例代码,展示了 while 循环和 do-while 循环的相互嵌套使用:

#include <iostream>
using namespace std;

int main() {
    int i = 1;
    int j = 1;

    while (i <= 3) {
        cout << "外部循环,i = " << i << endl;

        do {
            cout << "  内部循环,j = " << j << endl;
            j++;
        } while (j <= 2);

        i++;
        j = 1;
    }

    return 0;
}

在运行上述代码时,你将会看到如下输出:

外部循环,i = 1
  内部循环,j = 1
  内部循环,j = 2
外部循环,i = 2
  内部循环,j = 1
  内部循环,j = 2
外部循环,i = 3
  内部循环,j = 1
  内部循环,j = 2

  • 11
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值