经过上一周周的c语言学习循环语言学习,我们小组初步的认识c语言中循环语言。但在有些程序中需要在循环语言中执行

循环语言,这种循环称之为嵌套循环(或者多重循环)。

本次的总结我主要分为以下三点:

1.认识使用循环语句;

2.判定循环体,决定使用哪种循环语句;

3.理清循环控制条件

 

1.认识使用循环语句:c语言中提供了3种循环语句(for语句,while语句和do-while语句)

(1)for语句:for(表达式1; 表达式2; 表达式3){   

        语句块

          }

  它的运行过程为:
1) 先执行“表达式1”。

2) 再执行“表达式2”,如果它的值为真(非0),则执行循环体,否则结束循环。

3) 执行完循环体后再执行“表达式3”。

4) 重复执行步骤 2) 和 3),直到“表达式2”的值为假,就结束循环。

上面的步骤中,2) 和 3) 是一次循环,会重复执行,for 语句的主要作用就是不断执行步骤 2) 和 3)。

 

 所以使用for语句最明显的特征是,事先给定了循环次数。

(2)while语句: while(表达式){
            语句块
        }

while语句会先计算“表达式”的值,当值为真(非0)时, 执行“语句块”;执行完“语句块”,再次计算表达式的值,

如果为真,继续执行“语句块”……这个过程会一直重复,直到表达式的值为假(0),就退出循环,执行 while 后面的代码。

“表达式”称为循环条件,把“语句块”称为循环体,整个循环的过程就是不停判断循环条件、并执行循环体代码的过程。

while 循环的整体思路是这样的:设置一个带有变量的循环条件,也即一个带有变量的表达式;在循环体中额外添加一条语句,让它能够改变循环条件中变量的值。

随着循环的不断执行,循环条件中变量的值也会不断变化,终有一个时刻,循环条件不再成立,整个循环就结束了。

如果表达是为“1”,即表达式一直为真,while 循环会一直执行下去,永不结束,成为“死循环”,运行程序,会不停地执行“语句块”,直到用户强制关闭。

 所以使用while语句最明显的特征是,确定了循环的条件。
 
(3)do -while语句: do{
              语句块
           }while(表达式)

do-while循环与while循环的不同在于:它会先执行“语句块”,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while 循环至少要执行一次“语句块”。
2.判定循环体,决定使用哪种循环语句:判断出哪些操作需要反复执行
以打印菱形图案为例

 

 仔细观察,不能发现,我们输入的“n”是控制菱形大小规模的,是给定次数的,且与打印的“空格”和“* ”都存在一定的联系,

所以我们决定此程序需要使用for语句。

3)理清循环控制条件:这些操作在什么样的情况下重复执行

 

   这个题目是用嵌套的循环可以构成一个平面图案,且与行和列有关,用 i 控制行, j 控制列。用一个外循环来打印行,此题目需要我们打印一个菱形图案,
可以将图案分为上下两个部分,并对上下两个部分的图行进行仔细分析,找出一行中空格和 * 号的数量规律。

以输出的样例为题目,总共由7行,先分析第一行到第四行的规律:第一行:6个空格,一个* ;6=7-(2*1-1) 。第二行:4个空格,3个* ;4=7-(2*2-1) 。

第三行:2个空格,5个* ;2=7-(2*3-1) 。 第四行:0个空格,7个* ; 0=7-(2*4-1) 。因此,可以找出列号(j)和行号(i)、空格之间的关系:j<=n-2*i+1;

列号(j)和行号(i)、* 号之间的关系:j<=2*i-1。
分析图形的下半部分,第5行到第六行,可以再用一个for循环来控制,外循环的i从     n-(n+1)/2开始,这里需要注意的地方是每一行图形的数量是依次减少的,

空格的数量是依次增加的,同样找出图形的规律,用循环的嵌套将此图形实现。

 

 

 

 

结语:这种循环嵌套的程序,一定要分析好循环条件与循环体丶内循环和外循环之间的关联。

 

 
 
 
 
 
 
 
 
 

原文地址:http://www.cnblogs.com/jmbreak/p/16796077.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性