
知识回顾1.三种循环控制语句循环语句forwhiledo...while前测循环前测循环后测循环
知 识 回 顾 1.三种循环控制语句

知识回顾(1)while语句(2)for语句/*for语句格式*/*while语句格式*for(exprl; expr2; expr3)while(expression)ss(3)do...while语句I*do...wrhile语句格式*doSwhile(expression):
知 识 回 顾 (1)while语句 (2)for语句 (3)do.while语句 /*for语句格式 */ for(expr1; expr2; expr3) s

问题引出有些问题单靠一次重复执行还不够,比如9×9乘法表1*1=011*2=022*2=041*3=032*3=063*3=091*4=042*4=083*4=-124*4=161*5-052*5=103*5=154*5-205*5-251*6=066*6-362*6=123*6-184*6-245*6-301*7=072*7=143*7=214*7=285*7=356*7=427*7=491*8-082*8=163*8-244*8=325*8-406*8=487*8=568*8=641*9-092*9-183*9274*9=365*9-456*9=547*9=638*9=729*9=81这个问题可以理解为:要重复打印9行式子,这显然是一种重复而在每一行的输出中,本身又要输出多个式子,又是重复这种重复中含重复的问题就是今天要研究的第一个问题循环的嵌套
问 题 引 出 有些问题单靠一次重复执行还不够,比如9×9乘法表 1*1=01 1*2=02 2*2=04 1*3=03 2*3=06 3*3=09 1*4=04 2*4=08 3*4=12 4*4=16 1*5=05 2*5=10 3*5=15 4*5=20 5*5=25 1*6=06 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=07 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=08 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=09 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 这个问题可以理解为: 要重复打印9行式子,这显然是一种重复 而在每一行的输出中,本身又要输出多个式子,又是重复 这种重复中含重复的问题就是今天要研究的第一个问题 循环的嵌套

问题引出三种循环语句中,循环的结束都是由条件表达式决定的可是在有的时候,我们需要人为地控制循环结束这是本次课要研究的第二个问题break和continue语句
问 题 引 出 三种循环语句中,循环的结束都是由条件表达式决定的 可是在有的时候,我们需要人为地控制循环结束 这是本次课要研究的第二个问题break和continue语句

主要内容BB4.5循环的嵌套4.6break与continue语句小结目的要求复习思考题上机与编程实践独立作业
主 要 内 容 4.5 循环的嵌套 4.6 break与continue语句 目的要求 复习思考题 上机与编程实践 独立作业 小 结

4.5循环的嵌套1.循环嵌套与执行情况一个循环的循环体包含另一个循环结构(1)循环的嵌套指(2)循环形成了一个层次关系,嵌套几次就叫几重循环*while循环的三层嵌套结构*外层循环第1层while(expr1)一内层循环while(expr2)第2层最内层循环第3层while(expr3)$382S1
4.5 循环的嵌套 1.循环嵌套与执行情况 (1)循环的嵌套指一个循环的循环体包含另一个循环结构 (2)循环形成了一个层次关系,嵌套几次就叫几重循环

(3)在实际应用中用的最多的是双重循环(4)嵌套的执行情况(教材第99页)int i;int j;int k;for (i=1;i<=3;i++)[for(j=1;j<=3; j++)printf("#");printf("n"):
(3)在实际应用中用的最多的是双重循环 (4)嵌套的执行情况(教材第99页)

表4-2双重for循环的执行过程i的值j的值运行结果外层for循环内层for循环第1次11#第2次12##第1次第3次13####printf("n"):林林21第1次####22第2次##第2次###第3次2###林###printf("n"):#林#1第1次####林第2次32#####第3次##第3次3林###林林###printf("n"):###

2.使用循环的情况(1)凡是与累加、累乘相关的问题肯定要使用循环①求输入H个数的和或平均值要累加。int x,i;float sum =0;float aver;for(i= l;i<=N;i++)scanf(“%d",&x);/*累加处理*/sum += x;子aver=sum/N;
(1)凡是与累加、累乘相关的问题肯定要使用循环 2.使用循环的情况

②求某个范围内的整数的和或平均值要累加。int i;float sum=ofloat aver;/*求1~100之间奇数数的和*/for(i=1;i<=100:i+=2)sum += i;/*求1000以内能被3和7同时整除的自然数的和*,for(i=1:i<=1000:i++)ifi%3==0i%7==0)sum + = i;