第五章课后反思题
一、本章重点、难点
重点:三种循环结构语句的使用(for语句;while语句;do-while语句);
熟悉各循环语句的使用条件,三种进行异同点的对比;
break和continue语句的使用与区别;
难点:循环结构的嵌套(通过“*”输出一系列的图案);
二、课内反思:
本章内容的学习,学习了三种循环的结构;
break是直接跳出,而continue是提前进入下一个循环;
for语句中结构要注意for(<>;<>;<>),初始表达式与条件表达式与循环变量之间是用“;”连接;
三、课后反思题
第一个图案:
代码:
#include<stdio.h> main() { int i,j,k; for(i=1;i<=5;i++)//表示前面五行 ; { for(j=1;j<=(5-i);j++) printf(" ");//每行的空格数 ; for(k=1;k<=(2*i-1);k++) printf("*");//每行的*数 ; printf("\n"); } int n=7; for(i=1;i<=4;i++)//表示前面四行 ; { for(j=1;j<=i;j++) printf(" "); for(k=i;k<=n-i+1;k++) printf("*"); printf("\n"); } }
第二个图案:
代码:
#include<stdio.h> main () { int i,j,k; for(i=1;i<=5;i++) { for(j=1;j<=(2*i-1);j++) printf("*"); for(k=1;k<=(9-j);k++) printf(" "); printf("\n"); } for(i=1;i<=4;i++) { for(j=1;j<=(9-2*i);j++) printf("*"); for(k=1;k<=(2*i);k++) printf(" "); printf("\n"); } }
第三个图案:
代码:
#include<stdio.h> main () { int i,j,k; for(i=1;i<=5;i++) { for(j=1;j<=(9-2*i+1);j++) printf(" "); for(k=1;k<=(2*i-1);k++) printf("*"); printf("\n"); } for(i=1;i<=4;i++) { for(j=1;j<=(2*i);j++) printf(" "); for(k=1;k<=(9-2*i);k++) printf("*"); printf("\n"); } }
第四个图案:
代码:
#include<stdio.h> main () { int i,j,k; for(i=1;i<=5;i++) { for(k=1;k<=(i-1);k++) printf(" "); for(j=1;j<=((5-i)*2+1);j++) printf("*"); printf("\n"); } for(i=1;i<=4;i++) { for(j=1;j<=(4-i);j++) printf(" "); for(k=1;k<=(2*i+1);k++) printf("*"); printf("\n"); } }
思路:先整体看观察到图案都是对称的,且从左至右难度依次增加,所以我从一个开始做:
该图案9行,我把它分成了两部分即上五行,下四行;先写整体的行数,在确定每一行的空
格、*与行数之间的数量关系,写出表达式,同理下面四行也是如此;后面的图形以此类推,
只是空格与*的数量,顺序(数量的表达式)不同而已。