C语言do while 循环详解

语法形式

do{
  语句;
}while( 表达式)

  do while循环是先直接进入循环体,执行循环语句,然后再执行while后的判断表达式,表达式为真,就会进行下一次,表达式为假,则不再继续循环。
所以do while语句中循环体是至少执行一次的,这是do while循环比较特殊的地方

do while循环的实例

  在屏幕上打印1~10的值
do while语句实现

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

while语句实现

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

在这里插入图片描述
下面来看一个典型的do while循环的例子 题目:输入一个整数,计算它是几位数

int main() {
	int n;
	int count=0;
	scanf("%d", &n);

	do {
		n /= 10;//去掉个位
		count++;
	} while (n);
	printf("%d", count);
	return 0;
}

在这里插入图片描述

  刚学do while 循环可能感觉他没什么用,大部分代码都能用while或for循环实现,但是这一个例子看似没什么特别,但是如果n=0时就体现了do while循环会首先执行一次循环体的特点,n=0时执行循环体保证它是一位数。所以在特定的条件下用do while循环也是能简化我们的代码。

注:这⾥并非必须使⽤ do while 语句,但是这个代码就比较合适使用 do while 循环,因为n即使是0,也是1位数,要统计位数的。

do while和while循环的对比

  • while循环执行时只有当满足条件时才会进入循环,进入循环后,执行完循环体内全部语句直到条件不满足时,再跳出循环。

  • do-while循环将先运行一次,在经过第一次do循环后,执行完一次后检查条件表达式的值是否成立,其值为不成立时才会退出循环。

注:用while循环和do while循环完成同样的任务时,只有第一次条件不满足时,产生的结果不同,否则他们俩的结果是一样的。可对比打印1~10的例子,如果n给的值是11,则两个代码的效果是不同的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值