C++中如何控制语句只执行一次_C和C ++中的循环类型?

e9e2c131dc1c865e8a488680afdef22a.png

C和C ++中的循环类型?

在这篇深入的文章中,了解C和C ++中循环的类型。

编程语言中的循环是一段代码,可重复执行直到指定条件变为假。循环由两部分组成,一个语句块和一个控制循环的条件。

循环主要由三个语句组成-初始化条件,测试条件,更新条件。

例如,如果我们要打印5次“ Hello Codies ”,我们可以通过两种方式进行。编写该语句5次(#1)或使用循环来节省时间和精力(#2)。

6097231eb97459afb5a2666ad762503e.png

3a3489268e68c002abcc6ac47d04101b.png

输出:

bcab7bb5bfe53d1c13d4f1e3b6ff550e.png

在本教程中,您将学习-

1. 循环类型

2. While循环

3. 做循环

4. 对于循环

5. 嵌套循环

6. 违约声明

7. 继续声明

C / C ++中的循环类型

根据位置控制语句,循环分为两种类型:

· 入口控制回路

· 退出受控回路

入口控制的循环:在执行循环主体之前先评估条件语句。它也称为预检查或计数器控制的循环,程序员可以在该循环中知道该循环执行了多少次。计数器控制的循环通常称为定迭代,因为在循环开始执行之前已知重复次数。

退出控制的循环:在这种类型的循环中,条件语句是在执行循环主体一次后评估的,而不管测试条件是对还是错。它也被称为后检查或Sentinel控制的循环,因为程序员不完全知道循环将执行多少次。前哨控制的循环也称为无限重复。

必须正确指定控制条件,否则循环将执行无数次(无限循环)。当未指定终止条件或指定条件从未满足时,将发生无限循环。

C编程语言为我们提供了3种类型的循环,而C ++具有第4个额外的循环:

· while循环

· 循环执行

· for循环

· 嵌套循环(仅在C ++中)

这些循环的语法主要区别在于这三个语句的位置:初始化条件,测试条件,更新条件。

C / C ++中的While循环

while循环指定程序应该重复设置指令的块中,直到该条件不再成立。在不知道迭代次数的地方使用了while循环,它取决于代码块中的更新。While循环是Entry Controlled循环,广泛用于C / C ++。

WHILE循环的语法:

26b5e2ff4d02bd5bb7f5ad7b8686a4c0.png

While循环流程图。

在While循环中,如果条件为TRUE,则首先评估条件,然后执行语句块并更新条件,然后从头再返回控制,然后再次检查条件是否为真,执行相同的过程,直到给定条件变为假。一旦测试条件结果为FALSE,控制权将返回主程序。While循环是条目控制循环。

注意:如果Loop仅包含一个语句,则花括号不是必需的。虽然包括括号是一个好习惯。

以下程序说明了while循环:

54e728d85ca62889714b1bf52ee71b84.png

输出:

17d6c13c07eeb260b3e00b117e0ab495.png

上面的程序使用while循环打印一系列从1到5的数字。

让我们一步一步看看上面程序中发生了什么。

步骤1:我们已初始化变量'num = 1'。

步骤2:在条件中,我们评估的是'num'的值小于或等于5,如果'num'大于5且此条件变为False。

步骤3:现在'num = 1',我们进入比较1 <= 5的循环,结果为true,因此循环体(即'num'的值1)被打印出来。

步骤4:在此步骤中,“ num”的值增加了1,即现在为“ num = 2”。

现在,再次以“ num = 2”重复步骤3,并打印“ num”值2,类似地为3,4,5。当条件变为FALSE且循环终止时,'num'增加到6(num = 6)时,控制权返回main()函数,因为循环执行完后,程序退出并返回0,表示一切顺利。

C / C ++中的做时循环

Do-while循环while循环几乎相似,除了循环主体在评估测试条件之前执行一次。这是一个出口控制的循环。

do-while循环的基本语法如下:

8ae8bb5e5a680eb184778a9a81620bbe.png

Do – While循环流程图。

“循环执行”循环,用于无论条件如何都必须至少执行一次循环主体的情况。与while循环不同,在do-while循环中,循环主体始终至少执行一次,然后检查条件。如果条件为true,则它将再次执行循环的主体,否则,如果条件变为FALSE,控制权就退出循环到主程序。

以下程序说明了do-while循环

2b0a941354636c8816c9d59b99db4324.png

输出:

3a9c36826ad44007676a2b04552c3fe0.png

在上面的程序中,我们已初始化'num = 6'并在不涉及while条件的情况下打印了'num = 6',这将导致FALSE为6>5。在打印6之后,我们比较了结果为FALSE,从而终止了循环。

关于while和Do-while循环的重要说明:

我们可以使用多种测试条件在这两个while和do-while循环使用的二元运算符,请按照以下程序。

在while循环中使用二进制运算符的多个测试条件。

668a05d5aedf434f310582345726e7be.png

输出:

cc6e6573a1c10f98fed3d212e61b7040.png

在这里,仅当number小于等于5且小于3时才执行while循环主体。要手动编译,您需要了解Truth表。

真相表

手动编译以上程序。

d04488a7c83a9f31895850a1a99bda67.png

Do-While循环中的多个测试条件。

55dec92bca23472322b2d6a36379f4b1.png

输出:

c3fed3073bde9c93dbd90bb5e3162f2d.png

在这里,循环体执行一次,与条件无关,“ num”值减少并与while条件相比。仅当一个或两个条件都变为条件时,循环才会终止。要手动编译,您需要了解Truth表。

46244b3d06bb2847f60f1655117d6b1d.png

在C / C ++中进行循环

for循环是在C / C ++编程的更有效的环结构。甲for循环我是个重复控制结构,该结构使我们能够执行的代码段的特定次数。for循环的一般语法如下:

3540b63a9b67e80593a7a14de6d65f29.png

FOR循环流程图。

· 该变量仅在for循环中分配一次初始值。

· 条件是一个布尔表达式,用于测试和比较固定迭代的计数器(初始化值),并在条件为false时停止for循环

· 递增/递减将计数器增加(或减少)设定值。

以下程序说明了FOR循环的用法:

07f68eab3276d0763290cf9e05e925f3.png

输出:

87e501ed595531673afe16bb387d5684.png

上面的程序使用FOR循环打印0-10之间的数字序列。

步骤1。声明一个int数据类型的变量i以存储值。

第二步。在循环中,我们已初始化变量i = 1,而不是条件部分和增量部分。

第三步。在循环主体中,我们具有打印功能,可在控制台的新行上打印变量i的值。打印i = 1后i的值将增加,并变为2。现在该变量的值为2。将再次评估该条件,并且由于条件为true,因此将执行循环,并将在屏幕上打印两个。该循环将继续执行,直到变量的值变为10。此后,循环将终止,并在屏幕上显示一系列0-10。

在C / C ++中,for循环的每个部分都可以有多个条件,以逗号分隔

例如:

89a0ec1563629e6edfe654f7487edd54.png

输出:

fc1a5f0e68e8b17182b8e8ccc2f2f8f1.png

上面的循环编译没有任何错误,但是由于第二条件被认为是第一条件,所以输出是0-10,因为仅评估第一条件并将其放在一边,整个循环基于第二条件执行。

现在,如果您要同时测试这两种情况,请使用&&运算符

cbc9730824937284613f31e5ec8c49f7.png

输出:

81f8ff4788791d4e9398c9b79799c1ed.png

在FOR循环中,我们可以通过添加分号来跳过初始值分配,条件和/或增量。

例如:

8510a8db874989a6db28ecad37fa00f1.png

嵌套循环

嵌套循环意味着外循环的每次迭代都在另一个循环内循环,内循环重复其整个循环。

考虑下面的示例打印乘法表:

9d3da6ac6d776b72b784d951c73f35ee.png

输出

9a737dbc90d798c3c898f2ab39c7db0f.png

违约声明

C / C ++中break是一个循环控制语句,主要是在switch语句中,在满足所需情况后跳出switch块。BREAK还用于在循环中遇到循环时终止循环,循环迭代停止,控制权立即从循环返回到循环后的第一条语句。

句法:

56e379a8aaba4d261bffcbb2166038eb.png

基本上,break语句用于实际的实际迭代次数未知或我们希望根据某种条件终止循环的情况。

dedc9842cfeb8e19742243c6005c040f.png

输出:

5d5eca665b33efe2e26bc63522905935.png

继续声明

Continue语句与BREAK语句类似,相反,只要遇到continue语句而不是终止循环,它就会强制循环执行下一个迭代并跳过当前迭代。

例如:

b1c28adc82706a778c7c5b25f91c50d3.png

输出:

79ae65074bae14bd3573de38d1b2d331.png

因此,将跳过值5。

说明

考虑上述情况,您需要编写一个将数字从10打印到0而不是5的程序。我们在这里所做的是,我们运行了一个从10到0的循环,每次我们必须比较迭代器'n'的值时等于5。如果n等于5,则执行以强制循环执行的continue语句继续执行下一个迭代而不打印5。

如果发现任何不正确或任何错误,请发表评论。

私信有详细资料赠送哦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值