生活中,有很多循环的东西,比如钟表就是在1到12循环,太阳东升西落也是循环,春夏秋冬也是循环,人生可能也是一个循环。
while
C语言中的循环可以这么描述:当某个条件成立,就一直做某件事或某些事。
//纯语言描述
当考试不及格;
就去复习;
再来考试;
还是不及格;
就去复习;
再来考试;
...//语言+符号描述
当(考试不及格)
{就去复习;接着考试;
}//半C语言化
while(考试不及格)
{就去复习;接着考试;
}
生活中的当,等同于C语言中的while
程序示例:求1加到100的和
程序示例1:
#include <stdio.h>int main()
{int sum = 0;int i = 0;while (i <= 100) //只要i<=100这个条件成立,大括号里面的内容就要执行{sum = sum + i;i = i + 1;}printf("i = %d\n", i);printf("sum = %d\n", sum);return 0;
}
输出结果:
i = 101
sum = 5050
因为只要i<=100这个条件成立,大括号里面的内容就要执行,大括号里面的内容执行完之后,还要回来判断while里面的条件。
while知识点
1、while循环体里面的内容可以不执行,比如while(0);
2、while循环体里面的内容可以一直执行不停止,比如while(1);
3、if语句可以看成最多执行1次的循环体
4、if语句和while可嵌套,实现更复杂的功能
if与while嵌套
求1000以内能被3整除的正整数之和
分析:
1、要遍历1到1000这1000个数;
2、要选择能被3整除的数
程序示例2:
#include <stdio.h>int main()
{int i = 1;int sum = 0;while (i <= 1000) //遍历1到1000所有的整数{if (i % 3 == 0) //判断是否能被3整除{sum = sum + i;//能整除的数就加起来}i++; //i要自增加一个}printf("i = %d\n", i);printf("sum = %d\n", sum);return 0;
}
while语句练习
求 ,累加和≥10000为止,输出累加和,输出累加式中的项数i和最大的数
程序示例3:
#include <stdio.h>int main()
{int i = 1;int n = 0; //记录循环次数int sum = 0; //记录和int an = 0; //记录停止的项while (sum <= 10000) {an = (2 * i) * (2 * i);sum = sum + an;//(2*i)的平方i++; //i要自增加一个n++;}printf("n = %d\n", n);printf("an = %d\n", an);printf("i = %d\n", i);printf("sum = %d\n", sum);return 0;
}
编写程序,求出2-100之内所有的质数,并打印出所有的质数
质数:只能被1和自己整除
程序示例4:
#include <stdio.h>int main()
{int i = 2;while (i <= 100) //遍历2到100内所有的数{int flag = 0; //标记int j = 2;//从2到自己,这之间还有没有能被自己整除的数while (j < i){if (i % j == 0) //判断有没有能被自己整除的数{flag ++; //有就+1标记一下}j++; //遍历2到i}if (flag == 0) //这个标记还为0,说明没有能被整除的,那就是质数了{printf("i = %d\n", i); //打印出质数}i++; //i要自增加一个,为了遍历}return 0;
}
循环结构在编程中用的非常多,循环结构也有多种方式
do... while
do
{//do something;
} while(条件)
不管条件是不是真,都执行一遍do里面的语句;
再来判断条件是否为真,为真的话继续执行do里面的语句,为假就执行后面的语句;
从键盘中输入数据,并请输入数据的和,知道和大于100为止
程序示例5:
#include <stdio.h>int main()
{int sum = 0;int input = 0;do {printf("请输入数据:");scanf_s("%d",&input);sum = sum + input;} while (sum <100);printf("sum = %d\n",sum);return 0;
}
for循环
for(0.初始化循环变量;1.循环条件;3.改变循环条件)
{2.循环体;
}
执行步骤就是:
0、初始化循环变量
1、判断循环条件
2、执行循环体
3、改变循环条件
理论上for循环式最规范的循环结构,本质上与while是一样的。