本章重点、难点:
第五章整个内容中重点应该是是for语句将图案表示出来和break语句及continue语句是什么时候跳出来的;难点我觉得是用for语句的方法将图案在计算机中表示出来,刚开始的时候可能听的一头雾水,但是只要了解i,j,k是什么和跟着老师的思路去每行每列去推的话还是能够看懂的。
掌握了哪些知识点
掌握的内容有for语句运用,while语句和do while语句及用于循环中的break语句和continuous语句;最后是一些循环嵌套结构。
课本案例详解:
书上108页的七个图案,前面六个来说还是比较简单的,都是大同小异的方法,弄懂第一个其他是没有问题的
1.第一个图案(我先分析的是前五行,在分析后面部分的,也还算简单。)
代码:
#include<stdio.h> main() { int i,j,k; //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(" "); } for (i=1;i<=5;i++) { for (j=1;j<=i;j++) printf(" "); for (k=1;k<=9-2*i;k++) printf("*"); printf(" "); } }
2.第七个图案(我是对整个图形分成了四部分,按照由上到下的顺序写代码,刚开始对于第三.四部分的图有点无从下手,后面发现只要把这两个图形写在同一个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(" "); } for (i=1;i<=2;i++) { for(j=1;j<=9;j++) //中间两行*号 printf(" * "); printf(" "); } for (i=1;i<=5;i++) { for(j=1; j<=(5-i);j++) // 下面左边三角形表示 printf(" * "); for(k=1;k<=(2*i-1);k++) printf(" "); for(j=1;j<=(5-i);j++) printf(" * "); //下面右边三角形的表示 printf(" "); } }
总结:虽然还是对于for语句不是很熟悉,特别是图形的时候,容易弄错j会等于1还是i,但是还是摸索出了这一类题目规律,就是你找到每行每列的规律,然后在变一些就能得出,再就是的话就是善于分解图形,找到便捷的方法解决。