前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++系列-第3章循环结构-26-认识do-while语句

C++系列-第3章循环结构-26-认识do-while语句

作者头像
用户2225445
发布2023-12-29 09:15:51
1530
发布2023-12-29 09:15:51
举报
文章被收录于专栏:IT从业者张某某IT从业者张某某

C++系列-第3章循环结构-26-认识do-while语句

在这里插入图片描述
在这里插入图片描述

在线练习: http://noi.openjudge.cn/ https://www.luogu.com.cn/

对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。

do-while循环语句是编程中的一种控制结构,它的设计有其特定的用途和优势:

  1. 确保循环体的执行do-while循环首先执行循环体,然后再判断循环条件是否满足。这意味着即使循环条件一开始就不满足,循环体也至少会执行一次。这在某些情况下是必要的,比如初始化变量或者执行某些操作。
  2. 简化代码逻辑:在某些场景下,使用do-while循环可以简化代码逻辑。尤其是当需要至少执行一次循环体,而循环条件又可能会在执行过程中改变时。
  3. while循环的区别:与while循环相比,while循环是先判断条件,如果条件不满足,则循环体不会执行。而do-while循环则是先执行循环体,再判断条件,因此循环体至少会执行一次。
  4. 适用特定场景:例如,在用户界面编程中,可能需要首先显示一个界面,然后根据用户的输入来决定是否继续执行某些操作。这时,do-while循环就是一个很好的选择,因为它首先会显示界面(循环体),然后根据用户的输入来判断是否继续。 总的来说,do-while循环语句是编程语言提供的一种工具,用来满足特定场景下的编程需求。它与其他循环语句(如for循环、while循环)一起,帮助程序员编写出更加灵活、高效的代码。

do-while语句格式

如果主体中只有单个语句的话,花括号可以省略。(如格式1) 格式1

代码语言:javascript
复制
do
    语句1;
while(条件表达式);

说明: 语句 1是 do-while 循环语句的循环体,它会先执行一次,如果满足条件,还会被重复执行。

格式2

代码语言:javascript
复制
do{
    语句1;
}
while(条件表达式);

说明:循环体部分由多个语句构成,应由一对花括号括起来,构成一个语句块的形式。

执行过程

(1) 执行一次循环体。 (2) 计算表达式的值,若为真,则转向第(1)步。 (3) 如表达式的值为假时,结束循环。

在这里插入图片描述
在这里插入图片描述

while 和 do while的对比

下面是一个简单的C++示例,演示了while循环和do-while循环的区别。这个例子中,我们使用while循环和do-while循环来计算从1加到10的和。do-while循环的特点是至少执行一次循环体,即使循环条件一开始就不满足。

代码语言:javascript
复制
#include <iostream>

int main() {
    int sumWhile = 0;
    int sumDoWhile = 0;
    int i = 1;
    int j = 1;
    int n = 0; // 再取值1 10 对比下

    // 使用while循环
    std::cout << "Using while loop:" << std::endl;
    while (i <= n) {
        sumWhile += i;
        i++;
    }
    std::cout << "Sum using while loop: " << sumWhile << std::endl;

    // 使用do-while循环
    std::cout << "Using do-while loop:" << std::endl;

    do {
        sumDoWhile += j;
        j++;
    } while (j <= n);
    std::cout << "Sum using do-while loop: " << sumDoWhile << std::endl;

    return 0;
}

如果n为0,则输出为:

在这里插入图片描述
在这里插入图片描述

在这个例子中,while循环首先检查条件(i <= n),如果条件满足,则执行循环体。而do-while循环则首先执行循环体,然后检查条件。如果条件满足,则继续执行循环体。 编译并运行这段代码,你会看到两种循环都能正确计算出从1加到n的和,但是do-while循环至少执行了一次循环体,即使条件一开始就不满足(在这个例子中,条件始终满足,所以两种循环都会执行循环体)。这个例子突出了do-while循环的特点,即循环体至少执行一次。

案例-人类的本质

[题目描述] 人类的本质是复读机.现在给定一个小写字母和次数,请输出这个字母指定次数。 [输入格式] 第一行一个小写字母 第二行一个数字 n,表示次数 [输出格式] 输出这个字母 n 次[样例输入] a 2 [样例输出] aa

代码语言:javascript
复制
#include<bits/stdc++.h>
using namespace std;
char c;
int n;
int main()
{
    cin>>c>>n;
    do
    {
        //cout<<n<<endl;
        cout<<c;
        n--;
    }
    while(n);
    return 0;
}

案例-多数求和

题目描述 输入若干个数(不超过 1000 个数),求他们的和。

输入 一行若干个用空格分隔的整数 ai(1≤ai≤104 ),最后会以 −1 表示结束。(−1 不需要统计)

输出 一个整数,表示 这些数的和。

样例输入 10 20 30 -1 样例输出 60

代码语言:javascript
复制
#include<bits/stdc++.h>
using namespace std;
int sum,x;
int main()
{
    do
    {
        sum+=x;
        cin>>x;
    }
    while(x!=-1);
    cout<<sum;
    return 0;
}

输出为:

在这里插入图片描述
在这里插入图片描述

总结

本文是C++系列博客,主要讲述do while语句的用法

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C++系列-第3章循环结构-26-认识do-while语句
    • do-while语句格式
      • while 和 do while的对比
        • 案例-人类的本质
          • 案例-多数求和
            • 总结
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档