C++中如何控制语句只执行一次_流程控制语句和方法

52a3d36dc40d00e94a9e1033cd8b2c2b.png

一.while循环结构

流程图:

e0107042e80c5ec979871abddbafc22b.png

在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。

语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环。

语法格式:

5863f35db2e938e4d602042be5d0b390.png

代码展示:

07893ed6dcbc9861ba2b33a96b6ade23.png

运算结果为:

85a530ab7651a054631de36da415be1e.png

63fdba1b3cd3faeda4f24f06cb3e025e.png

运算结果为:

23b796a2e453f4e44485a2a487e81f6b.png

二.do--while循环结构

do-while循环结构会先执行循环体,然后再判断布尔表达式的值,若条件为真,执行循环体,当条件为假时结束循环。do-while循环的循环体至少执行一次。

流程图:

83976d02b16bec3b73ad2baa5597cd87.png

语法结构:

2519459d859737396b65a75c723557c1.png

do--while和while型的区别是一个先执行循环体再判断而while是先判断再执行循环体。

代码展示:因为do--while和while类似,比较简单,这里就将两个例子放在一起了。

7d17dc92a47dcbadcef2f88919164c92.png

运行结果

057be02111dcdb3549acc9888ff44c08.png

三.for循环结构

for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环在第一次反复之前要进行初始化,即执行初始表达式;随后,对布尔表达式进行判定,若判定结果为true,则执行循环体,否则,终止循环;最后在每一次反复的时候,进行某种形式的“步进”,即执行迭代因子。

A. 初始化部分设置循环变量的初值

B. 条件判断部分为任意布尔表达式

C. 迭代因子控制循环变量的增减

for循环在执行条件判定后,先执行的循环体部分,再执行步进。

  • for循环结构图:

ab58b9534b5bb2d0e7f61eb6d9d42248.png
  • 语法结构:

03c4a273e652a60cc495d98c10d45b4f.png

Java里能用到逗号运算符的地方屈指可数,其中一处就是for循环的控制表达式。在控制表达式的初始化和步进控制部分,我们可以使用一系列由逗号分隔的表达式,而且那些表达式均会独立执行。

  • 代码展示:

fc52844307f79a1fc9db684730c0ecac.png
  • 运算结果:

8e50e54b201a3a20ff28d805004ea31d.png

8a5ab6f6793c5d457997ab74976b8b5e.png
  • 运算结果:

166ced99f60150f52b131af3af53b23b.png

80751f3d20a831203fa71ad4278afad0.png

运算结果:

fd98c74ca5ed83424d8910bf803de002.png

71fd11784903d94c9e9a2480700dedbb.png

运算结果:

d1b1e5209931ab28dfed1e9c7abfcf2d.png

运算结果过长这里就不放全了,剩余的自行脑补。

编译器将while(true)与for(;;)看作同一回事,都指的是无限循环。并且for循环括号里三个表达式缺少任意一个都会成为死循环!!!!

在for语句的初始化部分声明的变量,其作用域为整个for循环体,不能在循环外部使用该变量。

  • 无论在初始化还是在步进部分,语句都是顺序执行的。
  • 尽管初始化部分可设置任意数量的定义,但都属于同一类型。
  • 约定:只在for语句的控制表达式中写入与循环变量初始化,条件判断和迭代因子相关的表达式。
  • 初始化部分、条件判断部分和迭代因子可以为空语句,但必须以“;”分开

三.循环的嵌套

在一个循环语句内部再嵌套一个或多个循环,称为嵌套循环。while、do-while与for循环可以任意嵌套多层。

代码展示:

1.利用循环的嵌套打印出由星号组成的三角形,这里做了多个多种方式的示例。

1011e379527f2f445dc3151f722df882.png

00ca13b2bc05c113d902b2aade3ffa29.png

运算结果:

78dda9ddbdebc3f3ebddda96a1cab6c4.png

以上是三个打印三角形的程序。

2.打印99乘法表:这里是部分代码;

0b8a290472a07768c8f61b60a5a5095c.png

运算结果:

bc5056f7da954b8d15546518a23e795a.png

这里可以通过修改d的范围来获得各种各样的乘法表:

比如说印度学习的1616乘法表

a60d26389df045c1d3f8365fc585e66a.png

运算结果:

535e0ea99403257dbee4a77107a83052.png

由于结果众多,这里就不截取全了,右边剩下的部分自行脑补0.0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值