文档详情

C 控制结构.ppt

发布:2017-06-10约2.58万字共106页下载文档
文本预览下载声明
第三章 控制结构 if-else的匹配规则:缺省{}时,else总是和它上面离它最近的未配对的if配对 #include stdio.h void main() { int n,p,s,i; n=1,s=0; while(n=100) { p=1; for(i=1;i=n;i++) p=p*n; //计算n! s+=p; //计算n!的累加 n++; } printf(1!+2!+…+100!=%d,s); } 【例】 :编写程序,求1!+2!+…+100! 循环的嵌套 //非嵌套程序 void main( ) { int n,s=0, p=1; for(n=1,n=100;n++) { p=p*n; //计算n! s=s+p; //计算和 } printf(“%d”,s); } 循环的嵌套 【例】:按序输入10个学生4门课程的成绩,计算每个学生的平均成绩并输出 #include stdio.h void main() { int i,j; float score,sum=0,avg; for(i=0;i10;i++) { sum=0; for(j=0;j4;j++) { scanf(“%f”,score); sum+=score; } //求每个学生的总成绩 avg=sum/4; printf(“No.%d:%.2f”,i,avg); } } 循环的嵌套 练一练: 1.main() { int i,j,m=0,n=0; for(i=0;i2;i++) for(j=0;j2;j++) if(ji) m=1; n++; printf(“%d\n”,n); } 输出结果为:____________ 1 2.main ( ) { int i,b,k=0 ; ???for (i=1; i=5 ; i++) { ???????b=i%2; ???????while (b--==0) k++ ; ???} ???printf(“%d,%d”,k,b); } 输出结果为:________ 2,0 //循环结构与分支结构的嵌套 #include stdio.h void main() { int i; for(i=1;i=50;i++) { if(i%2==0){ printf(“%d\t”,i); //控制每行仅输出五个偶数 if(i%10==0) printf(“\n”); } }} 【例】:输出1到50之间的所有偶数,并控制每行输出五个偶数。 运行结果: 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 循环的嵌套 在嵌套的各层循环体中,一般应使用复合语句,保证逻辑上 的正确性。 嵌套循环的内层和外层的循环控制变量不应同名,以免造成 混淆。 循环嵌套不能交叉,即一个循环体内必须完整地包含另一个 循环。正确的嵌套形式: 嵌套的循环要注意正确使用“缩进”格式来明确嵌套循环的层 次关系,以增强程序的可读性。 循环的嵌套 注意 goto语句 continue语句 break语句 流程的转移控制语句 goto语句为无条件转移语句,它的一般形式为:   goto Label; //Label为合法的标识符   ……   Label:语句; //标号后必须有冒号 作用:无条件地转到标号所指示的语句去执行程序。但goto 语句只能在一个函数内部跳转 两种用途: 与if语句一起构成循环结构。 跳出循环体或跳出多层循环(不能由循环外部向循环内部 跳转) goto 标号; goto语句 goto语句 【例】:求s=1+2+3+…+100的和 #include stdio.h void main() { int n=
显示全部
相似文档