循环结构程序设计(while和do…while)

本文详细解析while和do...while循环的工作原理,通过实例说明如何利用它们进行数值计算和数字逆序操作。理解while语句先判断后执行的特点,以及do...while的先执行后判断特性。涵盖从基本语法到实际编程的应用演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

while语句实现循环

while语句的一般形式如:while(表达式)语句
语句就是循环体。循环体只能是一个语句,可以是一个简单的语句,还可以是复合语句(用花括号括起来的若干语句)。循环体内要有改变条件的机会。
② 执行循环体的次数是由循环条件控制的,这个循环条件就是上面一般形式的“表达式”,它也称为循环条件表达式。 当此表达式的值为“真”(以非0值表示)时,就执行循环体语句,为“假”(以0表示),就不执行循环体语句。
例如
“i<=50”是一个循环条件表达式,它是一个关系表达式。它的值只能是“真”或者“假”。在执行while语句时,先检查循环条件表达式的值,当为非0值(真),就执行while语句中的循环体语句;当表达式为0(假)时,不执行循环体与君。

  • while语句可以简单的记为:只有当循环条件表达式为真(即给定的条件成立),就执行循环体语句,即当条件满足,不断的重复循环体内的语句
  • while循环的特点是先判断条件表达式,后执行循环体语句。

在这里插入图片描述
while语句和if语句的区别是:while语句是实现循环的,是可以实现多次执行。而if语句是实现判断的,是执行一次的。

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

输入:234 输出:a=23,i=1
               a=2,i=2
               a=0,i=3
               
输入:56 输出: a=5,i=1
               a=0,i=2    
               
输入:5  输出: a=0,i=1               

do…while语句实现循环

do…while语句的一般形式为:

do
  语句
while(表达式);  

① 其中“语句”就是循环体。其先执行一次指定的循环体语句,然后判别表达式,当表达式的值为非零(“真”)时,返回重新执行循环体语句,如此反复,直到表达式的值等于0(“假”)为止,此时循环结束。若当表达式的值为零(“假”)时,循环结束。即其执行过程是:先执行循环体,然后再检查条件是否成立,若成立,再执行循环体。

  • do…while语句的特点是:先无条件的执行循环体,然后判断循环条件是否成立。

 **whiledo……while计算1+2+3+……+100**

#include <stdio.h>
/*int main(){
	int i=1,sum=0;
	do{
		sum=sum+i;
		i++;
	}while(i<=100);
	printf("%d\n",sum);
	return 0;
} */
int main(){
	int i=1,sum=0;
	while(i<=100){
		sum=sum+i;
		i++;
	}
	printf("%d\n",sum);
	return 0;
}

用while循环实现整数求逆序。

#include <stdio.h>
int main(){
	int x,a;
	int b=0;
	printf("输入x:\n");
	scanf("%d",&x);
	while(x>0){
		a=x%10;//x对10求余 例如23/10 余3,将3赋值给a 
		// ① printf("%d",a);
		b=b*10+a; 
	//	②printf("x=%d a=%d b=%d\n",x,a,b); 
		x=x/10;
		
	} 
	printf("%d",b);
	return 0;
}

如果是输入类似234 (不以0结尾的数字)
则输出432
如果是输入类似780800
则输出878
想要输出087008 则取消①号注释,将最下面的printf注销
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

注定暴富

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值