今日头条
3.1 循环结构
在现实中,我们往往会重复的做一件事,直到符合某个条件就会停止。如:周一到周五,我们每天都重复着起床、上班、午休、上班、下班、回家、睡觉这个流程,而当到了周六,我们就不会继续重复了。
循环结构:程序重复执行某一个代码块,直到符合特定条件,才会结束
循环结构有3条语句:do-while语句、while语句、for语句。
3.1.1 for语句
常见形式如下:
for(赋值表达式; 条件表达式; 循环变量表达式) { 循环体; } |
原理:
1.首先执行赋值表达式(1次for语句执行过程中,只执行1次)
2.计算出条件表达式的值,判断真假
3.如果为真,则执行循环体,然后执行循环变量表达式,然后再回到第2步
4.如果为假,则 for 语句结束,执行其下一条语句
说明:
赋值表达式:为变量付初值
条件表达式:能够让循环结束的条件,控制循环次数
循环变量表达式:能够让循环结束的语句(自增减)
注意:
for()后面不能有分号,否则循环体中的内容会默认成顺序结构只执行一次
for(表达式1;条件;表达式2),表达式1与表达式2以及条件都可以是多条语 句但是要用逗号隔开;注意条件部分的表示;
for(;;)死循环
示例程序:
#include int main() { int i; int sum = 0; //1+2+3...100; //1~100,1 // for(i = 1; i <= 100; i++) // { // sum = sum + i; // } // printf("sum = %d\n",sum); // printf("i = %d\n",i); //============================================ i = 1; for(; i <= 100; ) //while(i<=100) { sum = sum + i; i++; } printf("sum = %d\n",sum); printf("i = %d\n",i); //for适合循环次数可知,范围要求, //只知道结束的条件,while,do-while适合 //================================================= //n!= 1*2*3*...n Sn = 10+20+30....+n*10 sum = 1; int s = 0; int j ; int n; printf("请输入一个十进制数据:"); scanf("%d",&n); //如果赋值表达式和循环变量表达式是多条语句的时候,可以使用逗号隔开 for(j = 1,i = 10;j <= n; j++, i+=10) { sum = sum *j; s = s + i; } printf("%d! = %d\n",n,sum); printf("s = %d\n",s); } |
注意:
1. 赋值表达式,可以省略,但是条件表达式中变量要有明确的值
2. 条件表达式,可以省略,但是会变成死循环
3. 循环体也可以省略,如果不加分号,也没有{},默认往下结合一条语句
4. 循环变量表达式可以省略,但对是否是无限循环没有影响
5. for(; ;)中两个分号不能省略。for(; ;)也能表示无限循环,但不常用。
3.1.2 while语句
常见形式如下:
while(条件表达式) { 循环体; } |
原理:
1.计算出表达式的值,判断真假
2.如果为真,则执行循环体,然后回到第1步,如果为假,则 while 语句结束
3.标准死循环,while(1)
示例程序:
int main() { int a; printf("请输入一个分数:"); scanf("%d",&a); //0~99 while(a < 0 || a > 99) { //1)当输入不符合程序要求,显示数据有误,直接结束程序,return; //printf("数据范围有误\n"); //return 0; //在主函数中一般返回0 //结束程序 //2)当输入的输入不符合要求,提示用户重新输入,--->重新比较,---重新输入。重新比较 printf("数据范围有误,请重新输入:"); scanf("%d",&a); } ……. } |
示例2:
3.1.3 do-while语句
常见形式如下:
do { 循环体; // 重复执行的代码块 }while(条件表达式); // 这里有分号,表示语句的结束 |
原理:
1.执行循环体
2.计算出表达式的值,判断真假
3.如果为真,则回到第1步
4.如果为假,则 do-while 语句结束
#include int main() { int a; do { printf("请输入一个分数:"); scanf("%d",&a); }while(a < 0 || a > 99); } |
总结:
for循环跟while语句:
for循环适合于循环次数可知的情况
while语句适合于循环次数不可知的情况,只知道最终结束的条件
标准的死循环:while(1)
while语句跟 do-while语句
while语句先判断条件是否成立,如果成立则执行循环体,循环体有可能一次也不执行
do-while语句,先执行循环体,然后在判断条件是否成立,循环体至少执行一次
lw
全部0条评论
快来发表一下你的评论吧 !