关键词:
练手篇:
刚刚开始练手循环结构,肯定柿子要挑软的捏。于是我拿了第一个,开始练手之旅。
按照老师开始讲的例题,我一开始先想的是这个图形应该可以分成两部分来考虑比较简单。第一部分为i<=4,第二部分为i<=5。然后考虑的是行,列之间的关系第一部分分成空格和*,所以先考虑输出空格的数量关系,空格数为4,3,2,1,所以for应该写j=1;j<=5-i;j++,其次考虑*的数量关系1,3,5,7所以for应该写k=1;k<=2*i-1;k++。然后考虑第二部分的for就很简单了空格为j=1;j<=i;j++,*应该写j=1;j<=11-2*i;j++。
#include<stdio.h> main() int i,j,k; for (i=1;i<=4;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++) //空格的起始值应该是0 printf(" "); for (j=1;j<=11-2*i;j++) printf("*"); printf(" ");
待我仔细一看,不对啊,出了问题,第四行的代码上了一个空格,所以我灵机一动,把空格的代码改了,由j=1;j<=5-i;j++改成了j=1;j<=6-i;j++。
果然没错,要让第四行输出一个空格。感觉应该没错了,但是我发现了一个硬伤,好像第5行又多了一个空格所以图形显得如此相像。我才感觉我的图片有点怪怪的。所以问题应该不仅是那个应该是第二次的代码空格的起始值应该是0。所以最终代码应该为
#include<stdio.h> main() int i,j,k; for (i=1;i<=4;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=0;j<=i-2;j++) printf(" "); for (j=1;j<=11-2*i;j++) printf("*"); printf(" ");
总结
重难点:
for语句、while语句和do while语句和if语句和goto语句组合的循环。
1.for语句一般形式:
for(<初始表达式>;<条件表达式>;<循环变量表达式>)
<循环体语句>
2.while语句的一般形式:
while(<条件表达式>)
循环语句
循环变量表达式
3.do-while语句的一般形式:
do
<循环体语句>
while(<条件表达式>);
4.break与continue的作用与区别:
break语句既可用于switch语句结构,又可用于循环语句结构,其作用是跳出控制结构语句。而continue语句不会中止循环,而是在<循环语句体>没有执行完的情况下,结束当前循环,提前进入下一个循环。
break语句和continue语句都会破坏程序的结构化,使程序变成非结构化的程序,在解决问题时应该尽量避免使用这两种语句。
5.循环结构的嵌套:一种循环结构里包含另一种循环结构。使用嵌套结构时要注意嵌套的层次,不能交叉,嵌套的内外循环不能使用同名的循环变量,并列结构的内外循环允许使用同名的循环变量。
感觉自己还是太年轻了,开始以为解决了第一个错误,却在错误的道路上越走越远。for语句中的起始值很重要,你要想好到底是从0开始还是从1开始,从1开始和从0开始是两种不同的写法,比如我的错误改法有两种,第一种是i=0;j<=i-2;j++第二种是i=1;j<=i-1;j++。然后是行列关系表达式,最后是循环语句规范书写。我觉得这是我循环结构中的总结的反思,保持对c的敬畏,好好学c,好好学循环。
第五章循环结构课后反思(代码片段)
循环结构课后反思本章的重难点有:for语句、while语句和do_while语句。在章末的八个图型包含了本章学习的基本语句的应用,在此我选了三个图形进行解析。第一个图形下面是其代码#include<stdio.h>main()inti,j,k,n=8;for(i=1;i<=5;i++)... 查看详情
第五章循环结构课后反思(代码片段)
本章重点、难点:一、for语句1、for语句的一般形式:for(;;)2、for语句的重要特征可以省略,但需保留(;),同时在for之前必须给循环控制变量控制变量赋值,形式为:;for(;;)一般不能省略,否则为无限循环。3个表达式均省略,... 查看详情
第五章循环结构课后反思(代码片段)
图案一:1#include<stdio.h>2main()34inti,j,k;5for(i=1;i<=5;i++)67for(j=i;j<5;j++)8printf("");9for(k=1;k<=(2*i-1);k++)10printf("*");11printf("");1213for(i=1;i<=5;i++)1415for(j=1;j<(i+1);j++)16printf("");17for(k=1;k<=(9-2*i);k++)18printf("*");19printf("");2021 这个图... 查看详情
第五章循环结构课后反思(代码片段)
正确代码:;j<5;j++)printf("");for(k=1;k<=(2*i-1);k++)printf("*");printf("");for(i=1;i<=4;i++)for(j=1;j<=i;j++)printf("");for(j=1;j<=(9-2*i);j++)printf("*");printf("");运行结果:错误代码:#include<stdio.h>main()inti,j,k;for(i=1;i<=5;i++)for(j=1;j<5;j++)printf... 查看详情
第五章循环结构课后反思(代码片段)
include<stdio.h>intmain()inta,b,c,d,e,f;for(a=1;a<=5;a++)for(b=1;b<=5-a;b++)printf("");for(c=1;c<=(2a-1);c++)printf("");printf("");for(d=1;d<=4;d++)for(e=1;e<=d;e++)printf("");for(f=1;f<=9-2*d;f++)printf("*");printf("&quo... 查看详情
第五章循环结构反思(代码片段)
练手篇: 刚刚开始练手循环结构,肯定柿子要挑软的捏。于是我拿了第一个,开始练手之旅。 按照老师开始讲的例题,我一开始先想的是这个图形应该可以分成两部分来考虑比较简单。第一部分为i<=4,第二部分... 查看详情
第五章循环结构课后反思(代码片段)
首先先看图案的行列,图案为9行11列。然后图案可分为三个部分。1、2、3、第一部分的三角形较简单,不过需要注意输出的空格数量(为使图案与书本一致,要通过增加空格使星号间距增大)。在增加星号间距的同时,还要注意... 查看详情
第五章循环结构(代码片段)
顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,,就需要使用循环结构。(一)Java中三种主要的循环结构:while循环do…while循环for循环:在Java5中引入了一种主要用于数组的增强型for循... 查看详情
第五章循环结构课后反思
#include<stdio.h>main() inta,b,c,d,e,f; for(a=1;a<=5;a++) for(b=1;b<=(5-a);b++) printf(""); for(c=1;c<=(2*a-1);c++) printf("*"); printf(""); for(d=1;d<=5;d++) for(e=1;e<=d;e++) printf(""); for(f=d;f<=(8-d);f++) printf("*"); printf(""); 根据前面例... 查看详情
第五章:循环结构
第五章:循环结构(一)1.什么是循环结构在日常生活中,会有很多需要反复执行的事情,比如:每一年的4个季节,每一周的7天,每日的3餐,打印机每份文档打印50份,一圈跑道400米跑3圈,都是在反复执行的。2.如何使用while循... 查看详情
第五章循环结构
第五章 循环结构英语新识:while 循环 do 执行 index 牵引 bug 错误 debug 调试equal 相等 step 步骤 error 错误 结构框... 查看详情
第五章循环结构
循环结构:循环结构不是无休止进行的,满足一定条件的时候才会继续,称为"循环条件".循环条件不满足的时候,循环退出;循环结构是反复进行相同的或类似的一系列操作,称为循环结构.while循环结构 语法: &n... 查看详情
第五章循环结构
while循环结构的特点:1.循环不是无休止的,满足条件循环停止,循环条件不满足时,跳出循环2.循环结构是反复进行的一系列操作3.先判断,后执行语法while(循环条件){ 循环操作}举例//声明变量并赋初始值inti=1;while(i<=100){ ... 查看详情
数据结构:第五章学习小结(代码片段)
第五章我们主要学习了树和二叉树的定义、性质、存储结构以及部分操作还有哈夫曼树。下图是我对本章所学知识的大致总结: 在这章的代码题中,我也学到了很多,其中Listleaves这题就有很多小细节:1.boolcheck[n]=false;//定义... 查看详情
java第五章循环结构学习笔记
1.for语法: for(1参数初始化,2,条件,3,参数叠加){4.循环操作}2.break:改变程序的控制流,多用于循环中,结合条件机构和分支结构一起使用。 作用,跳出整个循环; continue:只能用于循环中,跳过循环中剩... 查看详情
数据结构第五章学习小结(代码片段)
本章学习内容:本章我们学习了一种新的数据结构,“树”结构是一类非线性数据结构。主要学习到二叉树的内容,二叉树有好几个重要的性质。刚开始学这种数据结构的时候,还是觉得比线性结构抽象很多。在后来上课... 查看详情
数据结构:第五章学习小结(代码片段)
思维导图 算法小结1.遍历算法①先序遍历(中序遍历、后序遍历与之类似)1voidPreOrderTraverse(BiTreeT)2//递归算法3if(T)//此时树非空若树空则直接结束45cout<<T->data;//访问根结点6PreOrderTraverse(T->lchild);//遍历左子树7PreOrd... 查看详情
第五章学习心得(代码片段)
第五章的中,我们学习了树和二叉树,相比前面的内容,我感觉这部分会难一点点,特别是树的存储结构,根据不同情况会有各种存储结构,如果理解不够深刻,在后面使用这个结构体来完成代码的时候就会遇到挺多麻烦的。在... 查看详情