C语言循环的嵌套
注:参考网络资源拟制,如雷同请见谅
循环的嵌套:
一个循环体语句中又包含另一个循环语句,称为循环嵌套。
嵌套注意事项:
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语言循环的嵌套的更多相关文章
- 【C语言】-循环的嵌套
循环的嵌套:当在一个循环语句中嵌入另一个循环时,成为循环的嵌套. 循环嵌套的形式: (1)for语句中嵌入for语句: for ( ) { for ( ) { ... } } (2)for语句嵌入wh ...
- C语言-循环结构及break、continue
循环结构 --1-- 结构循环 1.1 while循环 1.2 do…while循环 1.3 for循环 --2-- break和continue 2.1 break关键字 2.2 continue关 ...
- Go语言循环判断的使用~
Go 语言条件语句 条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句. 下图展示了程序语言中条件语句的结 ...
- Go 语言循环语句
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句. 以下为大多编程语言循环程序的流程图: Go 语言提供了以下几种类型循环处理语句: 循环类型 描述 for 循环 重复执 ...
- GO语言学习(十一)Go 语言循环语句
Go 语言提供了以下几种类型循环处理语句: 循环类型 描述 for 循环 重复执行语句块 循环嵌套 在 for 循环中嵌套一个或多个 for 循环 语法 Go语言的For循环有3中形式,只有其中的一种 ...
- A Pythonic Card Deck: __len__ & __getitem__ & for 循环的嵌套
1. 列表生成式的嵌套 for 循环: 示例如下: li1 = range(1,6) li2 = list("ABC") # list("ABC") 的结果为 ...
- for循环的嵌套,for循环的穷举迭代
for循环的嵌套 输入一个正整数,求阶乘的和 嵌套 Console.Write("请输入一个正整数:"); int ...
- 2017-2-24 C#基础 for循环的嵌套
用几个练习题演示一下for循环的嵌套 1.打印以下图形 ★★★★★★★★★★★★★★★ namespace _2017_2_24_for循环的嵌套 { class Program { static v ...
- for循环中嵌套setTimeout,执行顺序和结果该如何理解?
这两天在捣鼓作用域的问题,有的时候知识这个东西真的有点像是牵一发而动全身的感觉.在理解作用域的时候,又看到了一道经典的面试题和例子题. 那就是在for循环中嵌套setTimeout延时,想想之前面试的 ...
随机推荐
- 聊聊js运算符 ‘与(&&)’和‘ 或(||)’
一,先来几个问题,看给位能都全部答对. var objA1 = {x:1}; var objA2 = {x:2}; var resultA = objA1 && objA2; //请问 ...
- C读写配置文件
在项目开发中,经常需要读取应用配置文件的初始化参数,用于应用在启动前进行一些初始化配置.比如:Eclipse,参数项包含主题.字体大小.颜色.Jdk安装位置.自动提示等.Eclispe配置的文件格式是 ...
- windows下NGINX和PHP配合(FASTCGI)
昨天测试了TOMCAT,今天考查了NGINX. 按网上说的作,比较简单. http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.h ...
- lc面试准备:Partition List
1 题目 Given a linked list and a value x, partition it such that all nodes less than x come before nod ...
- mkfs 的使用
使用方法: [root@localhost beinan]# mkfs -t 文件系统 存储设备 注:这里的文件系统是要指定的,比如 ext3 :reiserfs :ext2 :fat32 :msd ...
- C/S结构与B/S结构的特点分析
C/S结构与B/S结构的特点分析 为了区别于传统的C/S模式,才特意将其称为B/S模式.认识到这些结构的特征,对于系统的选型而言是很关键的. 1.系统的性能 在系统的性能方面,B/S占有优势的是其异地 ...
- 【转】[WCF REST] 帮助页面与自动消息格式(JSON/XML)选择
可以说WebHttpBinding和WebHttpBehavior是整个Web HTTP编程模型最为核心的两个类型,前者主要解决消息编码问题,而余下的工作基本上落在了终结点行为WebHttpBehav ...
- 项目升级,为了热更新使用lua。
现在发行商的要求越来越变态,必须要求程序热更新,以应对上线后的bug及时调整,我们目标锁定在 ulua, slua,(也对L#感兴趣过),一开始对 ulua 很困惑,unity 的 assetstor ...
- HDOJ/HDU 2566 统计硬币(公式~遍历~)
Problem Description 假设一堆由1分.2分.5分组成的n个硬币总面值为m分,求一共有多少种可能的组合方式(某种面值的硬币可以数量可以为0). Input 输入数据第一行有一个正整数T ...
- 4种字符串匹配算法:KMP(下)
回顾:4种字符串匹配算法:BS朴素 Rabin-karp(上) 4种字符串匹配算法:有限自动机(中) 1.图解 KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R ...