注:参考网络资源拟制,如雷同请见谅
循环的嵌套:
一个循环体语句中又包含另一个循环语句,称为循环嵌套。
嵌套注意事项:
1.使用循环嵌套时,内层循环和外层循环的循环控制变量不能相同。
2.循环嵌套结构的书写,最好采用“右缩进”格式,以体现循环层次的关系。
3.尽量避免太多和太深的循环嵌套结构
用途:
循环嵌套可以帮助我们解决很多问题,在C语言中经常被用于按行列方式输出数据,例如:

////////////////
// 九九乘法表
///////////////
#include <stdio.h>
#define ROWS 9
int main()
{
int i, j;
for ( i = ; i <= ROWS; ++i ) // 外循环控制输出行数
{
for ( j = ; j <= i; ++j ) // 内循环控制输出列数
{
printf("%d ", i * j); // 输出乘积
}
printf("\n"); // 换行
}
return ;
}

程序说明:
本例中的外循环共循环 9 次(即一共输出九行),当 i 等于 10 时循环终止。外循环的每轮循环都会执行内循环,在外循环的每轮循环中,内循环的循环次数都不相同。因为外循环的每轮循环都会使 i 增 1,而且 j 的值也会被重新赋值为 1,而内循环的结束条件是 j <= i,且内循环的每轮循环中 j 只增加 1,所以外循环每循环一次,内循环的循环次数就增加一次:在外循环的第一轮循环,内循环的循环次数为 1;在外循环的第二轮循环,内循环的循环次数为 2;在外循环的第三轮循环,内循环的循环次数为 3……以此类推。下面是部分模拟本例的运行过程。
    1. 外循环第一轮循环
        i 的值为 1(以下简写为 i = 1),故而 i <= ROWS 成立,进入循环体:
            1). 内循环的第一轮循环
                j = 1,故而 j <= i 成立,进入循环体:
                    输出 i * j(即 1 * 1)的乘积和一个空格,即 1 。
                ++j --> j = 2,j <= i 不成立,内循环结束。
            输出 
        换行

++i --> i = 2,故而 i <= ROWS 成立,开始第二轮循环。

2. 外循环第二轮循环
            1). 内循环的第一轮循环
                j = 1,j <= i 成立,进入循环体:
                    输出 i * j ( 2 * 1 ) 和一个空格,即 2 。
                ++j --> j = 2,j <= i 仍然成立,开始第二轮循环。
            2). 内循环的第二轮循环
                    输出 i * j ( 2 * 2 ) 和一个空格,即 4 。
                ++j --> j = 3,j <= i 不成立,内循环结束。
            输出 
       换行。
        ++i --> i = 3,i <= ROWS 成立,开始第三轮循环。
至此,输出结果为:
        1 
        2 4 
外循环第三轮循环至第九轮循环从略,请自行模拟一次。

9. 外循环第九轮循环
        /* ... ... */
        ++i --> i = 10,i <= ROWS 不成立,外循环结束。

最终的输出结果为:
    1 
    2 4 
    3 6 9 
    4 8 12 16
    5 10 15 20 25
    6 12 18 24 30 36 
    7 14 21 28 35 42 49 
    8 16 24 32 40 48 56 64 
    9 18 27 36 45 54 63 72 81

 
 

C语言循环的嵌套的更多相关文章

  1. 【C语言】-循环的嵌套

    循环的嵌套:当在一个循环语句中嵌入另一个循环时,成为循环的嵌套. 循环嵌套的形式: (1)for语句中嵌入for语句: for ( ) { for ( ) { ... } } (2)for语句嵌入wh ...

  2. C语言-循环结构及break、continue

    循环结构 --1-- 结构循环 1.1 while循环 1.2 do…while循环 1.3 for循环 --2-- break和continue 2.1 break关键字 2.2 continue关 ...

  3. Go语言循环判断的使用~

    Go 语言条件语句 条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句. 下图展示了程序语言中条件语句的结 ...

  4. Go 语言循环语句

    在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句. 以下为大多编程语言循环程序的流程图: Go 语言提供了以下几种类型循环处理语句: 循环类型 描述 for 循环 重复执 ...

  5. GO语言学习(十一)Go 语言循环语句

    Go 语言提供了以下几种类型循环处理语句: 循环类型 描述 for 循环 重复执行语句块 循环嵌套 在 for 循环中嵌套一个或多个 for 循环 语法 Go语言的For循环有3中形式,只有其中的一种 ...

  6. A Pythonic Card Deck: __len__ & __getitem__ & for 循环的嵌套

    1. 列表生成式的嵌套 for 循环: 示例如下: li1 = range(1,6) li2 = list("ABC") # list("ABC") 的结果为 ...

  7. for循环的嵌套,for循环的穷举迭代

    for循环的嵌套            输入一个正整数,求阶乘的和 嵌套            Console.Write("请输入一个正整数:");            int ...

  8. 2017-2-24 C#基础 for循环的嵌套

    用几个练习题演示一下for循环的嵌套 1.打印以下图形 ★★★★★★★★★★★★★★★ namespace _2017_2_24_for循环的嵌套 { class Program { static v ...

  9. for循环中嵌套setTimeout,执行顺序和结果该如何理解?

    这两天在捣鼓作用域的问题,有的时候知识这个东西真的有点像是牵一发而动全身的感觉.在理解作用域的时候,又看到了一道经典的面试题和例子题. 那就是在for循环中嵌套setTimeout延时,想想之前面试的 ...

随机推荐

  1. 线性表之顺序存储结构(C语言动态数组实现)

    线性表的定义:N个数据元素的有限序列 线性表从存储结构上分为:顺序存储结构(数组)和 链式存储结构(链表) 顺序存储结构:是用一段连续的内存空间存储表中的数据 L=(a1,a2,a3....an) 链 ...

  2. ios7控件特性(一)

    苹果发布iOS7之后,iOS7全部采用扁平化的界面,我们的app界面在iOS7上出现了很大的改变,这包括UINavigationBar,UIButton,UIActionSheet,UITabBar等 ...

  3. 关于C51内的code,idata,xdata

    从数据存储类型来说,8051系列有片内.片外程序存储器,片内.片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code.data.xdata.idata以及根据51系列特点而设定的 ...

  4. Supporting Multiple Screens 翻译 支持各种屏幕(上)

    Supporting Multiple Screens 支持各种各样的屏幕尺寸.屏幕密度 Android runs on a variety of devices that offer differe ...

  5. 【转】Xcode 7 真机调试详细步骤

    原文网址:http://www.jianshu.com/p/fa5f90b61ad6 文/ldjhust(简书作者)原文链接:http://www.jianshu.com/p/fa5f90b61ad6 ...

  6. 转 -- MVC+EF easyui dataGrid 动态加载分页表格

    首先上javascript的代码 <script type="text/javascript"> $(function () { LoadGrid(); }) //加载 ...

  7. (转载)JavaScript中定义变量

    (转载)http://blog.163.com/xuxiaoqianhz@126/blog/static/165190577201061594421870/ JavaScript中定义变量有两种方式: ...

  8. windows下protobuf jar包的编译

    0.如果你不想手动编译生成,请直接跳到最后下载附件. 1.下载protobuf release版本:https://github.com/google/protobuf/releases,protoc ...

  9. [Git] Github上传新repository后自动合并

    原因是新repository中有个与老repository一模一样的名字为".git"的隐藏文件夹,删去后即可: 将整个工程直接复制粘贴出此错误...好蠢: Github控制项目的 ...

  10. iptables 问题