文档详情

C语言程序设计PPT课件第六章.ppt

发布:2017-04-15约4.28千字共37页下载文档
文本预览下载声明
第六章 循环控制 ;§6.1 概述 ;§6.2 goto语句;[例6.1] 用if语句和goto语句构成循环, 求 。;§6.3 while语句;[例6.2] 流程图: ;[例6.3]从任意 n 个实数中选出最大数和最小数;[例6.4]任意输入两个正整数,求它们的最大公约数。;§6.4 do-while语句 ;[例6.5] 用do-while语句求 。 main() { int i,sum=0; i = 1; do { sum = sum + i; i++; } while (i=100); printf(%d,sum); } 注意: 1、上面的流程图中循环条件是“当i≤100时循环”, N-S图中的条件是“循环直到i100”,这两者是等同的。 2、一般情况下,同一个问题,既可以用while循环处理, 也可以用do-while循环处理。 ;[例6.6]从键盘上输入一个整数,判断其是几位数。;求e的近似值。; §6.5 for语句; for (i=1;i=100;i++) sum = sum + i; 这里,循环条件由变量i设定,变量i称为“循环变量”。 这是for语句的典型用法:已知循环次数。(本例100次)。 ;注:for循环中,表达式1仅求解一次;执行循环体后才求解表达式3。先判断后执行。 例、用for语句;几点说明 for语句中的表达式1:可以给循环变量赋初值,亦可以是与循环变量无关的其它表达式, 甚至表达式1可以省略。若省略,则应在for语句前对循环变量赋初值。注意,表达式1省略时,其后的分号不能省略。此处的分号不是语句的一部分,而是表达式的分隔符。在for语句中的表达式中可以使用逗号表达式,故不用逗号分隔表达式。;例:sum=0; for(i=1;i=100;i++) sum+=i; 或:i=1; for(sum=0;i=100;i++) sum+=i; 或:for(i=1,sum=0;i=100;i++) sum+=i; 或:i=1; sum=0; for( ; i=100;i++) sum+=i;;2. 关于表达式3:可以用来改变循环变量的值, 也可以是与循环变量的无关的其它表达式,甚至可将循环体中的语句放在表达式3的位置上。表达式3也可以省略,程序设计者必 须保证循环能正常结束。 例:i=0; for(sum=0;i100; sum+=i) i++; 或:sum=0; for(i=1;i=100; sum+=i,i++); 或: sum=0; for(i=1; i=100;) {sum+=i; i++;};3. 表达式1与表达式3可以同时省略,只有表达 式2,即只给出循环条件。;4. 关于表达式2:作为循环的判断条件,一 般为关系表达式或逻辑表达式,但亦可以 是数值表达式或字符表达式。 例、sum=0; for(i=1; i=100; i++) sum+=i; 或:sum=0; for(i=100; i; i--) sum+=i;;5. 表达式2也可以省略,此时,系统不再判断循 环条件,认为表达式2的值始终为真。即循环 条件始终成立。循环将出现死循环,程序设 计者必须设法保证循环能正常结束。 例、sum=0; for(i=1; ;i++) sum+=i; 或:sum=0; i=1; for( ; ; ) sum+=i; 此为死循环。;[例6.8]求s=1!+2!+3!+…+n! , 其中n小于30。;[例6.9]求Fibonacci数列的前40项。每行输出4项。;[例6.10]求Fibonacci数列的前40项。每行输出4项。;§6.6 循环的嵌套;(3) (4) for ( ; ; ) while() {┆
显示全部
相似文档