第六章循环程序设计 本次课的主要内容 l、 while语旬 循|2、 do-while语旬 环 3、for语句 4、 break语旬与 continue语旬 5、程序举例
第六章 循环程序设计 本次课的主要内容: 1、while 语句 2、 do—while 语句 3、 for 语句 4、 break 语句与continue 语句 5、程序举例 循 环 语 句
二、循环结构 当型循环结构 直到循环结构 循环体 不成立 (一组语句) 表达式 成立 成立 表达式 循环体 不成立 (一组语句)
二 、循环结构 当型循环结构 直到循环结构 表达式 成立 循环体 (一组语句) 不成立 表达式 成立 循环体 (一组语句) 不成立
表达式要扩上,括号后 ★ while语句 没符号 ◆语法格式 while(表达式) 循环体语句 循环体一般是一个语句 ,多个语句时要用复合 语句 ◇执行流程: while 假(0 表达式 真(非0) 循环体
while语句 ❖语法格式: while(表达式) 循环体语句 ❖执行流程: 表达式 循环体 假(0) 真(非0) while 表达式要扩上,括号后 没符号 循环体一般是一个语句 ,多个语句时要用复合 语句
自己写一个求100!的程序 例用 while循环求 17 即t=1*2*3*..*100 分析:这是一个从1累加到100的求和问题,即1+2+3+.1+100 如果用顺序结构求的话,通常会想到如下语句 aino s=0;i=1; K int i,S=0 0 while(i=100 i<=100 S=S+1 1++ S+ printf( sum=%odn"S) 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 mainO char =EOF int n=o while(getchar(!=EOF) n++ printf( n=%dn", n) n++
例 统计键盘输入字符的个数, 以 Ctrl+z 为结束标志 #include main() { int n=0; while(getchar()!=EOF) n++; printf(“ n=%d\n“,n); } n=0; char !=EOF n++ =1 =0
循环体用花括号扩上 ★ do while语句 ◆语法格式 do 循环体语句 while(表达式); 注意分号 心执行流程 do 循环体 while 真(甲0)表达式一 假(0)
do~while语句 ❖语法格式: do 循环体语句 while(表达式) ; ❖执行流程: do 循环体 表达式 假(0) 真(非0) while 循环体用花括号扩上 注意分号
自己写一个求100!的程序 100 例用do~ while循环求>n 即t=1*2*3*..*100 半Ch65c* #include 1=I: sum=0 main( int isum=0 sum=sumf1 do sum 1+ )while(i<=100) 真(非0) i<=100 printf( sum=%/od", 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
例 while和do~ while比较 ch5 4. c*/ #include #include maino mainO i int i, sum=0 K int i,sum=0 Scanf(' %d, &i) 行情况 scanf("d", &i) 行情况 go um=55 while(i=10) um=55 {Sum+=1; i sum+=i sum=0 1++; 1+十: B while(K<=10) printf("sum%d", sum); printf(" 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]) 循环体语句 心执行流程 f 表达式1 循环体一般是一个 表达式 假(0) 语句,多个的话用 真(非0) 复合语句 循环体 表达式3
for语句 ❖语法格式: for([表达式1] ;[表达式2] ;[表达式3]) 循环体语句 ❖执行流程: 表达式2 循环体 假(0) 真(非0) for 表达式1 表达式3 循环体一般是一个 语句,多个的话用 复合语句
自己写一个求100!的程序 例用for循环求∑n 即t=1*2*3*..*100 n=1 #include /表达式1* maino while(i<=100)/表达式2* sum+ int isum=o 1+ /表达式3 for(i=1;i<=100;i++) sum+=1 printf("%od"sum) for语句最简单的语法格式可以写为 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