文档详情

第五章--C语言多重循环语句.ppt

发布:2018-05-13约8.28千字共40页下载文档
文本预览下载声明
三、执行过程: 1.求解表达式1; 2.求解表达式2,若为非0则执行第3步;否则执行第5步; 3.执行循环体; 4.求解表达式3,然后返回第2步; 5.结束循环,执行for语句的下一语句。 例:从键盘输入正整数n,求 1+2+3+...+n。 #include stdio.h void main( ) { int i; unsigned n,sum=0; scanf(“%u”,n); for(i=1;i=n;i++) sum+=i ; printf(“1—%u sum=%d,n,sum); } #includestdio.h main( ) { unsigned n,i; long factorial=1; scanf(“%u”,n); for(i=1;i=n;++i) factorial=factorial*i; printf( “%u!=%ld”,n, factorial); } 例:从键盘输入正整数n求n! 四、for语句的功能: 当表达式2为非0时重复执行循环体。 五、使用for语句的注意事项: 1.任意表达式都可省略,但表达式后的分号必须保留: 例:求1—100之内偶数和。 main( ) { int i , sum=0; for( i=1; i100;i++ ) if( i%2==0 )sum+=i; printf(“1--100之内偶数=%d”,sum); } 省略“表达式1”时,应在for语句之前给循环变量赋初值; i=1 ; for( ; i=100 ; i++) sum+=i ; 省略“表达式2”时,编译系统默认表达式2为非0; 省略“表达式3”时,应在循环体中修改循环控制变量,以 保证循环正常结束. for( i=1 ; ; i++) sum+=i ; for( i=1 ; i=100 ; ) { sum+=i ; i++ ; } 2.表达式2可以是任何类型,其值理解为逻辑量; 3.若表达式2从一开始就为0,那么循环体一次也不执行; 4.表达式1可以包含除给循环变量赋初值之外的其他操作; 5.表达式3可以做属于循环体的操作; 6.逗号表达式的最主要的用处: 让程序员使用多个初始化表达式和多个值递增表达式, 这在for语句中表现为表达式1和表达式3都是逗号表达式。 for(i=1,j=100,sum=0;ij;i++,j--) sum+=i+j; for(i=1,sum=0;i=n; sum+=i++) ; for(i=1,sum=0;i=n; i++) sum+=i; 六、循环语句的使用要点: 1.循环体含一个以上语句时,必须以复合语句的形式出现;当循环体为空时不要掉了分号(;)。 2.注意循环控制变量的初值及其修改,以保证循环正常 执行和正常结束。 3.可以在循环体中安排使表达式变为”0”的语句,也可以 通过表达式本身实现这种控制功能。 for( i=1; i=n; i++) if(! ( i%2 ) ) sum = sum + i; for( i=1; i=n; ) { if( ! ( i%2 ) ) sum = sum + i; i++ ; } 4.应避免无限循环、永不执行的循环、执行次数不正确 的循环等情况. 5.对于嵌套的循环语句,应写成缩进对齐格式,以增加 程序结构的清晰感和美感. 当一个循环体内又包含另一个完整的循环结构时,就称 为循环的嵌套 while(条件1) { … while(条件2) { … } … } do { … do { … } while(条件2); … } while(条件1); for(表达式1;表达式2;表达式3) { … for(表达式1;表达式2;表达式3) { … } … } while(条件1) { … do { … } while(条件2); … } while(条件)
显示全部
相似文档