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中的运行结果:

相关推荐
xiangyun612 小时前
【408数据结构 08】队列:循环队列判空判满,408年年考,一次讲清
c语言·开发语言·数据结构·c++·算法
xiangyun612 小时前
【408数据结构 06】双链表、循环链表、静态链表
c语言·开发语言·数据结构·c++·算法
白远山3 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
Logic1014 小时前
C语言/数据结构数组题解:数字列表加一(Plus One)——进位处理与数组扩展
c语言·数据结构·模拟·数组·时间复杂度·算法题·进位
Escalating_xu4 小时前
【C语言常见概念】从第一行代码到字符串结束标志:一次打通编译、main、ASCII、转义字符与注释
c语言·c++
DevRay4 小时前
Java 21虚拟线程深度实战:告别线程池焦虑,百万并发吞吐量直接翻倍(原理+代码+避坑)
java·开发语言
Navigator_Z4 小时前
LeetCode //C - 1250. Check If It Is a Good Array
c语言·算法·leetcode
free-elcmacom4 小时前
C++学习<1>程序分区
开发语言·c++
醉颜凉4 小时前
Java 必看:如何彻底避免 HashMap 多线程死循环问题?
java·开发语言
默 语4 小时前
Java新手入门:从零开始安装JDK并配置环境变量
java·开发语言·python·mysql·group by·1024程序员节·数据去重