
6.1循环控制结构--本章知识点6.1循环控制结构6.2 while语句6.3dowhile语句6.4逗号运算符和逗号表达式6.5for语句6.6空语句在循环中的使用6.7 1循环语句的选择6.8循环嵌套6.9break和continue语句
6.1 循环控制结构-本章知识点 6.1 循环控制结构 6.2 while语句 6.3 do while语句 6.4 逗号运算符和逗号表达式 6.5 for语句 6.6 空语句在循环中的使用 6.7 循环语句的选择 6.8 循环嵌套 6.9 break和continue语句

6.6空语句在循环中的使用一P107>空语句;例如:fori=0;i空语句的应用:占位IⅡ以后再写程序代码
➢ 空语句 ; 例如: for (i = 0; i < 10; i++) ; //空语句做循环体 ➢ 空语句的应用: 占位 //以后再写程序代码 6.6 空语句在循环中的使用—P107

6.7循环语句的选择一P108>若必须先判断再执行循环体---选while。>若必须先判断再执行循环体并且已知循环次数-选for>若至少执行一次循环一选择do一while(较少使用)
➢ 若必须先判断再执行循环体-选 while。 ➢ 若必须先判断再执行循环体并且已知循环次数 -选 for ➢ 若至少执行一次循环—选择do—while(较少使用)。 6.7 循环语句的选择—P108

6.8循环嵌套一P109在一个循环体内又包含另外一个完整的循环结构,称为循环的嵌套外层的循环称为外循环,被嵌套的循环称为内循环。内嵌的循环中还可以嵌套循环---多层循环。3种循环(while循环、do-while循环和for循环)可以相互嵌套外层循环循环嵌套的执行过程内层循环每进入一次外循环,内循环要按照赋初值、判断循环条件执行内循环体一三个过程进行,直到内循环条件不成立,再进入内层循环内层循环下一次外循环合法的嵌套循环
6.8 循环嵌套—P109 ➢ 在一个循环体内又包含另外一个完整的循环结构,称为循环的嵌套; ➢ 外层的循环称为外循环,被嵌套的循环称为内循环。 ➢ 内嵌的循环中还可以嵌套循环-多层循环。 ➢ 3种循环(while循环、do-while循环和for循环)可以相互嵌套。 外层循环 内层循环 内层循环 内层循环 合法的嵌套循环 循环嵌套的执行过程: 每进入一次外循环,内循 环要按照赋初值、判断循环条件、 执行内循环体-三个过程进行, 直到内循环条件不成立,再进入 下一次外循环

例1:对10个班级,计算每个班的《程序设计基础》的平均成绩。分析:1)外循环i=1---102)在每个外循环内S=0.0:1/每个班的成绩和内循环:要按照赋初值、判断循环条件、执行内循环体三个过程进行。j=1---30(假设每班30人)(输入第j个成绩;s=s+第j个成绩;)输出s/30一内循环结束后intij,sc,n;doubles;ll每班人数不固定1)1intij,sc;doubles;I/每班人数固定30for(i=1;=0)?scanf("%d",&sc);? s=s+sc; n++;?S=S+SC;?scanf("%d,&sc);I/班内下一个成绩?8?printf("%lfln",s/30);//每个班平均成绩Oprintf("%lfin"s/n);l/每个班平均成绩91
例1:对10个班级,计算每个班的《程序设计基础》的平均成绩。 分析: 1)外循环 i = 1-10 2)在每个外循环内 s=0.0; //每个班的成绩和 内循环:要按照赋初值、判断循环条件、执行内循环体-三个过程进行。 j =1-30(假设每班30人) { 输入第j个成绩; s=s+第j个成绩;} 输出s/30 — 内循环结束后 ① int i,j,sc; double s; //每班人数固定30 ② for (i=1;i=0) ⑥ { s=s+sc; n++; ⑦ scanf("%d",&sc); //班内下一个成绩 ⑧ } ⑨ printf("%lf\n",s/n);//每个班平均成绩 ⑩ }

合法的嵌套循环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=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 =1; i-) //外循环—控制行数 ② { for ( j = 1; j <= i; j++) //内循环-控制每行输出数字 ③ printf("%d ",j); ④ printf(“\n”); //输出第 i 行后的换行 ⑤ }

打印菱形C语言实验1174一打印菱形:金字塔---共n行(1n),第1行特点如下:-Q先输出空格个数:n-i2的个数:2*i-1?ProblemDescription换行。从键盘输入一个整数n(1≤n≤9),打印出指定的菱形0#田#0intij,n;scanf("%d,&n);Inputfor(i=1;=n;i++)上三角(1行--n行)正整数n(1≤n≤9)。for(j=1;=1;i--)/下三角(n-1行----1行)28450for(=1;j<=n-i;j++)printf("");for(=1;j<=2*i-1;j++)printf("*");*printf("In");
1174—打印菱形: 上-金字塔-共n行(1_n),第 i 行特点如下: ① 先输出空格 - 个数:n-i ② * 的个数:2*i-1 ③ 换行。 ① int i,j,n; scanf("%d",&n); ② for (i=1;i=1;i-) // 下三角(n-1行-1行) ② { ③ for (j=1;j<=n-i;j++) printf(" "); ④ for (j=1;j<=2*i-1;j++) printf("*"); ⑤ printf("\n"); ⑥ }