C 嵌套循环

2024-03-11 14:12
文章标签 嵌套循环

本文主要是介绍C 嵌套循环,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

C 语言允许在一个循环内使用另一个循环,下面演示几个实例来说明这个概念。

语法

C 语言中 嵌套 for 循环 语句的语法:

for (initialization; condition; increment/decrement)
{statement(s);for (initialization; condition; increment/decrement){statement(s);... ... ...}... ... ...
}

流程图:
在这里插入图片描述
C 语言中 嵌套 while 循环 语句的语法:

while (condition1)
{statement(s);while (condition2){statement(s);... ... ...}... ... ...
}

流程图:
在这里插入图片描述
C 语言中 嵌套 do…while 循环 语句的语法:

do
{statement(s);do{statement(s);... ... ...}while (condition2);... ... ...
}while (condition1);

流程图:
在这里插入图片描述
关于嵌套循环有一点值得注意,您可以在任何类型的循环内嵌套其他任何类型的循环。比如,一个 for 循环可以嵌套在一个 while 循环内,反之亦然。

实例

下面的程序使用了一个嵌套的 for 循环来查找 2 到 100 中的质数:

#include <stdio.h>int main ()
{/* 局部变量定义 */int i, j;for(i=2; i<100; i++) {for(j=2; j <= (i/j); j++)if(!(i%j)) break; // 如果找到,则不是质数if(j > (i/j)) printf("%d 是质数\n", i);}return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

2 是质数
3 是质数
5 是质数
7 是质数
11 是质数
13 是质数
17 是质数
19 是质数
23 是质数
29 是质数
31 是质数
37 是质数
41 是质数
43 是质数
47 是质数
53 是质数
59 是质数
61 是质数
67 是质数
71 是质数
73 是质数
79 是质数
83 是质数
89 是质数
97 是质数
#include <stdio.h>
int main()
{int i=1,j;while (i <= 5){j=1;while (j <= i ){printf("%d ",j);j++;}printf("\n");i++;}return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
#include <stdio.h>
int main()
{int i=1,j;do{j=1;do{printf("*");j++;}while(j <= i);i++;printf("\n");}while(i <= 5);return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

*
**
***
****
*****

这篇关于C 嵌套循环的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/798018

相关文章

8、嵌套循环 - 循环中的循环 - 课件

一、嵌套循环的基本语法结构 嵌套循环是指一个循环结构内部再包含一个或多个循环结构。这种结构用于处理需要多重遍历或多重条件判断的场景。 基本语法 for (初始化表达式1; 条件表达式1; 更新表达式1) {// 外层循环代码块for (初始化表达式2; 条件表达式2; 更新表达式2) {// 内层循环代码块}// 外层循环代码块中的其他代码} 说明: 外层循环会首先执行,控制循环的主

【mysql优化 3】嵌套循环连接算法

原文地址:Nested-Loop Join Algorithms mysql在表之间执行连接操作,包括了使用循环嵌套算法或者其他在此基础上的变形。   循环嵌套连接算法: 一个简单的嵌套循环连接(NLJ:nested-loop jon)算法,每一次运用一个循环从第一个表里读取行,通过每一行去嵌套循环连接第二个表。这个过程被重复了多次,因为还有剩余的待连接的表。 假设使用以下连接类型来执行

12 程序控制语句:循环控制(while、do-while、for、多重嵌套循环、死循环)

目录 1 while 循环       1.1 基本语法 1.2 流程图 1.3 计数循环 1.3.1 实现原则 1.3.2 案例:循环输出语句 1.3.3 案例:循环输出数字 7~15 1.3.4 案例:倒序输出数字 56 ~ 43 1.3.5 案例:输出 10(包括 10)以内所有的偶数 1.3.6 案例:计算 100 以内(包括 100)所有数字的和 1.3.7 案例:

在JAVA中如何跳出当前的多重嵌套循环 break+变量控制与return

在Java中,break 关键字通常用于跳出当前的最内层循环。但是,如果你想在多层嵌套循环中跳出所有的循环,你不能直接使用 break,因为 break 只影响最近的(也就是最内层的)循环。 有几种方法可以处理这个问题: 使用变量控制: 你可以设置一个标志变量,并在需要跳出所有循环时设置它。然后,在每个循环的开始处检查这个变量。 java boolean breakAll = false

MySQL之嵌套循环【Join原理】

一、背景 从事DBA工作两年多以来,经常会遇到开发上线的SQL中含有多表关联join的查询,我自己本身也是比较抗拒的,很多DBA一般会建议开发拆分SQL,避免join带来的性能问题。但是我始终认为,任何事物存在必然有它的理由,不能全盘否定它!在5.5版本之前,MySQL只支持一种表间关联方式,也就是嵌套循环(Nested Loop)。如果关联的表数据量很大,那么join关联的时间会很长。在5.5

MySQL Join原理分析(缓冲块嵌套与索引嵌套循环)

场景假设 A表(1000条数据)left join B表(1000条数据)。 嵌套循环(Nested-Loop Join) 极简概括:顾名思义多层循环叠加,由于MySQL条数数量有限,所用for循环而不用while,在MySQL中就是多层for循环。性能问题:MySQL使用这种作为join方式最简单,A表joinB表每次join查询都需要一百万次内部关联,每次关联都需要取一条数据,进行一次I

java的嵌套循环

在java中,也有嵌套循环。 下面是一个示例代码 public class Example17qiantaoxunhuan {public static void main(String[] args) {int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++){System.out.println("*");}System.out.println("\n");}

Java基础之流程控制09 :for 嵌套循环的应用-九九乘法表

打印九九乘法表 只要打印多行多列的数据,一定用双重for循环如何打印九九乘法表?我们首先看一下下面的九九乘法表。重点!!!!!!!!外循环一个值,内循环中全部值都循环一次 我们先把第一列打印出来,如下图: 再来一层 for 循环把它包裹起来,如下图, for (int j = 1; j <= 9; j++) {for (int i = 1; i <=9; i++) {System.

C++教学——从入门到精通 11.嵌套循环及数组

上次讲到了循环,这次来讲嵌套循环 如果一个人叫你用C++来画一个10*10/2cm^2三角形会么? 这就要用到嵌套循环了 来看看结构: for(变量类型1 变量;条件1;返回值1){语句1;for(变量类型 变量2;条件2;返回值2){语句2;}语句3;} 语句1,2,3是依次执行的 来看看怎么运用到题目上   #include <iostream>using namespac

MySQL双层游标嵌套循环方法

文章目录 1、需求描述2、思路3、创建存储过程 1、需求描述 1、在项目中,需要将A表中主键id,逐个取出,作为条件,在B表中去逐一查询,将B表查询到的结果集(A表B表关系:一对多),逐一遍历,连同A表的id拼接运算,逐个插入到C表中。 2、 在Java中很容易实现,A表获取到的结果集,循环遍历取出id,去B表查询;遍历B表结果集,插入到C表中。 相当于2个循环,即可实现