文档详情

四章语句与程序控制结构.ppt

发布:2017-03-23约2.2万字共104页下载文档
文本预览下载声明
第四章 语句与程序控制结构 4.1 语句总述 4.2 顺序结构 4.3 选择结构 4.4 循环结构 4.5 程序举例 if语句 示例 if语句 示例 switch语句 示例 switch语句 示例 switch语句 示例 switch语句 示例 本 章 结 束 省略e2: 将不再进行循环条件测试,认为e2永为真; 此时循环体中应有可结束循环的处理,否则死循环。 for ( i=1; ; i++) { if (i100) break; /*控制退出循环*/ sum=sum+i; } 省略e3: 在流程中将跳过e3的求解,此时循环变量的控制可在循环体中实现。 for (sum=0, i=1 ; i=100; ) { sum=sum+i; i++; } 省略e1和 e3: 将跳过e1、e3的求解。 sum=0; i=1; sum=0; i=1; for ( ; i=100 ; ) 等价 while(i=100) { sum=sum+i; { sum=sum+i; i++; } i++; } 省略e1、e2、e3: 将搭建一个for循环的框架,在这 个框架中便可使用break语句,达到跳过某段内容的 目的。 for ( ; ; ) { ┇ if (e) break; /*单独的if不能用break*/ ┇ } 例:for(i=10; i; i--) printf(“%d,”, i); 10,9,8,7,6,5,4,3,2,1, 例:for(i=0; i=10; i=i+2) printf(“%3d”, i); printf(“\ni=%d”, i); 0 2 4 6 8 10 i=12 例:for(i=1, j=6; ij; i++, j--) printf(“%d*%d=%d\n”, i, j, i*j); 1*6=6 2*5=10 3*4=12 例:空循环构成一个延时器 long t; for(t=0; t ++t) ; 例:计算1~5的阶乘 main( ) { int i, fact; for(fact=1, i=1; i=5; i++) { fact=fact*i; printf(\t%d!=%d\n, i, fact); } } ? 1!=1 (每次循环都进行输出)) 2!=2 3!=6 4!=24 5!=120 例: 计算某班32位学生某门课的平均成绩,并输出 最高分、最低分。 main( ) { int i, score, max=0, min=100; float sum=0; for(i=1;i=32;i++) /*循环次数明确*/ { scanf(%d, score); sum=sum+score; if(scoremax) max=score; if(scoremin) min=score; } printf(average=%-8.2f\n, sum/32); printf(max=%d,min=%d\n, max, min); } 循环的嵌套 一个循环体内又包含一个完整的循环结构,称 为循环的嵌套;嵌套的层次可是双重的或多重的。 C四种形式的循环可以互相嵌套,但绝不能出现 交叉现象。 正确的循环嵌套形式: 外循环 ┇ 内循
显示全部
相似文档