文档详情

控制结构循环控制.ppt

发布:2019-07-16约1.32万字共65页下载文档
文本预览下载声明
* 案例设计目的:利用断点调试演示二重循环的执行过程 * 案例设计目的:利用断点调试演示二重循环的执行过程 * 示例2的内外层循环条件都是常数,示例3再进一步,内层循环条件受外层循环变量的控制 * * * 用已经准备好的代码演示结果,不需要现场敲代码。 案例设计意图:二重循环中的continue语句 * 强调只对continue或break所在的循环有影响,不影响外层循环 * * * * 二重循环验证案例 * 二重循环验证案例 * 小结 在控制台打印出如下图案: 提示:使用二重循环 * 小结 求出所有的水仙花数:一个三位数,其中各位数的立方和恰好等于该数本身,如: 153=13+53+33 打印九九乘法表 * * * * * * * * * * * * * * * * * * 1)讲语法,有三个表达式,分别用来做什么 2)讲执行顺序,对应着引例讲 3)讲代码规范 * * * * * * * * * * * * 案例设计目的:利用断点调试演示二重循环的执行过程 * for循环常见问题5-2 . p83-86 for(int i=0;;i++){ printf (这是 %d,i); } 编译正确,但是缺少 循环条件,造成死循环 for(int i=0;i10;){ printf (这是 %d,i); } i++; 省略表达式3,在循环体内应设法改 变循环变量的值以结束循环 编译通过,但是循环变量的值无变化,造成死循环 * for循环常见问题5-3 . p83-86 for(;;){ printf (这是测试); } 表达式全省略,无条件判断,循环变量无改变, 应在循环体内设法结束循环,否则会造成死循环 死循环 * for循环常见问题5-4 . p83-86 [总结] for语句3个表达式均可以省略,但”;”不能省 1.省略初始化表达式。需在循环之外给循环变量赋值 i=1; for(;i=100;i++) sum += i; 2.省略增量表达式。循环体内改变循环控制变量,否 则容易造成死循环 for(i=1;i=100;) { sum += i; ++i; } * for循环常见问题5-5 . p83-86 3.省略所有三个表达式。此时应在循环体内相应位置 i=1; for(;;) { if(i=100) sum += i; else break; //强制终止循环 i++; } 4. for中的表达式1、表达式3可为逗号表达式。 for(i=0,j=1;jnin;i++,i++) { … } 5.for循环体可以是一条空语句,实现延时功能 for(i=0;i1000;i++) ; * 练习 【课堂练习】 改错题。阅读下面的程序,求1~100的奇数和,指出其中的错误,并改正。 #include stdio.h int main() { int i,sum; for(i=1 ; i=100 ; i++ ) ; sum=sum+i; printf(“%d”,sum); return 0; } sum=0; (去掉分号) i+=2 * 小结 求1~100之间不能被3整除的数之和 (使用for循环结构) * 百万富翁和陌生人,陌生人,每天十万元,百万富翁第一天一分钱,第二天二分钱,每天是前一天的两倍。求30天后双方互给多少钱 练习 * 练习 以下程序的功能是计算:s=1+12+123+1234+12345.请填空. main() { int t=0,s=0,i; for(i=1;i=5;i++) { t=i+( ); s=s+t; } printf(“s=%d\n”,s); } t*10 * 为什么需要break语句.p88-89 int i = 2; switch(i){ case 1: printf (星期一); break; case 2: printf (星期二); break; } //其他语句 遇到break,立即跳出switch语句 回顾break用于switch语句 描述4000米长跑比赛 for (int i = 0; i10; i++) { 跑400米; } if(不能坚持)
显示全部
相似文档