C语言循环结构ppt课件
pr查in循tf(环"s条um件,= %所以d\n循"环,su体m至);少执行一次pr。intf("sum = %d\n",sum);
} (2)退出do—while循环的条件与退} 出while循环的条件相同
10
一般格式:
for
for( 表达式1; 表达式2; 表达式3) {
循环体语句
}
表达式1
假(0) 表达式2
循环体 for语句等价于下列语句:
循表环达变式量1;增值/减值 while (表达式2) { 语句;
表达式3; }
12
例ffoorr用(语循句f环o最r变循简量环单赋求的初形值1式0;0:n循环条件;循环变量增值) 循环体 n1
#include <stdio.h> main() { int i,sum=0;
for(i=1; i<=100; i++) sum+=i;
printf("%d",sum); }
相当于: i=1,sum=0; while(i <= 100) {
sum = sum + i; i++; }
13
100
用上述三种循环语句求 s n
while语句:
n1
do-while语句:
n = 1;s = 0; while (n<=100)
说明:
(3)省略表达式3: 此时程序设计者应另外设法保证循环能 正常结束。如: for(i=1;i<=100;) { sum = sum + i; i++; }
17
for语句的使用格式灵活:
表达式类型任意,可省略,但分号“;”不可省
当表达式2被省略时,需要在循环体中设置循环结束语句
,否则构成死循环
说明: (2) 省略表达式2: 即不判断循环条件,认为表达式2始终
为真。 例如: for(i=1; ;i++) sum=sum+i; 它相当于:
i = 1; while(1) { sum = sum + 1;i++; }
16
for( 循环变量赋初值; 循环条件; 循环变量增值) { 循环体语句 }
(1)省略“表达式1” :此时在for语句之前给循环变量赋初
值。如
i=1;
for ( ; i<=100; i++)
for( ;i<=100;i++) sum=sum+i;
sum=sum+i;
执行时,跳过“求解表达式1”这一步,其他不变。
15
for( 循环变量赋初值; 循环条件; 循环变量增值) { 循环体语句 }
int main()
11↙
{
sum=11
int sum = 0, i;
scanf("%d",&i);
scanf("%d",&i);
while(i <= 10)
do
{
{
s结um论=:sum + i;
sum = sum + i;
i++;
i++;
} (1) do—while循环语句首先执行循}环w体h,ile然(i 后<=计1算0)表; 达式并检
先执行语句,后判断条件
2. 执行过程
语句 表达式 零 非零
跳出循环
8
100
例2:用do-while型循环求: n
i=1
n1
main()
{
sumi语==is句+u1m+i
int i=1, sum=0; do
{ sum=sum+i;
零 表i<达=1式0=00??
i++; } while (i<=100);
{ s=s*n; n++; }
n = 1; s = 0; do
{s = s*n; n ++; } while(n<=100);
for语句:
for (n = 1,s = 0; n<=100; n++) s=s*n;
14
for( 循环变量赋初值; 循环条件; 循环变量增值) { 循环体语句 }
说明:
for语句中任意一个表达式均可省,但分号“;”不可省
1
复习:C语句的类型
控制语句
函数调用语句
5类
表达式语句
空语句
复合语句
2
(一)控制语句:完成一定的控制功能
1、 if() ~else 条件语句 switch() 开关语句
2、 for()~ 循环语句 while()~循环语句 do ~while();循环语句
3、 break 间断语句 continue 继续语句
真(非0)
执行流程:
循环体
表达式3 C语言中的for语句使用最为灵活,不仅可以用于循环次 数已经确定的情况,而且可以用于循环次数不确定而只 给出循环结束条件的情况,它完全可以代替while语句。
11
执行表达式1 表达式2? N Y 执行语句
执行表达式3
执行for循环之后的语句
循环初始条件
循环控制条件
{
零
sum=sum+i;
i++;
}
printf("%d",sum); 注意的:语} (句1),循累应环加该体和用如变花果量括包需弧含置括一初起个值来以0,上
以复合语累句乘形积式变出量现需.(置2)初在值循1环体
中应有使循环趋向于结束的语句
。
7
1. do-while循环语句的形式 do
循环体
while(条件表达式);
5.5
程序举例
5
1. while循环语句的形式 while(表达式) 循环语句
2. 执行过程:
先判断条件,后执行语句
零 表达式
非零 语句
跳出循环
6
100
例1:求 n n 1 i=1,sum=0
i<=100? 非零
sum=sum+i i=i+1
main()
{
in(i<=100)
4、 return 返回语句
3
例: 1+2+3 该如何实现
定义变量sum=0 sum+=1 sum+=2 sum+=3 输出sum
100
又例:y n n1 定义变量sum=0,i=1
sum+=i i++
Y
i<=100
N
结束
4
5.1
while语句
5.2
do-while语句
5.3
for语句
5.4 break语句和continue语句
for(i=1; ; i++)
for(i=1; ; i++) for(i=1; 1; i++) { if ( i>100 )
sum+=i;
sum+=i;
break;
sum+=i;
}
无限循环: for( ; ; )
非零
printf("%d",sum); }
9
运行结果:
运行结果:
【例5.3】1w↙ hile和do-while循环的比较。 1↙
sum=55
sum=55
#include 再"s运td行io一.h"次:
#include "stdio.h再"运行一次:
int main(1)1↙ {
int sumsu=m0=,0i;