第六章循环控制技巧.ppt
文本预览下载声明
第六章 循环控制 概述 例 输出100之内3的倍数。 #includestdio.h main() { int i; for(i=1;i=100;i++) {if(i%3!=0) continue; printf(″%4d″,i); } } 注意: 对于用goto和if语句所构成的循环,不能用break语句和continue语句来进行控制。 表达式2 …… break; …... 假(0) 真(非0) for 表达式1 表达式3 switch 表达式 语句组1 break; 语句组2 break; 语句组n break; 语句组 break; …... const 1 const 2 const n default case ? 每打印10个数,换一次行。 ? 判一个数m是否为素数的方法: 当用2, 3, …, 的整数依次去除它时均不能除 尽, 则为素数。 例 求100~200的素数 素数是不能被除1和它自身以外的其它整数整除的数 #include math.h #include stdio.h void main ( ) { int m, k, i, n=0; for (m=101; m=200; m=m+2) { if ( n%10= =0) printf(\n); k=sqrt(m); for (i=2; i=k;i++) if (m%i= =0) break; if (i=k+1) { printf(“%5d”,m); n=n+1; } } } 程序如下: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 运行结果为: 功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断 仅用于循环语句中 表达式 …… continue; …… 假(0) 真(非0) while 真(非0) do …… continue; …... 表达式 假(0) while 表达式2 …… continue; …... 假(0) 真(非0) for 表达式1 表达式3 continue语句 当i不是3的倍数时,continue跳出本次循环,转向for语句的i++处,进行下一次循环。 东华大学 通信与电子工程系 * 构成循环的语句 1.goto 2.while 3.do-while 4. for 辅助控制语句 循环的嵌套 ? 循环的本质:不断地重复某种动作。 ? 对计算机程序而言,循环必须具备两个重要因素: 1. 在一定的条件(循环条件)下,重复执行一组指令(循环体) 2. 必然出现不满足条件的情况(循环终值),使循环终止 §6.1 概述 当型循环结构 直到型循环结构 P A 假 真 当P为真 A A P 真 假 A 直到P为真 循环结构 当P条件成立时(T),反复执行A,直到P为“假”时才停止循环. 先执行A, 再判断P,若为假(F),再执行A,如此反复,直到P为F. C语言可实现循环的语句: 用goto和 if 构成循环 //不提倡 while 语句 //当型循环——先判断后执行 do ~ while 语句 //当型循环——先执行后判断 for 语句 //多功能 标号:用于定义程序中的某个位置,用标识符表示 功能:无条件转到标号所指语句 说明: 标号不能用整数表示。如 goto 40; //不合法 标号只能出现在goto所在函数内,且唯一 标号只能加在可执行语句前面 6.2 goto语句及用goto构成循环 goto语句一般格式: goto 语句标号; ….….. 标号:语句; 限制使用goto语句,因为滥用goto语句会破坏程序的结构化。 /*ch5_1.c*/ #include stdio.h void main() { int i,sum=0; i=1; loop: if(i=100)
显示全部