第五章 循环结构反思

练手篇:

  刚刚开始练手循环结构,肯定柿子要挑软的捏。于是我拿了第一个,开始练手之旅。

 

  按照老师开始讲的例题,我一开始先想的是这个图形应该可以分成两部分来考虑比较简单。第一部分为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("\n"); 

    }
    for (i=1;i<=5;i++)
    {
        for (j=1;j<=i;j++) //空格的起始值应该是0
        printf(" ");
        for (j=1;j<=11-2*i;j++)
        printf("*");
    printf("\n");
    } 

}

  待我仔细一看,不对啊,出了问题,第四行的代码上了一个空格,所以我灵机一动,把空格的代码改了,由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("\n");  

    }
    for (i=1;i<=5;i++)
    {
        for (j=0;j<=i-2;j++)
        printf(" ");
        for (j=1;j<=11-2*i;j++)
        printf("*");
        printf("\n");
    } 

}

总结

重难点:

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,好好学循环。

原文地址:https://www.cnblogs.com/zt1037054045/p/10708178.html

时间: 2024-10-14 00:38:26

第五章 循环结构反思的相关文章

第五章 循环结构

第五章  循环结构 英语新识: while  循环 do  执行 index  牵引 bug  错误 debug  调试 equal  相等 step  步骤 error  错误 结构框图: 语法新知: 一: while: int num=0; while(  i<4){ System.out.println(" "); i++; } 二: do-while: do{ System.out.println (" "); }while(!"y"

第五章 循环结构课后反思

#include <stdio.h> main() { int a,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("\n"); } for(d=1;d<=5;d++) { for(e=1;e<=d;e++) printf("

第五章 循环结构(一)

一.本章目标 理解循环的含义 会使用while循环结构 会使用do-while循环结构 会使用调试解决简单的程序错误 二.内容 1 循环结构 1.1 为什么需要循环结构 问题: 张浩Java考试成绩未达到自己的目标.为了表明自己勤奋学习的决心,他决定写一百遍"好好学习,天天向上!" 普通做法: System.out.println("第1遍写:好好学习,天天向上!"); System.out.println("第2遍写:好好学习,天天向上!");

第五章 循环结构(一)

while循环结构的特点: 1.循环不是无休止的,满足条件循环停止,循环条件不满足时,跳出循环 2.循环结构是反复进行的一系列操作 3.先判断,后执行 语法 while(循环条件){ 循环操作 } 举例 //声明变量并赋初始值 int i=1; while( i <=100 ){   //循环条件是一个表达式,它的值是boolean类型 ,即"true"或"false" System.out.println("好好学习");   //{}中

c语言第五章-循环结构I

需要多次重复执行一个或多个任务的问题考虑使用循环来解决while循环:格式:while(条件表达式){    循环体      }循环三要素:初始化.条件表达式.增量条件表达式必须是可改变的量,否则可能形成死循环while和do while的区别:while循环先判断条件是否为真,再决定是否执行循环体do while循环是先执行一次循环体,再判断当条件为假时,do while比while多执行一次循环嵌套循环:外打行,内打列只有内循环执行完毕,外循环才会执行一次循环结构的特点是,在给定条件成立时

第五章循环结构课后反思

include<stdio.h> int main() { int a,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("\n"); } for(d=1;d<=4;d++) { for(e=1;e<=d;e++) printf(" &

Java 第五章 循环结构(二)学习笔记

1.for语法: for(1参数初始化,2,条件,3,参数叠加){ 4.循环操作 } 2.break:改变程序的控制流,多用于循环中,结合条件机构和分支结构一起使用. 作用,跳出整个循环: continue:只能用于循环中,跳过循环中剩下的语句,去执行下次循环. 作用:结合当前循环,进入下一下循环: 3.while for它俩的区别是: whlie :先判断在执行. do-while:先执行在判断. for:先判断在执行 使用场景为:确认循环次数的时候. 4.使用循环步骤: 确认循环条件和循环体

C语言 第五章 循环结构

一.for 二.while 三.do while 四.continue 五.break 一.for 请在屏幕上输出1000个*号 printf("*************************...."); #include "stdio.h" void main() { int i; for(i=1;i<=1000;i++){ printf("*"); } } for(表达式A:表达式B:表达式C){要重复执行的代码块D;} 1.表达

第五章 循环和关系表达式

第五章  循环和关系表达式 5.1  for循环 5.1.1  for循环的使用 For循环的组成部分完成下面4个步骤: 1)        设置初始值: 2)        执行测试,看看循环是否应当继续运行: 3)        执行循环体: 4)        更新用于测试的值. For循环的形式如下: for (init-expresstion; test-expresstion; update-expresstion) body-statement 说明: 1)        C++将