C语言(13)------------>do-while循环

1.do-while循环的语法

我们知道C语言有三大结构,顺序、选择、循环。我们可以使用while循环、for循环、do-while循环实现循环结构。之前的博客中提及到了前两者的技术实现。可以参考:

C语言(11)------------->while循环 CSDN

C语言(12)--------->for循环 CSDN

那do-while循环的语法是怎样的呢?

do

{

控制语句;

}while(判断表达式);

我们看一个例子

打印1-10的数字:

参考代码:

cpp 复制代码
#include <stdio.h>

int main()
{
	int a = 1;
	do
	{
		printf("%d ",a);
		a++;
	} while (a<=10);
	return 0;
}

在VS2019中的运行结果:

2.do-while循环的练习

输入一个数字,判断它是几位数。

例如:

输入:0

输出:1

参考代码:

cpp 复制代码
#include <stdio.h>

int main()
{
	int num = 0;
	int count = 0;
	scanf("%d",&num);
	do
	{
		count++;
		num = num / 10;
	} while (num);
	printf("count=%d\n",count);
	return 0;
}

在VS2019中的运行结果:

仔细查看此处的代码,会发现它避免了输入为0输出也为0。这是因为do-while循环至少执行一次循环。

3.do-while循环的break和continue

while循环和for循环的break和continue问题我在之前的博客中有所提及:

C语言番外篇(3)------------>break、continue CSDN

这篇文章提及的是do-while循环的break和continue问题。

(1)break

参考代码:

cpp 复制代码
#include <stdio.h>

int main()
{
	int a = 1;
	do
	{
		if (5 == a)
			break;
		printf("%d ",a);
		a++;
	} while (a<=10);
	return 0;
}

在VS2019中的运行结果:

(2)continue

参考代码:

cpp 复制代码
#include <stdio.h>

int main()
{
	int a = 1;
	do
	{
		if (5 == a)
			continue;
		printf("%d ", a);
		a++;
	} while (a <= 10);
	return 0;
}

在VS2019中的运行结果:

相关推荐
ssk5211256 分钟前
http 协议和 https 协议的区别在哪里?【详情解答】
开发语言·人工智能·其他
画个逗号给明天"21 分钟前
C++对象模型之C++额外成本
开发语言·c++
又菜又爱玩呜呜呜~26 分钟前
langchain-go调用deepseek
开发语言·golang·langchain
VermouthSp28 分钟前
C++中& 左值引用(Lvalue Reference)
开发语言·c++
浮尘笔记30 分钟前
go-zero中定时任务的用法
开发语言·后端·golang
Pandaconda33 分钟前
【Golang 面试题】每日 3 题(六十七)
开发语言·经验分享·笔记·后端·面试·golang·go
M_Lin_1 小时前
C++继承 多态
开发语言·c++
猿周LV1 小时前
多线程进阶 : 八股文面试题 一 [Java EE 多线程 锁和死锁相关问题]
java·开发语言·java-ee
enyp801 小时前
qt QTreeWidget`总结
开发语言·数据库·qt
啾啾Fun2 小时前
[java基础-JVM篇]2_垃圾收集器与内存分配策略
java·开发语言·jvm