首页 > 其他分享 >do-while循环

do-while循环

时间:2023-11-02 20:16:33浏览次数:30  
标签:do 循环体 num while 循环 执行

do-while循环其实很简单,只在while循环的基础做了些许改变。

  1. 一般格式:
do
{
    <循环体语句>
}while(<循环条件>);

  下面是do-while循环的流程图:

在进入循环的时候不做判断,而是在执行完一轮循环体的代码之后,再来检查检查循环的条条件是否满足,如果满足则进行下一轮循环,不满足则结束循环。

    2.实例:逆序输出数字num的各个数位上的数字。

#include <stdio.h>
int main()
{    
    int num,x = 0;
    scanf("%d",&num);
    do{
        x = num%10;
        num /= 10;
        printf("%d\n",x);
    }while(num>0);
    return 0;
}

当输入为0时,仍然可以输出数字0;而使用while循环,for循环则不一定达到你需要的效果。

运行结果:

     3.总结体会:

do-while 循环是一种常见的循环结构,它在执行循环体之前先执行一次循环条件的判断。

1. 保证至少执行一次循环体:do-while 循环的特点是无论循环条件是否满足,都会执行一次循环体。这在某些情况下非常有用,可以确保代码至少执行一次。

2. 条件判断在循环体后:与其他循环结构不同,do-while 循环的条件判断发生在循环体的末尾。这意味着循环体至少会执行一次,然后再根据条件是否满足来决定是否继续执行。

3. 适用于需要先执行再判断的场景:do-while 循环适用于那些需要先执行一次操作,然后再根据条件判断是否继续执行的场景。例如,读取用户输入或者进行一些必要的初始化操作。

4. 可能导致无限循环:如果循环条件始终为真,do-while 循环可能会导致无限循环。因此,在编写 do-while 循环时,需要确保循环条件能够在某个时刻变为假,以避免程序陷入死循环。

5. 结构清晰明了:do-while 循环的结构相对简单明了,易于理解和阅读。循环体内的代码会至少执行一次,逻辑较为清晰,降低了出错的可能性。

总的来说,do-while 循环是一种常用的循环结构,通过先执行循环体再判断条件的方式,保证了循环体至少执行一次。在某些特定的场景中,do-while 循环非常有用,但需要注意避免陷入无限循环的问题。

  

标签:do,循环体,num,while,循环,执行
From: https://www.cnblogs.com/one-1/p/17806166.html

相关文章

  • JavaScript 将大数组拆分成多个小数组 循环调用接口
    项目需求:数据列表批量选择提交购物车,一次性提交数据量过大接口会报错,传递的参数是选中数据id的数组。项目运行很久了不做大改动,将提交数据总数限制在2000条以内,每500条走一次接口。思路:1.写一个将大数组拆分多个小数组的方法,arr为大数组,len为要拆分的小数组长度arrGroup(arr,......
  • python tkinter事件循环中一直检测初始化加载文件有没有加载成功
     pythontkinter事件循环中一直检测初始化加载文件有没有加载成功importtkinterastkdefcheck_file_loaded():#检查文件是否加载成功的逻辑iffile_loaded:#文件加载成功,执行相应操作print("文件加载成功")else:#文件未加......
  • CF227A Where do I Turn? 题解
    题目大意:\(A\),\(B\)在一条直线上。\(B\),\(C\)在一条直线上你从\(A\)走到了\(B\)去\(C\),问现在应该是直走、左转、还是右转。思路:分类讨论:分别求\(A\)到\(B\),\(B\)到\(C\)是什么方向,然后可得\(A\)到\(C\)的方向。Code:#include<bits/stdc++.h>usingnamesp......
  • P9740 「KDOI-06-J」ION 比赛 题解
    题目思路:先计算总分数\(sum\),\(c_i=\frac{100}{a_i}\)为每道题的每个测试点分数。如果总分数达到\(Au\)线,直接输出AlreadyAu.。否则计算到达\(Au\)线还需多少分\(p\),遍历所有题,求出每道题的失分,如果失分大于等于\(p\),则输出\(\lceil\frac{p}{c_i}\rceil\),即至......
  • sql server 截断和收缩所有用户数据库日志--用游标循环所有正常状态的用户数据库
    在服务器运维活动中,我们经常需要做一项工具就是将好多年的用户数据库日志文件截断并收缩为最小,以节省大量的磁盘空间。当数据库只有一两个时可以手动操作,但数据库数量众多时,就需要采用sql脚本,批量化执行这个过程。本人写了一段这样的脚本。并且经过验证执行无误。现在分享出来,您......
  • Docker desktop for win/windows Debug Mode: false/true | Trouble Shooting | diagn
    Eventually,usingthedocker-D-ldebugsettingfortheclientIhavefoundthelogoutputs(apparentlycurrentlytherearenodebuglevelmessagesimplementedasreported.docker-DinfoDebugModedocker-Dversiondocker-D-ldebugC:\Users\[u......
  • Ubuntu 一直卡在开机界面或者用户登录界面死循环问题的解决
    此方法并不全部通用,根据自己实际情况建议提前快照再试试此方法原因:NVIDIA驱动所致,之前安装方式nvidia驱动出问题。解决办法:卸载nvidia驱动,重新安装。(1)进入文本模式:CTRL+ALT+F1或者进入高级选项(按住esc或shift)(2)Uninstallanypreviousdrivers:sudoapt-getremovenvidia......
  • windows docker安装
    windows11为例安装wls(默认为新版本wsl2,也推荐wsl2)在终端(PowerShell)开启wlsEnable-WindowsOptionalFeature-Online-FeatureNameMicrosoft-Hyper-V-All下载dockerdesktop(dockerforwindows)下载地址:https://www.docker.com/get-started/(不用FQ)......
  • docker使用阿里镜像加速
    登录阿里云,打开控制台 选择容器镜像服务 选择镜像加速器 ......
  • 35-Vue脚手架-全局事件总线(使用全局事件总线优化Todo-List案例)
    全局事件总线(GlobalEventBus)1.一种组件间通信的方式,适用于任意组件间通信2.安装全局事件总线newVue({...//生命周期beforeCreate这时vue还未解析模板,初始化的数据监测、数据代理还未开始beforeCreate(){//安装全局事件总线Vue.prot......