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 ;
}