while与dowhile循环的用法

while循环的基本用法:

基本格式:

              while (表达式)

                            语句A;

使用范围:

while也是只能控制一个语句,若要控制多个语句则需要加{}花括号。

注意:

  while 与for循环是可以相互转化的。

如:

       for(1; 2; 3)

                     语句A;

可以变成:

                     1;

       while(2)

       {            

              语句A;

                     3;

       }

Tip: 推荐使用if循环,与while循环相比if的逻辑性更强,更不容易出错。 至于什么时候用while,什么时候使用for没法说,用多了自然而然就知道了。

dowhile的用法:

基本格式:

              do

       {      语句

          。。。。

                        }

          while(表达式)

表达式内为判断。

运行流程:

       先执行do下面的语句,不管是否满足while后面的表达式,都会先执行一次do下面的语句,之后在进行判断,若符合,则进行循环。若不符合,则不进行循环。

注意:

该循环不管怎样一定会运行一次do下面的语句,该循环是先执行,再判断,再循环。

该循环不能与while循环进行互换。该循环不能与while循环进行互换。

# include <stdio.h>
/*
时间;2021年10月16日19点27分 
目的;总结while循环的用法 
*/ 
int main (void)
			
{
	int sum = 0;					//基本格式   while(表达式) 
	int i ;							// 					语句A; 
									//使用范围;只能控制一个语句,与for一致,若要控制多个,则需要用{} 
	while (i <= 100 )
		{							//while与for可以相互转化 
			sum = i + sum;			//如; 	for(1; 2; 3) 
			i++;					// 			A;
		}							//等价于  
									//		1; 
	printf("sum=%d",sum);			//		while (2)
									// 			{ A;
									// 			  3;
									// 					} 
	
	return 0 ;						//tip 推荐使用if循环,与while循环相比if的逻辑性更强,更不容易出错。 
}									//什么时候用while,什么时候使用for没法说,用多了自然而然就知道了 
# include <stdio.h>
# include <math.h>
/* 
时间;2021年10月17日09点27分 
目的;总结do while循环的用法 
*/ 
int main (void)

{
	double a, b , c;									//基本格式; do 
	double delta;										// 			{ 语句。。。。 
	double x1, x2;										// 						} 
	char ch ; 
														// 
  do
  {														//			while(表达式);	 
	printf ("请输入一元二次方程的三个系数;");			//运行流程; 
	printf ("a = ");									//先运行do下面括号里的语句,不管是否满足表达式,都会执行,即 
	scanf("%lf", &a); 									// 先运行语句一次。再判断是否符合表达式,若符合则进行循环, 
														// 否则终止。不管怎么样语句一定要运行一次。 
	printf ("b = ");									// 该循环是先执行,再判断,再循环。 
	scanf("%lf", &b); 									// ps;该循环不能与while循环进行互换。 
	
	printf ("c = ");									//该循环主要用于人机交互 
	scanf("%lf", &c); 
	
	delta = b*b -4*a*c;
	
	if (delta > 0)
	{
		x1 = (-b + sqrt(delta))/(2*a);
		x2 = (-b - sqrt(delta))/(2*a);
		printf("有两个解, x1 = %lf, x2 = %lf",x1,x2);
	 } 
	else if (0==delta)
	{
		x1 = x2 = (-b) / (2*a);
		printf("有唯一解, x1 = x2 = %lf",x1 ,x2);
		
	}
	else
	{
		 printf("无实数解!"); 
	}
	
	printf("您想继续吗(Y/N):");
	scanf(" %c", &ch);		//为什么%c前面必须的加一个空格? (空白符)
  }while ('y'==ch || 'Y'==ch); 
	
	return 0 ;
 } 	

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值