首页 > 其他分享 >C语言分支与循环(7)--- do...while()循环

C语言分支与循环(7)--- do...while()循环

时间:2023-07-24 20:01:35浏览次数:29  
标签:语句 do continue ... int while 循环

一. do语句的语法

do
循环语句;
while(表达式);

我们可以发现do后面的循环语句一定会被执行一次,随后再去执行while()循环语句,去判断表达式,如果为真则返回do语句继续执行,若为假则不进入do语句循环,如以下代码:

#include<stdio.h>
int main(void){
	int i = 0;
	do
	{
		printf("%d ",i);
		i++;
	} while (i<=10);
	getchar();
	return 0;
}

以下代码将输出0-10,我们接下来对代码进行分析:首先声明变量i并赋值i=0,然后执行do语句中的内容先调用printf()函数输出i的值,随后将变量i进行自增(i+1)随后利用while()语句进行判断若i<=10则满足条件跳转到do语句中以此类推,直到i=11,不再满足while()入口条件,跳出循环,以下是程序运行

截图:

C语言分支与循环(7)--- do...while()循环_do while

同样do...while()语句中也可以存在continue与break语句,如以下代码:

#include<stdio.h>
int main(void){
	int i = 0;
	do
	{
		if (i == 5){
			break;
		}
		printf("%d ",i);
		i++;
	} while (i<=10);
	getchar();
	return 0;
}

我们之前已经多次了解过break语句,知道了break语句是用于终止循环的,所以这个程序运行的结果我们也可以计算出是 0 1 3 2 4,如图所示:

C语言分支与循环(7)--- do...while()循环_do while_02

我们再来看以下代码:

#include<stdio.h>
int main(void){
	int i = 0;
	do
	{
    i++;
		if (i == 5){
			continue;
		}
		printf("%d ",i);
	} while (i<=10);
	getchar();
	return 0;
}

continue语句则是终止本次循环,重新开始新的循环,也就是说continue语句后面的代码不会被执行,注意使用continue语句时一定要注意变量无法成功自增导致的死循环问题,例如i的自增语句放在了continue语句的后面则很可能导致死循环,这点需要格外注意,同时do语句中的内容也会被优先无条件执行

程序最终的结果为 1 2 3 4 6 7 8 9 10 11 ,如图所示:

C语言分支与循环(7)--- do...while()循环_循环_03


但是do...while()语句使用的场景有限,不经常使用,所以也就不多介绍了

                                                                                                         2023/7/24

                                                                                                            王起舟

标签:语句,do,continue,...,int,while,循环
From: https://blog.51cto.com/u_16183773/6838507

相关文章

  • Docker学习路线10:容器安全
    容器安全是实施和管理像Docker这样的容器技术的关键方面。它包括一组实践、工具和技术,旨在保护容器化应用程序及其运行的基础架构。在本节中,我们将讨论一些关键的容器安全考虑因素、最佳实践和建议。容器隔离隔离对于确保容器化环境的强大性和安全性至关重要。容器应该相互隔离,......
  • Day08_for循环+print补充用法
    1.for循环和while循环取值: 2.for循环字典: 3.for循环字符串: 4.总结for循环和while循环的异同: 5.for循环控制循环次数:range() 6.for+break和for+else: 7.range(): 8.for+continue: 9.for循环嵌套: 10.print补充用法: ......
  • 前端基础之BOM和DOM
    window对象常用方法●window.innerHeight-浏览器窗口的内部高度●window.innerWidth-浏览器窗口的内部宽度●window.open()-打开新窗口●window.close()-关闭当前窗口navigator对象navigator.appName//Web浏览器全称navigator.appVersion//Web浏览......
  • pytesseract and ddddocr
    一.pytesseract1.简介 Pytesseract是一个Python库,用于将图像中的文本转换为可编辑的字符串。它是基于Google的TesseractOCR引擎开发的。Tesseract是一个开源的OCR引擎,能够识别超过100种语言的文字。Pytesseract简化了与Tesseract的集成过程,并提供了一个简单的API,使得在Python......
  • Windows子系统(WSL)通过桥接网络实现被外部局域网主机直接
    实现方法思路就是将wsl2自建的虚拟NAT网络桥接到windows主机网卡上,主要参考这篇文章 1、开启hyper-v桥接功能需要windows的hyper-v组件支持,但是win10/11家庭版是不包含hyper-v的,专业版才包含。网上也有文章提到家庭版安装hyper-v的方法,但是我没有测试,以下内容都是在win11专业......
  • virtualbox "UEFI Interactive Shell... " 错误 virtualbox machine boots to efi she
    ItturnsoutthatasIwasmessingaroundwithgettingthemachinetoload(duetoVirtualizationtechnologiesbeingdisabled),Iclickedonetoomanyitemsontheimagesettingspage. Tofixthis,gotothe"Settings"pageforthevirtualmachi......
  • docker安装discuz论坛系统
     1、docker安装#下载镜像[root@localhost~]#dockerpullccr.ccs.tencentyun.com/discuzq/dzq:latestTryingtopullrepositoryccr.ccs.tencentyun.com/discuzq/dzq...latest:Pullingfromccr.ccs.tencentyun.com/discuzq/dzq171857c49d0f:Pullcomplete419640447......
  • odoo16 Controller文件上传
    服务端1importlogging2importjson3frombase64importb64encode4fromodooimporthttp,SUPERUSER_ID,_5fromodoo.httpimportrequest67_logger=logging.getLogger(__name__)89classMain(http.Controller):[email protected]('......
  • 简单理解:C语言中的分支和循环语句
    一、C语言中的循环语句while循环while(//条件语句){//语句块}执行的逻辑:在执行到while()这一行时,会根据条件语句的真和假来判断是否继续进行循环,若条件语句为真则继续循环,如果条件为假则结束循环。dowhile循环do{//语句块}while(条件语句);执行的逻辑:和while类似,但是要注......
  • Docker修改容器内部时间
    ❝因:最近在捣鼓定时任务的时候发现我本地调试没问题,发到服务器上之后发现实际生效时间比设定的晚了8小时,于是记录一下解决方案,以便于日后查询!❞linux服务的时间查看时间使用datedete#输出结果FriJun210:51:20CST2023使用timedatectltimedatectl#输出结果Localtime:......