循环结构(while循环)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了循环结构(while循环)相关的知识,希望对你有一定的参考价值。

1.作用:将一段代码,反复运行

2.语法

while(条件表达式)

循环体;

3.执行步骤

判断条件表达式是否为真,非0继续执行,0则停止直接跳过

while(1)永真

while(0)永假

4.死循环

如果每次条件表达式都为真,则会一直执行下去,不会停止

注尽量不写死循环

5.书写while时

确定循环体,知道那一段代码需要反复执行。

知道循环继续和结束的条件,用注释标明。

6.

a.循环例子(死循环)

#include<stdio.h>

int main()



int i = 1;

while (1)//循环为真,且为死循环



printf("你真帅");



return 0;

b.有次数限制的循环

方法:将声明的变量在循环体后面进行改变自身值

#include<stdio.h>
int main()

int i = 0;//定义i的值
while (i < 5)

printf("你真帅");
i++;//将i的值每循环一次加一,使得i不满足条件表达式

return 0;

c.次数不确定,要求用户输入正确的答案才能结束

#include<stdio.h>//请反复输入你爱我吗,y/n,如果yes结束,no继续进行
int main()

char ch = a;//定义字符
while (ch != y)//确定循环体,且判断用户输入的数据

printf("你爱我吗?");
scanf_s("%c", &ch,1);

printf("谢谢你");
return 0;

d.遍历指定范围的数

#include<stdio.h>//遍历范围的值

int main()



int i = 1;

while (i <= 100)//遍历1到100



printf("%d\\n", i);//将变量换成i,i有自增

i++;//所以打印数持续增加



return 0;

e.在指定的范围内找到符合条件的数

使用if将所要的条件表达出来

例子



#include<stdio.h>//找出100到200之间的偶数

int main()



int i = 100;

while (i <= 200)



if (i % 2 == 0)//假设i是偶数



printf("%d\\n", i);



i++;



return 0;

#include<stdio.h>//在1000到5000中各个数之和为5的打印出来
int main()//先将范围打印出来,然后将各个数分别开来,相加

int i = 1000;
while (i <= 5000)

int a = i / 1000, b = i % 1000 / 100, c = i % 100 / 10, d = i % 10;
//将千位,百位,十位,个为表示出来
if (a + b + c + d == 5)//假设将各个数相加等于5,则打印

printf("%d\\n", i);

i++;//利用自增使范围数打印出来

f.使用循环累加


#include<stdio.h>//求累加值

int main()



int i = 1;

int sum = 0;//要在大括号外定义

while (i <= 10)



sum += i;//sum的值每一次都要加上i的增量

printf("%d\\n", sum);//打印

i++;



return 0;

注意:定义时要注意变量的位置,不要将定义放入大括号中

g.利用循环求最大值。

#include<stdio.h>//利用循环求最大值 int main() int i = 0; int max = 0; while (i < 5)

printf("请输入第%d个数", i + 1);//判断输入了几个数
int num = 0;
scanf_s("%d", &num);//重复输入数字
if (num > max)

max=num;//赋值将num的值赋给max

i++;

printf("最大值是%d", max);//打印最大值
return 0;

h.用循环来计数计数

1).记录循环多少次,记录某个条件满足多少次

2)声明一个变量用来计数

#include<stdio.h>//请用户输入账号和密码,只要有一个不正确,就要重新输入
int main()

int zhangHao = 0, miMa = 0;
int times = 0;//想知道输入多少次,只需定义一个变量来进行记录
while (zhangHao != 123456 || miMa != 888888)

printf("请输入账号和密码");
scanf_s("%d%d", &zhangHao, &miMa);
/printf("输入错误,请重新输入");/
times++;//每循环一次就加一

printf("输入正确,登陆成功");
printf("您输入了%d\\n", times);
return 0;


i.穷举

将所以的数一个一个列举进行比对。

#include<stdio.h>//一篮鸡蛋至少有两个,两个数剩一个,三个数剩一,四个数还剩一个

int main()



int i = 2;//至少有两个

while (1)

//定义条件,满足则停止循环

if (i % 2 == 1 && i % 3 == 1 && i % 4 == 1)



printf("鸡蛋数是%d\\n", i);

break;//条件成立则停止



i++;//自增



return 0;






以上是关于循环结构(while循环)的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本while循环语句

shell之循环语句

无限循环与嵌套循环

python(10):while循环

js中for循环和while循环在使用的时候有何区别?

js中for循环和while循环在使用的时候有何区别?