文档介绍:第6章循环控制
课堂教学4学时
上机操作2学时
教学累计16学时
上机累计4学时
语言40
循环结构是重复执行某段程序,直到某个条件满足为止的一种程序结构。
很多问题的解决需要用到循环控制。
循环结构、顺序结构、选择结构是构成复杂程序的基本单元。
语言40
C提供四种循环
goto ~ if
while
do ~ while
for
语言40
goto语句以及用goto语句构成循环
无条件转向语句一般形式:
goto 语句标号;
两种用途
与if语句构成循环
从多层循环的最内层跳出
∑n
求:1+2+3+4……+100
100
n=1
语言40
main( )
{ int i,sum=0; 注意:初值的设置
i=1;
loop:if(i<=100)
{sum=sum+i;
i++;
goto loop;}
printf("%d",sum);
} 运行结果:5050
语言40
while语句
while语句可以实现当型循环
格式:while(表达式)
语句;
执行过程:计算表达式值,为真(非0)则执行语句;反复执行上述操作,直到表达式值为假时止
思考:变!什么在改变!
循环体语句
N-S结构流程图
当表达式为真
语言40
∑n
main( )
{int i,sum=0;
i=1;
while(i<=100)
{ sum=sum+i;
i++;}
printf("%d",sum);}
问:sum和i都在变,谁的变化使循环结束?
100
n=1
N-S结构流程图
i=1
sum=sum+i
i=i+1
当i≤100
语言40
例求7!
main( )
{int t=1,i=2;
while (i<=7)
{t=t*i;
i++;}
printf(“7!=%d\n”,t);}
运行结果:5040 (1x2x3x4x5x6x7)
语言40
思考
修改程序使运算顺序为7x6x5x4x3x2x1
main( )
{int t=7,i=6;
while (i>0)
{t=t*i;
i- -;}
printf(“7!=%d\n”,t);}
语言40
课堂练习
读程序写出运行结果
main( )
{long x;
int n=0;
scanf(“%ld”,&x); 运行时输入:-10203040
x=x>0?x:-x; 运行结果:
while(x!=0)
{n++;
x=x/10;}
printf("%d\n",n);}
运行结果:8
语言40