第六章循环程序设计 本次课的主要内容 1、 while语旬 循|2、 do-while语旬 环 语3、for语旬 句 4、 break语旬与 continue语句 5、程序举例
第六章 循环程序设计 本次课的主要内容: 1、while 语句 2、 do—while 语句 3、 for 语句 4、 break 语句与continue 语句 5、程序举例 循 环 语 句
二、循环结构 当型循环结构 直到循环结构 循环体 不成立 组语句) 表达式 成立 成立 表达式 循环体 不成立 (一组语句)
二 、循环结构 当型循环结构 直到循环结构 表达式 成立 循环体 (一组语句) 不成立 表达式 成立 循环体 (一组语句) 不成立
表达式要扩上,括号后 ★ while语句 没符号 ↓语法格式: whl(表达式) 循环体一般是一个语句 循环体语句 ,多个语句时要用复合 语句 令执行流程: while 假( 表达式 真(非0 循环体
while语句 ❖语法格式: while(表达式) 循环体语句 ❖执行流程: 表达式 循环体 假(0) 真(非0) while 表达式要扩上,括号后 没符号 循环体一般是一个语句 ,多个语句时要用复合 语句
自己写一个求100!的程序, 例用 while循环求 即t=1*2*3**100 分析:这是一个从1累加到100的求和问题,即1+2+3+.+100 如果用顺序结构求的话,通常会想到如下语句: aint =0;i=1 int l s=0 whil(1<=100) i<=100 i s=S + S+1 printf("sum=%/dn"sS 1++
例 用 while循环求 分析: 这是一个从 1累加到100的求和问题,即1+2+3+…..+100 如果用顺序结构求的话,通常会想到如下语句: s=0; s=s+1; s=s+2; s=s+3; ……. s=s+100; s=0 ; i=1; s=s+i; i++ ; S=0 ; i=1; i<=100 s=s+i; i++; = 0 = 1 ain() { int i, s=0; i=1; while(i<=100) { s =s +i; i++; } printf(“sum=%d\n",s ); } 自己写一个求100!的程序, 即 t=1*2*3*…*100
例统计键盘输入字符的个数,以Ctrl+z为结束标志 n=0; #include main( char I=EOF It n=o while(getchar(!=EOF) n+十 n++ p rin n=yoon
例 统计键盘输入字符的个数, 以 Ctrl+z 为结束标志 #include main() { int n=0; while(getchar()!=EOF) n++; printf(“ n=%d\n“,n); } n=0; char !=EOF n++ =1 =0
循环体用花括号扩上 ★do~whle语句 ◆语法格式: 0 循环体语句 Whil(表达式); 注意分号 执行流程: 循环体 真(非0 while 表达式 假(0)
do~while语句 ❖语法格式: do 循环体语句 while(表达式) ; ❖执行流程: do 循环体 表达式 假(0) 真(非0) while 循环体用花括号扩上 注意分号
自己写一个求100!的程序, 例用do~whie循环求n 即t=1*2*3**100 体ch65c* #include =1:sum=0 main( int 1, sum=0; sum=sum+ do isum+=l 1+ }whl(<=100) 真(非0) i<=100 printf( sum=%d", sum 假(0)
例 用do~while循环求 /*ch6_5.c*/ #include main() { int i,sum=0; i=1; do { sum+=i; i++; }while(i<=100); printf(“sum=%d",sum); } i=1 ; sum=0 ; sum=sum+i i<=100 假(0) 真(非0) i=i+1 自己写一个求100!的程序, 即 t=1*2*3*…*100
例whle和do~ while比较 /*ch5 4. c*/ #include #include main main( int isum=0 k int isum=0 scan f("%od",&i); 运行情况 scan "9od",ki);行情况 ao um=55 whil(1<=10) sum=55 isum+= sum+=1 sum=11 sum=0 1++: ++ }whl(<=10); printf( sum=%d,sum) printer f( sum=%d", sum
例 while和do~while比较 /*ch5_4.c*/ #include main() { int i,sum=0; scanf("%d",&i); do { sum+=i; i++; }while(i main() { int i,sum=0; scanf("%d",&i); while(i<=10) { sum+=i; i++; } printf(“sum=%d",sum); } 运行情况: 1 sum=55 11 sum=0 运行情况: 1 sum=55 11 sum=11
★fo语句 语法格式:for(表达式:表达式2]表达式3]) 循环体语句 执行流程: for 表达式1 循环体一般是一个 假(0 <表达式 语句,多个的话用 复合语句 真(非0 循环体 表达式3
for语句 ❖语法格式: for([表达式1] ;[表达式2] ;[表达式3]) 循环体语句 ❖执行流程: 表达式2 循环体 假(0) 真(非0) for 表达式1 表达式3 循环体一般是一个 语句,多个的话用 复合语句
100 自己写一个求100!的程序, 例用f循环求∑n 即t=1*2*3**100 #include /表达式1* maine whil(1<=100)/表达式2* sumt=l int isum=0 1+ /表达式3* for(i=1;1<=100;i++) sumt=l printf( %d", sum) fo语句最简单的语法格式可以写为 for(循环变量赋初值;循环条件;循环变量增值) 循环体语句
例 用for循环求 #include main() { int i,sum=0; for(i=1; i<=100 ; i++) sum+=i; printf("%d",sum); } i=1; /* 表达式1*/ while(i<=100) /*表达式2*/ { sum+=i; i++ ; /*表达式3*/ } for语句最简单的语法格式可以写为: for(循环变量赋初值;循环条件;循环变量增值) 循环体语句 自己写一个求100!的程序, 即 t=1*2*3*…*100