合法的嵌套循环while()(3)while()(2) do(1)3dodowhile( while();while();fwhile();(4)for( )注意:外循环do(1)内、外循环的循环控制变量不能同名。1内循环(2)内循环应完全置于外循环内whileO内外循环不能交叉。whileO内循环
(1) while( ) { . while() { . } . } (2) do { . do { . }while( ); . }while( ); (3) while( ) { . do { . }while( ); . } (4) for( ) { . do { . }while(); . while() { . } . } 外循环 内循环 内循环 合法的嵌套循环: 注意: (1) 内、外循环的循环控制变量不能同名。 (2) 内循环应完全置于外循环内 - 内外循环不能交叉
常用的循环嵌套---二重循环---注意如下:明确外循环要实现的目标、循环次数明确内循环要实现的目标,循环次数。3建立内外循环之间的联系:每个变量初始化在外循环内?外?为什么??????
常用的循环嵌套-二重循环-注意如下: ① 明确外循环要实现的目标、循环次数。 ② 明确内循环要实现的目标,循环次数。 ③ 建立内外循环之间的联系: 每个变量初始化在外循环内?外? 为什么??????
结构化程序设计方法:自顶向下, 逐步求精例6.10思路***循环5次,每次输出一行。*****输出第i行:输出*,共2*i-1个星号一重复。****************一级算法:①for(i=1;i<=5;i++)二级算法:输出第i行②l12for(j=1;j<=2*i-1;j++)3输出第i行;printf("*);1/输出一个*换行;?}
结构化程序设计方法:自顶向下,逐步求精 ◼ 思路 ◆ 循环5次,每次输出一行。 ◆ 输出第 i 行:输出 *,共 2*i-1 个星号—重复。 一级算法: ① for (i=1;i<=5;i++) ② { ③ 输出第i行; ④ 换行; ⑤ } 二级算法:输出第 i 行 ① for (j=1;j<=2*i-1;j++) ② printf("*"); //输出一个*; ◼ 例6.10
>分析:■例6.10--1A、上半区:共5行一外循环i=1一5第i行输出1每行输完换行2① int ij;3?②for(i=1;i<=5;i++)Ⅱ外循环一控制行数234一?for(j=1;j<=i;j++)l/内循环--控制每行输出数字3245④printf("%d",j);?I输出第i行后的换行234printf("In");5?7342B、下半区:123共5行一外循环i=5---112第1行输出1—每行输完换行人1Ⅱ外循环一控制行数for (i= 5; i>=1; i--)②【for(j=1;j<=i;j++)I/内循环--控制每行输出数字printf("%d ",j);④I输出第i行后的换行printf("In");5
◼例6.10-1 ➢分析: A、上半区: 共5行—外循环 i =1—5 第 i 行 输出1—i 每行输完换行 ① int i,j; ② for ( i = 1; i <= 5; i++) //外循环—控制行数 ③ { for ( j = 1; j <= i; j++) //内循环-控制每行输出数字 ④ printf("%d ",j); ⑤ printf(“\n”); //输出第 i 行后的换行 ⑥ } B、下半区: 共5行—外循环 i =5-1 第 i 行 输出1—i 每行输完换行 ① for ( i = 5; i >=1; i-) //外循环—控制行数 ② { for ( j = 1; j <= i; j++) //内循环-控制每行输出数字 ③ printf("%d ",j); ④ printf(“\n”); //输出第 i 行后的换行 ⑤ }