自学内容网 自学内容网

P3-4.【结构化程序设计】第四节——知识要点:break、continue和goto辅助循环设计语句

知识要点:break、continue和goto辅助循环设计语句

视频:

P3-4.1.【结构化程序设计】第四节——知识要点:break、continue和goto辅助循环设计语句

P3-4.2.【结构化程序设计】第四节——知识要点:break、continue和goto辅助循环设计语句

 

目录

一、任务分析

二、必备知识与理论

三、任务实施


一、任务分析

苹果2.5元1个,橘子0.6元1个,香蕉0.8元1个, 100元买苹果、橘子和香蕉共100个,每种水果各买多少?

基本思路为:假设apple、orange和banana分别代表苹果、橘子和香蕉的数量,则有:

       apple+orange+banana=100

       2.5*apple+0.6*orange+banana*0.8=100

有3个未知数,只有两个方程,要解决此类问题,可用穷举的方法。

二、必备知识与理论

1. 循环的嵌套

一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。

【例3.8】打印九九乘法表。程序代码如下:

#include <stdio.h>

   main( )

   {  int  i,j;

      for(i=1;i<=9;i++)

      { for(j=1;j<=i;j++)

          printf("%d×%d=%-3d",i,j,i*j);

        printf("\n");}

   }

运行结果:

1×1=1  

2×1=2  2×2=4

3×1=3  3×2=6   3×3=9    

4×1=4  4×2=8   4×3=12  4×4=16

5×1=5  5×2=10  5×3=15  5×4=20  5×5=25

6×1=6  6×2=12  6×3=18  6×4=24  6×5=30 6×6=36

7×1=7  7×2=14  7×3=21  7×4=28  7×5=35 7×6=42 7×7=49

8×1=8  8×2=16  8×3=24  8×4=32  8×5=40 8×6=48 8×7=56 8×8=64

9×1=9  9×2=18  9×3=27  9×4=36  9×5=45 9×6=54 9×7=63 9×8=72 9×9=81

【例3.9】输出下边的图形。

分析:

(1)确定输出行数。

(2)确定每行输出的字符个数。

(3)确定图形每行第一个字符输出的位置,即输出多少个空格。

(4)此图形可看作两个三角形的合成,也可看作一个菱形。下面的程序按一个菱形输出。

程序代码如下:

#include <stdio.h>

#include <math.h>

main()

{ int i,j;

  for(i=-3;i<=3;i++)         /* 图形由7行组成 */

  { for(j=1;j<=abs(i)+1;j++) /* 每行前面输出的空格数 */

    printf(" ");    

    for(j=1;j<=7-2*abs(i);j++)/*图形中每行的字符个数与行号i有关*/

    printf("*");

    printf("\n");   }         /* 每行后换行 */

 }

2.break语句

在前面介绍switch结构中已经使用过break语句,实际上,break语句还可以用来从循环体内跳出循环体,即提前结束循环。

break语句的一般形式为:break;

功能:当break用于switch语句中时,可使程序跳出switch而执行switch以后的语句;当break语句用于while、do…while和for循环语句中时,可使程序终止本层循环而执行循环后面的语句。

3.continue语句

continue语句的作用是结束本次循环,即跳过循环体中下面尚未执行的语句,直接进行下一次是否执行循环的判断。

continue语句的一般形式为:

continue;

4. goto语句

goto语句是一种无条件转移语句,它与if语句配合使用可以构成循环结构。一般形式为:

goto 语句标号;

其中“语句标号”是一个有效的标识符(这个标识符加上冒号“:”出现在某条语句前,用于标识程序中某个语句的位置)。

使用goto语句时应注意以下两个问题:

(1)goto语句虽然也可以构成循环结构,但在结构化程序设计中,不提倡使用goto语句,因为滥用goto语句将使程序流程无规律,可读性差。因此在编写程序时应尽量避免使用goto语句。

(2)goto语句主要有两个用途:一是与if语句一起构成循环结构,二是从循环体内跳到循环体外,一般不宜采用,只有在不得已时才使用。

三、任务实施

现在来完成本节任务。假设apple、orange和banana分别代表苹果、橘子和香蕉的数量,则有:       apple+orange+banana=100

       2.5*apple+0.6*orange+banana*0.8=100

分析:(1)每种水果的数量在1到100之间,苹果2.5元一个,100元最多买40个。

(2)若apple和orange各取一个值,则:banana=100-apple-orange。

程序代码如下:

#include <stdio.h>

main()

{ int apple,orange,banana,m,n;

printf("请输入购买数量,钱数:");

scanf("%d,%d",&n,&m);

  printf("%s\t%s\t%s\n","apple","orange","banana");

  apple=1;

  while(apple<40)

    { orange=1;

       while(orange<100)

         { banana=n-apple-orange;

           if(2.5*apple+0.6*orange+banana*0.8==m)

                printf("%d\t%d\t%d\n",apple,orange,banana);

            orange=orange+1; }

       apple=apple+1; }

 }

外循环变量apple每取一个值,内循环变量orange都要从1取到100,内循环体中的语句if(2.5*apple+0.6*orange+banana*0.8==100)共执行40*100次。


原文地址:https://blog.csdn.net/m0_61712829/article/details/143807313

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!